In computer programming, a code smell is any characteristic in the source code of a program that possibly indicates a deeper problem cite web Determining what is and is not a code smell is subjective, and varies by language, developer, and development methodology.The term was ...
Smells in software test code: A survey of knowledge in industry and academia
- Citation data:
Journal of Systems and Software, ISSN: 0164-1212, Vol: 138, Page: 52-81
- Publication Year:
- Computer Science
- Most Recent Tweet View All Tweets
As a type of anti-pattern, test smells are defined as poorly designed tests and their presence may negatively affect the quality of test suites and production code. Test smells are the subject of active discussions among practitioners and researchers, and various guidelines to handle smells are constantly offered for smell prevention, smell detection, and smell correction. Since there is a vast grey literature as well as a large body of research studies in this domain, it is not practical for practitioners and researchers to locate and synthesize such a large literature. Motivated by the above need and to find out what we, as the community, know about smells in test code, we conducted a ‘multivocal’ literature mapping (classification) on both the scientific literature and also practitioners’ grey literature. By surveying all the sources on test smells in both industry (120 sources) and academia (46 sources), 166 sources in total, our review presents the largest catalogue of test smells, along with the summary of guidelines/techniques and the tools to deal with those smells. This article aims to benefit the readers (both practitioners and researchers) by serving as an “index” to the vast body of knowledge in this important area, and by helping them develop high-quality test scripts, and minimize occurrences of test smells and their negative consequences in large test automation projects.