A Configurable Test Case Prioritization Technique for Early Fault Detection and Low Test Case Spreading - Torres, Wesley; Alves, Everton; Machado, Patrícia (Anais do Simpósio Brasileiro de Engenharia de Software (SBES), 2022)
Developers often use test suites as safety nets to avoid functionality regression. However, regression testing can be costly and time-consuming. Test case prioritization (TCP) techniques try to reduce this burden by reordering the tests of a given suite to achieve a certain testing goal. The literature presents a great number of TCP techniques. Most works evaluate the performance of TCP techniques by using the rate of test cases that fail per fault (APFD). However, other aspects can be considered when evaluating prioritization results. For instance, the ability to reduce the spreading of failing test cases (M-Spreading), since a better grouping often provides more information regarding faults. This paper proposes Additional-Spreading, a configurable test case prioritization strategy that allows testers to favor either APFD or M-Spreading. In a study with open-source projects we evidence the configuration power of Additional-Spreading and that it can provide results similar to two traditional techniques (Total and Additional) when properly configured.