Advertisement

Does Live Regression Testing Help?

  • Marek Bruchatý
  • Karol RástočnýEmail author
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 12011)

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).

Keywords

Regression testing Regression test selection Test case prioritization 

Notes

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.

References

  1. 1.
    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)CrossRefGoogle Scholar
  2. 2.
    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)Google Scholar
  3. 3.
    Biswas, S., Mall, R., Satpathy, M., Sukumaran, S.: Regression test selection techniques: a survey. Informatica 35, 289–321 (2011)Google Scholar
  4. 4.
    Elbaum, S., Malishevsky, A.G., Rothermel, G.: Test case prioritization: a family of empirical studies. IEEE Trans. SW Eng. 28(2), 159–182 (2002)CrossRefGoogle Scholar
  5. 5.
    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)Google Scholar
  6. 6.
    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)CrossRefGoogle Scholar
  7. 7.
    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)CrossRefGoogle Scholar
  8. 8.
  9. 9.
    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)CrossRefGoogle Scholar

Copyright information

© Springer Nature Switzerland AG 2020

Authors and Affiliations

  1. 1.Institute of Informatics, Information Systems and Software Engineering, Faculty of Informatics and Information TechnologiesSlovak University of Technology in BratislavaBratislavaSlovakia

Personalised recommendations