Abstract

Developing test code may be a time­-consuming process that requires much effort and cost, especially when done manually. In addition, during this process, developers and testers are likely to adopt bad design choices, which may lead to introducing the so­-called test smells in the test code. As the test code with test smells size increases, these tests might become more complex, and as a consequence, much more challenging to understand and evolve them correctly. Therefore, test smells may harm the test code quality and maintenance and break the whole software testing activities. In this context, this study aims to understand whether software testing practitioners unintentionally insert test smells when they implement test code. We first carried out an expert survey to analyze the usage frequency of a set of test smells and then interviews to reach a deeper understanding of how practitioners deal with test smells. Sixty professionals participated in the survey, and fifty professionals participated in the interviews. The yielded results indicate that experienced professionals introduce test smells during their daily programming tasks, even when using their companies’ standardized practices. Additionally, tools support test development and quality improvement, but most interviewees are not aware of test smells’ concepts.

Highlights

  • Software projects, both commercial and open­source ones, commonly include a set of automated test suites as one cru­ cial support to verify software quality (Garousi and Felderer, 2016)

  • We used the survey research method to identify which programming practices respondents adopt that might insert test smells in the test code (Fig. 1 ­ Survey)

  • We applied the survey research method to investigate how the respondents commonly insert test smells in the test code when designing or implementing their software projects (Melegati and Wang, 2020)

Read more

Summary

Introduction

Both commercial and open­source ones, commonly include a set of automated test suites as one cru­ cial support to verify software quality (Garousi and Felderer, 2016). Creating test code may require high ef­ fort and cost (Wiederseiner et al, 2010; Yusifoğlu et al, 2015; Garousi and Felderer, 2016). If designed with high quality, automated testing offers bene­ fits over manual testing, such as repeatability, predictabil­ ity, and efficient test runs, requiring less effort and costs (Yusifoğlu et al, 2015; Garousi and Küçük, 2018). The presence of test smells in test code may lead to reduced quality and, conse­ quently, may not reach its expected capabilities at finding bugs while remaining understandable, maintainable, and so on (Yusifoğlu et al, 2015; Garousi and Küçük, 2018). The lit­ erature reports 196 test smell types classified in the following

Objectives
Methods
Results
Discussion
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call