Corpus ID: 236493267

Developers perception on the severity of test smells: an empirical study

  title={Developers perception on the severity of test smells: an empirical study},
  author={Denivan Campos and Larissa Rocha Soares and Ivan do Carmo Machado},
Unit testing is an essential component of the software development life-cycle. A developer could easily and quickly catch and fix software faults introduced in the source code by creating and running unit tests. Despite their importance, unit tests are subject to bad design or implementation decisions, the so-called test smells. These might decrease software systems’ quality from various aspects, making it harder to understand, more complex to maintain, and more prone to errors and bugs. Many… Expand

Figures and Tables from this paper


A survey on test practitioners' awareness of test smells
Whether test professionals non-intentionally insert test smells in test code is investigated to understand whether the introduction of test smells affects the quality and maintenance of test code and may also harm the whole software testing activities. Expand
An empirical analysis of the distribution of unit test smells and their impact on software maintenance
The results show that (i) test smells are widely spread throughout the software systems studied and (ii) most of the test smells have a strong negative impact on the comprehensibility of test suites and production code. Expand
On the Relation of Test Smells to Software Code Quality
Key results of the study include: tests with smells are more change-and defect-prone, "Indirect Testing", "Eager Test", and "Assertion Roulette" are the most significant smells for change-proneness and, production code is more defect- prone when tested by smelly tests. Expand
Investigating Severity Thresholds for Test Smells
This work investigates the severity rating for four test smells and finds that current detection rules for certain test smells are considered as too strict by the developers and their newly defined severity thresholds are in line with the participants' perception of how test smells have an impact on the maintainability of a test suite. Expand
On the influence of Test Smells on Test Coverage
There is a relationship between test smells and test coverage, in which test smells may influence code coverage, and the findings might support software testers and help them understand the behavior and consequences of poorly written and designed tests. Expand
On the Diffusion of Test Smells in Automatically Generated Test Code: An Empirical Study
A large scale empirical study in order to analyze the diffusion of bad design solutions, namely test smells, in automatically generated unit test classes finds that all test smells have strong positive correlation with structural characteristics of the systems such as size or number of classes. Expand
An empirical study of automatically-generated tests from the perspective of test smells
This paper compares the tests generated by two tools with the existing unit test suite of twenty-one open-source Java projects, and analyzes the unit test code to detect the presence of nineteen types of test smells. Expand
What the Smell? An Empirical Investigation on the Distribution and Severity of Test Smells in Open Source Android Applications
This research demonstrates that test smells can be used as indicators for necessary preventive software maintenance for test suites and exploration of the relationship between test smells and technical debt proves that test smelling are a strong measurement of technical debt. Expand
On the distribution of test smells in open source Android applications: an exploratory study
This empirical study demonstrates that test smells can be used as an indicator for necessary preventive software maintenance for test suites and shows that apps tend to exhibit test smells early in their lifetime with different degrees of co-occurrences on different smell types. Expand
Assessing diffusion and perception of test smells in scala projects
Two empirical studies conducted for the combination of Scala and ScalaTest show that test smells have a low diffusion across test classes, that the most frequently occurring test smells are Lazy Test, Eager Test, and Assertion Roulette, and that many developers were able to perceive but not to identify the smells. Expand