Mathematical ProgrammingEngineeringVerificationTest Data GenerationSoftware EngineeringSoftware AnalysisOperations ResearchComputational TestingTest-case PrioritizationSystems EngineeringCombinatorial OptimizationTest GenerationComputer ScienceInteger ProgrammingGenetic AlgorithmsProgram AnalysisSoftware TestingFormal MethodsTest Case DesignCombinatorial Testing WorkflowTime-aware Test-case PrioritizationFault Detection
Techniques for test-case prioritization re-order test cases to increase their rate of fault detection. When there is a fixed time budget that does not allow the execution of all the test cases, time-aware techniques for test-case prioritization may achieve a better rate of fault detection than traditional techniques for test-case prioritization. In this paper, we propose a novel approach to time-aware test-case prioritization using integer linear programming. To evaluate our approach, we performed experiments on two subject programs involving four techniques for our approach, two techniques for an approach to time-aware test-case prioritization based on genetic algorithms, and four traditional techniques for test-case prioritization. The empirical results indicate that two of our techniques outperform all the other techniques for the two subjects under the scenarios of both general and version-specific prioritization. The empirical results also indicate that some traditional techniques with lower analysis time cost for test-case prioritization may still perform competitively when the time budget is not quite tight.
35
Prioritizing test cases for regression testing
Gregg Rothermel, R.H. Untch, Chengyun Chu et al. · IEEE Transactions on Software Engineering · 2001 · 1.3K citations
Model Building in Mathematical Programming
Mike Maher, H. P. Williams · Journal of the Operational Research Society · 1979 · 1.3K citations
Is mutation an appropriate tool for testing experiments?
James H. Andrews, Lionel Briand, Yvan Labiche · 2005 · 782 citations