Manual Tests Do Smell! Cataloging and Identifying Natural Language Test Smells
Elvys Soares, Manoel Aranda, Naelson Oliveira, M\'arcio Ribeiro, Rohit, Gheyi, Emerson Souza, Ivan Machado, Andr\'e Santos, Baldoino Fonseca, Rodrigo, Bonif\'acio

TL;DR
This paper introduces a catalog of eight natural language test smells in manual tests, validated through empirical analysis and NLP-based detection, improving test maintainability and reliability.
Contribution
It presents the first comprehensive catalog of test smells for manual, natural language tests, along with detection rules and an NLP tool validated in real-world systems.
Findings
Eight test smells identified in manual tests
NLP tool achieved 93.5% F-measure in detection
80.7% of test professionals agreed with the catalog
Abstract
Background: Test smells indicate potential problems in the design and implementation of automated software tests that may negatively impact test code maintainability, coverage, and reliability. When poorly described, manual tests written in natural language may suffer from related problems, which enable their analysis from the point of view of test smells. Despite the possible prejudice to manually tested software products, little is known about test smells in manual tests, which results in many open questions regarding their types, frequency, and harm to tests written in natural language. Aims: Therefore, this study aims to contribute to a catalog of test smells for manual tests. Method: We perform a two-fold empirical strategy. First, an exploratory study in manual tests of three systems: the Ubuntu Operational System, the Brazilian Electronic Voting Machine, and the User Interface of…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Software System Performance and Reliability · Software Engineering Techniques and Practices
