TY - GEN
T1 - CATTO: Just-in-time Test Case Selection and Execution
AU - Amoroso D Aragona, Dario
AU - Pecorelli, Fabiano
AU - Romano, Simone
AU - Scanniello, Giuseppe
AU - Baldassarre, Maria Teresa
AU - Janes, Andrea
AU - Lenarduzzi, Valentina
PY - 2022
Y1 - 2022
N2 - Regression testing wants to prevent that errors, which have already been corrected once, creep back into a system that has been updated. A naïve approach consists of re-running the entire test suite (TS) against the changed version of the software under test (SUT). However, this might result in a time-and resource-consuming process; e.g., when dealing with large and/or complex SUTs and TSs. To avoid this problem, Test Case Selection (TCS) approaches can be used. This kind of approaches build a temporary TS comprising only those test cases (TCs) that are relevant to the changes made to the SUT, so avoiding executing unnecessary TCs. In this paper, we introduce CATTO (Commit Adaptive Tool for Test suite Optimization), a tool implementing a TCS strategy for SUTs written in Java as well as a wrapper to allow developers to use CATTO within IntelliJ IDEA and to execute CATTO just-in-time before committing changes to the repository. We conducted a preliminary evaluation of CATTO on seven open-source Java projects to evaluate the reduction of the test-suite size, the loss of fault-revealing TCs, and the loss of fault-detection capability. The results suggest that CATTO can be of help to developers when performing TCS. The video demo and the documentation of the tool is available at: https://catto-tool.github.io/
AB - Regression testing wants to prevent that errors, which have already been corrected once, creep back into a system that has been updated. A naïve approach consists of re-running the entire test suite (TS) against the changed version of the software under test (SUT). However, this might result in a time-and resource-consuming process; e.g., when dealing with large and/or complex SUTs and TSs. To avoid this problem, Test Case Selection (TCS) approaches can be used. This kind of approaches build a temporary TS comprising only those test cases (TCs) that are relevant to the changes made to the SUT, so avoiding executing unnecessary TCs. In this paper, we introduce CATTO (Commit Adaptive Tool for Test suite Optimization), a tool implementing a TCS strategy for SUTs written in Java as well as a wrapper to allow developers to use CATTO within IntelliJ IDEA and to execute CATTO just-in-time before committing changes to the repository. We conducted a preliminary evaluation of CATTO on seven open-source Java projects to evaluate the reduction of the test-suite size, the loss of fault-revealing TCs, and the loss of fault-detection capability. The results suggest that CATTO can be of help to developers when performing TCS. The video demo and the documentation of the tool is available at: https://catto-tool.github.io/
KW - Java
KW - Testing
KW - Software maintenance
KW - Creep
KW - Optimization
KW - Documentation
U2 - 10.1109/ICSME55016.2022.00059
DO - 10.1109/ICSME55016.2022.00059
M3 - Conference contribution
SN - 978-1-6654-7957-8
T3 - IEEE International Conference on Software Maintenance and Evolution
SP - 459
EP - 463
BT - 38th IEEE International Conference on Software Maintenance and Evolution (ICSME)
PB - IEEE
T2 - IEEE International Conference on Software Maintenance and Evolution
Y2 - 3 October 2022 through 7 October 2022
ER -