Exploring Test Smells Across Programming Languages: A Systematic Mapping Study
Discuss this preprint
Start a discussion What are Sciety discussions?Listed in
This article is not in any list yet, why not save it to one of your lists.Abstract
Tests are essential for ensuring code quality in software development. However, poor implementation practices can compromise the maintainability and evolution of test code, leading to additional costs and effort. These practices, known as test smells, have been the focus of numerous studies that expanded the catalog of known test smells. Despite this progress, little attention has been given to examining test smells from the perspective of programming languages, particularly their relationship with specific languages or test frameworks. As a result, researchers and practitioners have proposed various approaches and tools to detect and refactor the same test smells across different languages. In this work, we address this gap by analyzing test smells in the literature from a programming language perspective. We conducted a systematic mapping study, gathering data from papers published up to August 2025, examining 117 papers. We identified the most prevalent languages and frameworks associated with test smells, the most common test smells in each language, refactorings for addressing test smells, datasets of test smells, the criticality of specific test smells, and a collection of tools to detect or refactor test smells for various languages and frameworks. Our results show that while many test smells have been addressed, research remains limited to a few languages and frameworks. We also found datasets and detection/refactoring tools for some languages and analyzed the criticality of frequently mentioned test smells. This study highlights the need to expand research to more languages and develop more universal solutions.