Smells in software test code: A survey of knowledge in industry and academia

Vahid Garousi*, Barış Küçük

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

37 Citations (Scopus)
757 Downloads (Pure)


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.

Original languageEnglish
Pages (from-to)52-81
Number of pages30
JournalJournal of Systems and Software
Early online date15 Dec 2017
Publication statusPublished - 01 Apr 2018
Externally publishedYes


  • Automated testing
  • Multivocal literature mapping
  • Software testing
  • Survey
  • Systematic mapping
  • Test anti-patterns
  • Test automation
  • Test scripts
  • Test smells

ASJC Scopus subject areas

  • Software
  • Information Systems
  • Hardware and Architecture

Fingerprint Dive into the research topics of 'Smells in software test code: A survey of knowledge in industry and academia'. Together they form a unique fingerprint.

Cite this