Dissertação
Raciocínio baseado em casos e agrupamento de dados no reuso e priorização de casos de teste de software
Fecha
2023-05-01Autor
Machado Filho, Lori Ronaldo Flores
Institución
Resumen
Reuse and prioritization of tasks play a crucial role in software testing. When these tasks
do not receive the proper attention, regression testing activities end up consuming most
of the resources and time allocated for testing in software projects. Despite the common
use of test cases in developing regression tests, these software artifacts are underutilized
(or lost) in structuring reusable software testing experiences. In this sense, this work proposes a Case-Based Reasoning and Clustering structure that uses augmented test cases
to maintain data and knowledge of concrete instances of testing problem resolution. The
structure allows for similarity-based query response in selecting and prioritizing test cases for specific testing problems. Additionally, the framework includes clustering analysis
of query results, allowing for the analysis of possible cluster structures in the formed test
suites and the consequent use of identified clusters in runtime reprioritization of test case
executions. This work details the Cases and Clusters for Tests (C2Tests) system, used in
experimental analysis of case and cluster-based reuse and prioritization methods. To validate the proposed approach, the Average Percentage of Faults Detected (APFD) metric
was adopted. The experimental results in a real-world regression test case study showed
significant increases in fault detection rates compared to manual empirical prioritization
methods by experts, thanks to the use of the proposed framework. Additionally, the approach utilizing test suites with a greater number of cases demonstrated higher effectiveness
in test case reuse and prioritization. Furthermore, the utilization of execution log records
proved effective in quickly identifying faults, resulting in average PMFD values of 70.58%, a
25.65% increase compared to empirical prioritization. These findings positively contribute
to cost-effective regression testing in software projects..