A Case and Cluster-Based Framework for Reuse and Prioritization in Software Testing - Silva, Luis Alvaro de Lima; Machado, Lori R. F.; Emmendorfer, Leonardo (Anais do Simpósio Brasileiro de Sistemas de Informação (SBSI), 2024)
Context: Machine Learning (ML) based reuse and prioritization software testing techniques allow test analysts to generate and select test artifacts so that cases with a higher priority are selected and executed earlier than those with a lower priority. Problem: Even though test cases are broadly used in developing regression tests, the problem is that these software artifacts are still underused when structuring reusable software testing experiences. Solution: This work presents a Case-Based Reasoning and Clustering framework in which augmented test case representations maintain the data and knowledge from concrete instances of testing problem-solving. Then, similarity-based query answering is explored in selecting and prioritizing test cases for given testing problems. Query results’ clustering is also developed, permitting the examination of the possible cluster structures in the formed test suites and the consequent use of the identified clusters in the run-time re-prioritization of the test case executions. IS theory: Within the General Systems Theory, we investigate ML techniques with recognized explanatory capabilities to resolve software testing problems. Methods: Experiments in a real-world software project were developed. The overall goal was to assess the case and cluster methods’ effectiveness in retesting the implemented functionalities of a new target system version. Summary of results: Results with the presented techniques show improved fault detection rates positively contributing to performing regression tests in software projects. Contributions and impact in the IS area: The C2Test framework allows test analysts to better decide which items should be retested in each new version of a target system.