Raciocínio baseado em casos e agrupamento de dados no reuso e priorização de casos de teste de software

Detalhes bibliográficos
Ano de defesa: 2023
Autor(a) principal: Machado Filho, Lori Ronaldo Flores
Orientador(a): Não Informado pela instituição
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Universidade Federal de Santa Maria
Brasil
Ciência da Computação
UFSM
Programa de Pós-Graduação em Ciência da Computação
Centro de Tecnologia
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Link de acesso: http://repositorio.ufsm.br/handle/1/29438
Resumo: 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..