A Trend Analysis of Test Smells in Python Test Code Over Commit History - Fushihara, Yuki; Aman, Hirohisa; Amasaki, Sousuke; Yokogawa, Tomoyuki; Kawahara, Minoru (Proceedings (EUROMICRO Conference on Software Engineering and Advanced Applications. Online), 2023)
Software testing is an essential activity for developing and maintaining high-quality software. Unit testing with test code (test cases) is a fundamental testing activity, and developers can test their production code whenever they create or modify the code. However, such quality assurance relies on the correctness of the test code. If a test code had a flaw, it would mislead the developers about the hidden faults and prevent early detection of the faults. This paper focuses on "test smells," which may cause test code flaws in Python programs, and analyzes their changing trends over commit history (code changes) toward better Python test code management. Through an empirical data analysis of 100 open-source projects, the paper reports the following findings: (1) a few kinds of test smells constitute the majority of smells detected in the studied projects, and (2) most kinds of smells tend to increase over commits, i.e., many test smells are likely to have remained in test code as technical debt.