Skip to main content
Log in

Test case generation based on mutations over user execution traces

  • Published:
Software Quality Journal Aims and scope Submit manuscript

Abstract

Automatic test case generation is usually based on models of the software under test. However, those models may not exist or may be outdated and so, the test case generation must resort to other artifacts. In a software maintenance context, test cases must adapt to software changes and should be improved continuously to test adequately the new versions of the software. Mutation testing is a fault-based testing technique that evaluates the quality of the tests by applying simple changes to the source code and checking afterwards if the tests are able to detects those changes. This paper presents a web testing approach in which test cases are generated from user execution traces as a way to deal with the absence of models. In addition, it applies mutation operators over those test cases to enrich the test suite. The mutation operators were designed so as to mimic possible real failures. The additional tests are analyzed, and those that generate different outcomes are kept because they exercise additional behavior of the web application under test. At the end, the overall approach is illustrated and validated in a case study.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Listing 1
Fig. 1
Fig. 2
Fig. 3

Similar content being viewed by others

Notes

  1. https://eugdpr.org/.

  2. Selenium—documentation, https://www.seleniumhq.org/docs/03webdriver.jsp.

  3. The Levenshtein Distance Algorithm: http://www.levenshtein.net/.

  4. http://www.ipvc.pt/

References

  • Almeida, S., Paiva, A.C., & Restivo, A. (2019). Mutation-based web test case generation. In International Conference on the Quality of Information and Communications Technology (pp. 339–346). Springer.

  • Barbosa, A., Paiva, A.C., & Campos, J.C. (2011). Test case generation from mutated task models. In Proceedings of the 3rd ACM SIGCHI Symposium on Engineering Interactive Computing Systems (pp. 175–184). ACM.

  • Bertolino, A. (2007). Software testing research: achievements, challenges, dreams. In Future of software engineering, 2007. FOSE ’07 (pp. 85–103). https://doi.org/10.1109/FOSE.2007.25.

  • Ferreira, S.M.A. (2019). Mutation-based web test case generation. Master’s thesis.

  • Garcia, J.E., & Paiva, A.C. (2018). Manage software requirements specification using web analytics data. In World Conference on Information Systems and Technologies (pp. 257–266). Springer.

  • Jia, Y., & Harman, M. (2010). An analysis and survey of the development of mutation testing. IEEE Transactions on Software Engineering, 37(5), 649–678.

    Article  Google Scholar 

  • Koroglu, Y., & Sen, A. (2018). TCM: Test case mutation to improve crash detection in Android. In International Conference on Fundamental Approaches to Software Engineering (pp. 264–280). Springer.

  • Mahmood, R., Mirzaei, N., & Malek, S. (2014). Evodroid: Segmented evolutionary testing of android apps. In Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering (pp. 599–609). ACM.

  • Mao, K., Harman, M., & Jia, Y. (2016). Sapienz: Multi-objective automated testing for Android applications. In Proceedings of the 25th International Symposium on Software Testing and Analysis (pp. 94–105). ACM.

  • Moreira, R.M., Paiva, A.C., Nabuco, M., & Memon, A. (2017). Pattern-based GUI testing: bridging the gap between design and quality assurance. Software Testing, Verification and Reliability, 27(3), e1629.

    Article  Google Scholar 

  • Morgado, I.C., & Paiva, A.C. (2018). Mobile GUI testing. Software Quality Journal, 26(4), 1553–1570.

    Article  Google Scholar 

  • Nabuco, M., & Paiva, A.C. (2014). Model-based test case generation for web applications. In International Conference on Computational Science and its Applications (pp. 248–262). Springer.

  • Poston, R.M., & Sexton, M.P. (1992). Evaluating and selecting testing tools. IEEE Software, 9(3), 33–42. https://doi.org/10.1109/52.136165.

    Article  Google Scholar 

  • Siavashi, F., Iqbal, J., Truscan, D., & Vain, J. (2016). Testing web services with model-based mutation. In International Conference on Software Technologies (pp. 45–67). Springer.

  • Silva, P., Paiva, A.C., Restivo, A., & Garcia, J.E. (2018). Automatic test case generation from usage information. In 2018 11Th International Conference on the Quality of Information and Communications Technology (QUATIC) (pp. 268–271). IEEE.

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ana C. R. Paiva.

Additional information

Publisher’s note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

This article belongs to the Topical Collection: Quality Management for Information Systems

Guest Editors: Mario Piattini, Ignacio García Rodríguez de Guzmán, Ricardo Pérez del Castillo

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Paiva, A.C.R., Restivo, A. & Almeida, S. Test case generation based on mutations over user execution traces. Software Qual J 28, 1173–1186 (2020). https://doi.org/10.1007/s11219-020-09503-4

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11219-020-09503-4

Keywords

Navigation