Regression testing ensures a System Under Test (SUT) still works as expected after changes to it. The simplest approach for regression testing consists of re-running the entire test suite against the changed version of the SUT. However, this might result in a time- and resource-consuming process; \eg when dealing with large and/or complex SUTs and test suits. To work around this problem, test Case Selection (TCS) strategies can be used. Such strategies seek to build a temporary test suite comprising only those test cases that are relevant to the changes made to the SUT, so avoiding executing those test cases that do not exercise the changed parts. In this paper, we introduce CATTO (Commit Adaptive Tool for Test suite Optimization) and CATTO INTELLIJ PLUGIN. The former is a tool implementing a TCS strategy for SUTs written in Java, while the latter is a wrapper to allow developers to use \toolName directly in IntelliJ. We also conducted a preliminary evaluation of CATTO on seven open-source Java SUTs in terms of reductions in test-suite size, fault-reveling test cases, and fault-detection capability. The results are promising and suggest that CATTO can be of help to developers when performing regression testing. The video demo and the documentation of the tool is available at: \url{https://catto-tool.github.io/}
翻译:回归测试最简单的回归测试方法包括重新运行整个测试套件以对抗已修改的 SUT 版本。 但是,这可能导致一个耗时和资源的过程; 当处理大型和/或复杂的 SUT 和测试套件时, 可以使用测试案例选择战略。 这种战略试图建立一个临时测试套件, 仅包含与对 SUT 的修改相关的测试案例, 从而避免执行那些不执行已修改部分的测试案例。 在本文中, 我们引入 CATTO (测试套件优化的适应工具) 和 CATTO INTELLIJ PLUGIN 。 前者是针对在爪哇写的 SUT 实施 TCS 战略的工具, 而后者则是用于让开发者直接使用IntelliJ 中的工具Name。 我们还对七种公开源JA SUT进行了初步评估, 从而避免执行那些不执行已修改部分的测试案例。 测试工具的缩略图、 测试工具的缩略图、 测试工具的缩图的缩图测试能力是: 的缩图。