2017 · 73 citations · 85 references
EngineeringComputer EngineeringQuality AssuranceQuality ControlQuality EngineeringDesign For TestabilitySoftware TestingCode CoverageTest Case GenerationTest Case PrioritizationTest CasesTest PrioritizationTest Result Prioritization
Test case prioritization (TCP) is a practical activity in software testing for exposing faults earlier. Researchers have proposed many TCP techniques to reorder test cases. Among them, coverage-based TCPs have been widely investigated. Specifically, coverage-based TCP approaches leverage coverage information between source code and test cases, i.e., static code coverage and dynamic code coverage, to schedule test cases. Existing coverage-based TCP techniques mainly focus on maximizing coverage while often do not consider the likely distribution of faults in source code. However, software faults are not often equally distributed in source code, e.g., around 80% faults are located in about 20% source code. Intuitively, test cases that cover the faulty source code should have higher priorities, since they are more likely to find faults.
85
Thomas J. McCabe · IEEE Transactions on Software Engineering · 1976 · 5.8K citations
Prioritizing test cases for regression testing
Gregg Rothermel, R.H. Untch, Chengyun Chu et al. · IEEE Transactions on Software Engineering · 2001 · 1.3K citations
Computing, Systems Engineering, Experimental Performance +11