一句话:提出集成于构建工具 Gradle 的插件 JTDog,可在开发过程中检测基于测试运行时行为的动态测试异味。
测试异味反映测试代码在可读性与可维护性上的潜在问题。常见异味多基于源码静态特征(如代码长度、复杂度),易于检测且不影响测试执行;而动态异味源于测试运行时行为,会导致对测试结果的误解,例如 rotten green tests 会让开发者在测试执行质量很差的情况下误以为测试顺利通过。为尽早发现并处理这类问题,作者实现了 Gradle 插件 JTDog,通过集成到构建工具中获得高可移植性,从而在开发流程中自动检测动态异味。评估中,作者将 JTDog 应用于 GitHub 上 150 个项目,确认其具有高可移植性,并在 55 个项目中检测出 958 个动态异味。工具已开源,并提供演示视频。
The concept of the test smell represents potential problems with the readability and maintainability of the test code. Common test smells focus on static aspects of the source code, such as code length and complexity. These are easy to detect and do not cause problems in terms of test execution. On the other hand, dynamic smells, which are based on test runtime behavior, lead to misunderstanding of the test results. For example, rotten green tests give developers the false impression that the test was passed without any problems, even though the test was poorly executed. Therefore, we should detect dynamic smells and take countermeasures as early as possible through the development. In this paper, we introduce JTDog, a Gradle plugin for dynamic smell detection. JTDog has high portability due to its integration into the build tool. We applied JTDog to 150 projects on GitHub and confirmed that the JTDog plugin has high portability. In addition, JTDog detected 958 dynamic smells in 55 projects. JT-Dog is available at https://github.com/kusumotolab/JTDog, and the demo video is available at https://youtu.be/t374HYMCavI.
DOI 原文 ·
@inproceedings{paperbot6510,
title = {JTDog: a Gradle Plugin for Dynamic Test Smell Detection},
author = {Masayuki Taniguchi and Shinsuke Matsumoto and Shinji Kusumoto},
booktitle = {ASE},
year = {2021},
doi = {10.1109/ase51524.2021.9678529}
}