Software Testing and Code Refactoring: A Survey with Practitioners
Danilo Leandro Lima, Ronnie de Souza Santos, Guilherme Pires Garcia,, Sildemir S. da Silva, Cesar Franca, Luiz Fernando Capretz

TL;DR
This survey investigates how software testing professionals approach code refactoring in automated tests, highlighting benefits like improved maintenance and performance, while also identifying barriers such as managerial disinterest.
Contribution
It provides empirical insights into the practices, benefits, and challenges of code refactoring among testing professionals in the context of automated testing.
Findings
Refactoring supports maintenance of automated tests.
Refactoring improves testing team performance.
Barriers include lack of managerial interest.
Abstract
Nowadays, software testing professionals are commonly required to develop coding skills to work on test automation. One essential skill required from those who code is the ability to implement code refactoring, a valued quality aspect of software development; however, software developers usually encounter obstacles in successfully applying this practice. In this scenario, the present study aims to explore how software testing professionals (e.g., software testers, test engineers, test analysts, and software QAs) deal with code refactoring to understand the benefits and limitations of this practice in the context of software testing. We followed the guidelines to conduct surveys in software engineering and applied three sampling techniques, namely convenience sampling, purposive sampling, and snowballing sampling, to collect data from testing professionals. We received answers from 80…
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.
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 Testing and Debugging Techniques
