CAVALCANTE, B. É. S.; http://lattes.cnpq.br/1898238769789346; CAVALCANTE, Berg Élisson Sampaio.
Abstract:
The investiment on software quality has grown. To ensure acceptable quality in a product, one needs to determine its testability, a property that indicates the feasibility and accuracy in test results evaluation. Regression testing is an expensive technique to detect faults introduced in a previously tested code. In order to increase its cost-effectiveness, test case prioritization techniques may be used. One of the proeminent techniques is based on changes, called Changed Blocks. According to previous studies, this technique presents limitations, such as: i. Test Cases (TCs) with significant impact on the final result end up in undesired positions in the queue; ii. TCs with same number of covered changes are randomly ordered, without following a specific rule; iii. TCs revealing undetected changes, with low coverage are disadvantaged. This work proposes techniques to improve Changed Blocks by grouping multiple changes in a version of the system under test, with no losses in technical benefits. Several metrics were used as follow: i. APFD ; ii. F-measure ; iii. F-spreading; iv. Group-measure; v. Group-spreading;and vi. Execution Time. We carried out an experimental study to evaluate the efficacy of the proposed techniques using a variety of mutant versions of four open sources Java projects. The results indicate the proposed techniques performed better in the contexts they intend to improve, while presenting no statistically significant loss in contexts common to the original Change Blocks technique.