Abstract
Regression testing is of paramount importance to ensure that the quality of software does not suffer when code changes are implemented. However, having a large set of tests is mostly done by hand and is time-consuming. Regression tests are written to test functionality that is already implemented and thus are a prime target for automatic test generation. Mutation testing is a technique that evaluates the quality of tests by applying simple changes to source code and checking if any test detects those changes. This paper presents an approach focused on GUI Testing that takes the idea behind mutation testing and applies it, not to the source code, but the actual tests. Generated tests are then analyzed, and those that generate different outcomes are chosen. The set of initial test cases is obtained from the interactions of the actual users of the service under analysis. In the end, an evaluation of the approach is presented.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
XPath - Documentation, https://developer.mozilla.org/en-US/docs/Web/XPath.
- 2.
Selenium - Documentation, https://www.seleniumhq.org/docs/03webdriver.jsp.
References
Barbosa, A., Paiva, A.C.R., Campos, J.C.: Test case generation from mutated task models. In: Proceedings of the 3rd ACM SIGCHI Symposium on Engineering Interactive Computing Systems (EICS 2011), pp. 175–184 (2011). https://doi.org/10.1145/1996461.1996516. http://portal.acm.org/citation.cfm?doid=1996461.1996516
Garcia, J.E., Paiva, A.C.R.: Manage software requirements specification using web analytics data. In: Rocha, Á., Adeli, H., Reis, L.P., Costanzo, S. (eds.) WorldCIST 2018. AISC, vol. 746, pp. 257–266. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-77712-2_25
Highway, B.A.: Model base testing: a review. Int. J. Adv. Sci. Res. 2(3), 44–51 (2017)
Koroglu, Y., Sen, A.: TCM: test case mutation to improve crash detection in Android. In: Russo, A., Schürr, A. (eds.) FASE 2018. LNCS, vol. 10802, pp. 264–280. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-89363-1_15
Liu, C.H., Lu, C.Y., Cheng, S.J., Chang, K.Y., Hsiao, Y.C.: Capture-replay testing for Android applications (2014). https://doi.org/10.1109/IS3C.2014.293
Mahmood, R., Mirzaei, N., Malek, S.: EvoDroid: segmented evolutionary testing of Android apps. In: Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering, FSE 2014, pp. 599–609. ACM, New York (2014). https://doi.org/10.1145/2635868.2635896
Mao, K., Harman, M., Jia, Y.: Sapienz: multi-objective automated testing for Android applications. In: Proceedings of the 25th International Symposium on Software Testing and Analysis, ISSTA 2016, pp. 94–105. ACM, New York (2016). https://doi.org/10.1145/2931037.2931054
Moreira, R.M., Paiva, A.C., Nabuco, M., Memon, A.: Pattern-based GUI testing: bridging the gap between design and quality assurance. Softw. Test. Verif. Reliab. 27(3), e1629 (2017). https://doi.org/10.1002/stvr.1629
Silva, P., Paiva, A.C.R., Garcia, J.E., Restivo, A.: Automatic test case generation from usage information. In: 11th International Conference on the Quality of Information and Communications Technology (QUATIC) (2018)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
Almeida, S., Paiva, A.C.R., Restivo, A. (2019). Mutation-Based Web Test Case Generation. In: Piattini, M., Rupino da Cunha, P., García Rodríguez de Guzmán, I., Pérez-Castillo, R. (eds) Quality of Information and Communications Technology. QUATIC 2019. Communications in Computer and Information Science, vol 1010. Springer, Cham. https://doi.org/10.1007/978-3-030-29238-6_25
Download citation
DOI: https://doi.org/10.1007/978-3-030-29238-6_25
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-29237-9
Online ISBN: 978-3-030-29238-6
eBook Packages: Computer ScienceComputer Science (R0)