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.




Similar content being viewed by others
Notes
Selenium—documentation, https://www.seleniumhq.org/docs/03webdriver.jsp.
The Levenshtein Distance Algorithm: http://www.levenshtein.net/.
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.
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.
Morgado, I.C., & Paiva, A.C. (2018). Mobile GUI testing. Software Quality Journal, 26(4), 1553–1570.
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.
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.
Author information
Authors and Affiliations
Corresponding author
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
About this article
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
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11219-020-09503-4