Detalhes bibliográficos
Ano de defesa: |
2024 |
Autor(a) principal: |
Mori, Allan Victor |
Orientador(a): |
Não Informado pela instituição |
Banca de defesa: |
Não Informado pela instituição |
Tipo de documento: |
Tese
|
Tipo de acesso: |
Acesso aberto |
Idioma: |
eng |
Instituição de defesa: |
Biblioteca Digitais de Teses e Dissertações da USP
|
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: |
https://www.teses.usp.br/teses/disponiveis/55/55134/tde-28112024-143829/
|
Resumo: |
Regression testing is a software engineering maintenance activity that involves re-executing test cases on a modified software system to check whether code changes expose the existing faults. However, it can be time-consuming and resource-intensive, especially for large systems. Regression testing selection techniques can help manage this issue by selecting a subset of test cases to run. The Change Based technique selects a subset of the existing test cases and verifies modified classes. Besides reducing the test suite, this technique may reduce the capability of revealing faults. From this perspective, code smells are known to identify poor design and software quality issues. Some works have explored the association between smells and faults with some promising results. Inspired by these results, we propose combining code change and smell to select regression tests and present eight techniques. Additionally, we developed the Regression Testing Selection Tool (RTST) to automate the selection process using these techniques. We empirically evaluated the approach in Defects4J projects by comparing the new techniques effectiveness with classic regression selection techniques. The results show that the Change and Smell Intersection Based technique achieves the highest reduction rate in the test suite size but with less class coverage. On the other hand, Change and Smell Firewall technique achieves the lowest test suite size reduction with the highest fault detection effectiveness test cases, suggesting the combination of smells and changed classes can potentially find more bugs. The Smell Based technique provides a comparable class coverage to the code change and smell approach. Our findings indicate opportunities for improving the effectiveness of regression testing and highlight that software quality should be a concern throughout the software evolution. |