A survey on test practitioners' awareness of test smells

by   Nildo Silva Junior, et al.

Developing test code may be a time-consuming task that usually requires much effort and cost, especially when it is done manually. Besides, during this process, developers and testers are likely to adopt bad design choices, which may lead to the introduction of the so-called test smells in test code. Test smells are bad solutions to either implement or design test code. As the test code with test smells increases in size, these tests might become more complex, and as a consequence, much harder to understand and evolve correctly. Therefore, test smells may have a negative impact on the quality and maintenance of test code and may also harm the whole software testing activities. In this context, this study aims to understand whether test professionals non-intentionally insert test smells. We carried out an expert survey to analyze the usage frequency of a set of test smells. Sixty professionals from different companies participated in the survey. We selected 14 widely studied smells from the literature, which are also implemented in existing test smell detection tools. The yielded results indicate that experienced professionals introduce test smells during their daily programming tasks, even when they are using standardized practices from their companies, and not only for their personal assumptions. Another relevant evidence was that developers' professional experience can not be considered as a root-cause for the insertion of test smells in test code.


page 1

page 2

page 3

page 4


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

Unit testing is an essential component of the software development life-...

Do the Test Smells Assertion Roulette and Eager Test Impact Students' Troubleshooting and Debugging Capabilities?

To ensure the quality of a software system, developers perform an activi...

A Survey on How Test Flakiness Affects Developers and What Support They Need To Address It

Non-deterministically passing and failing test cases, so-called flaky te...

Hearing the voice of experts: Unveiling Stack Exchange communities' knowledge of test smells

Refactorings are transformations to improve the code design without chan...

How do Developers Test Android Applications?

Enabling fully automated testing of mobile applications has recently bec...

To What Extent Cognitive-Driven Development Improves Code Readability?

Cognitive-Driven Development (CDD) is a coding design technique that aim...

Are There Functionally Similar Code Clones in Practice?

Having similar code fragments, also called clones, in software systems c...

Please sign up or login with your details

Forgot password? Click here to reset