Abstract
Regression testing is an expensive, yet crucial part of the software development process. As regression test suites grow in size, the time required for their execution increases proportionally, and their execution is often either delegated to a specialized testing environment out of developers reach, or they are omitted completely. This could have a variety of negative effects on the developers’ productivity, including interruptions and slowdown of developers’ workflow. We propose a method of live regression unit testing to address these issues via incorporating Regression Test Selection and Test Case Prioritization techniques and an automatized change detection mechanism to run the regression testing in the background automatically. By combining the test results with source code changes and code coverage information, we are able to precisely identify source code changes responsible for test failures. By the paired two-sample t-test we proved, that our method is able to increase the speed of fault detection and to fix changes responsible for incorrect behaviour almost 2 times (p-value = 0.001, \(\alpha \) = 0.05).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Ansari, A., Khan, A., Khan, A., Mukadam, K.: Optimized regression test using test case prioritization. Procedia Comput. Sci. 79, 152–160 (2016). Proceedings of Int, p. 2016. Conf. on Communication, Computing and Virtualization (ICCCV)
Beszédes, A., Gergely, T., Schrettner, L., Jász, J., Langó, L., Gyimóthy, T.: Code coverage-based regression test selection and prioritization in Webkit. In: 2012 28th IEEE International Conference on SW Maintenance (ICSM), pp. 46–55 (2012)
Biswas, S., Mall, R., Satpathy, M., Sukumaran, S.: Regression test selection techniques: a survey. Informatica 35, 289–321 (2011)
Elbaum, S., Malishevsky, A.G., Rothermel, G.: Test case prioritization: a family of empirical studies. IEEE Trans. SW Eng. 28(2), 159–182 (2002)
Elbaum, S., Rothermel, G., Penix, J.: Techniques for improving regression testing in continuous integration development environments. In: Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of SW Engineering, FSE 2014, pp. 235–245. ACM, New York (2014)
Kandil, P., Moussa, S., Badr, N.: Cluster-based test cases prioritization and selection technique for agile regression testing. J. Softw. Evol. Process 29(6), 19 (2017)
Kazmi, R., Jawawi, D.N.A., Mohamad, R., Ghani, I.: Effective regression test case selection: a systematic literature review. ACM Comput. Surv. 50(2), 29:1–29:32 (2017)
NCSS, LLC: Paired t-test (2019). https://ncss-wpengine.netdna-ssl.com/wp-content/themes/ncss/pdf/Procedures/NCSS/Paired_T-Test.pdf. Accessed 27 Aug 2019
Rothermel, G., Untch, R.H., Chu, C., Harrold, M.J.: Prioritizing test cases for regression testing. IEEE Trans. SW Eng. 27(10), 929–948 (2001)
Acknowledgements
This work was partially supported by the Slovak Research and Development Agency under the contract No. APVV-15-0508, and by the Scientific Grant Agency of the Slovak Republic, grant No. VG 1/0759/19.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
Cite this paper
Bruchatý, M., Rástočný, K. (2020). Does Live Regression Testing Help?. In: Chatzigeorgiou, A., et al. SOFSEM 2020: Theory and Practice of Computer Science. SOFSEM 2020. Lecture Notes in Computer Science(), vol 12011. Springer, Cham. https://doi.org/10.1007/978-3-030-38919-2_59
Download citation
DOI: https://doi.org/10.1007/978-3-030-38919-2_59
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-38918-5
Online ISBN: 978-3-030-38919-2
eBook Packages: Computer ScienceComputer Science (R0)