Abstract
Automated testing is important for validating the behavior of programs with complex user interfaces, such as web applications. In the enterprise context, web applications are popular client-server programs that provide rendered web pages as a user front-end, and the business logic is typically implemented on the server-side. In this paper, we present an approach to automatically generate test cases for component-based user interfaces for web applications built on the Java EE platform. We generate a sequence of user actions to navigate through the web application. For each supported user action, we gather constraints from the view template describing the web page (e.g. a button must be enabled in order to be clicked by a user), as well as constraints that are introduced while executing a server-side component. We have implemented our approach in a tool to determine its practical use in an experiment.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
https://javaee.github.io/javaserverfaces-spec/, accessed March 2018.
- 2.
The application issue-tracker is available as open-source on a public repository [5].
References
Anand, S., Burke, E.K., Chen, T.Y., Clark, J., Cohen, M.B., Grieskamp, W., Harman, M., Harrold, M.J., Mcminn, P., Bertolino, A., et al.: An orchestrated survey of methodologies for automated software test case generation. J. Syst. Softw. 86(8), 1978–2001 (2013)
Arcuri, A., Fraser, G.: Java enterprise edition support in search-based JUnit test generation. In: Sarro, F., Deb, K. (eds.) SSBSE 2016. LNCS, vol. 9962, pp. 3–17. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-47106-8_1
Diakopoulos, N., Cass, S.: Interactive: the top programming languages 2016. IEEE Spectr. (2016). http://spectrum.ieee.org/static/interactive-the-top-programming-languages-2016
EclipseLink: Comprehensive open-source Java persistence solution addressing relational, XML, and database web services. The Eclipse Foundation (2018). http://www.eclipse.org/eclipselink/
Fuchs, A.: WWU WebApp GitHub Repository. WWU Münster (2018). https://github.com/wwu-pi/webapp
Fuchs, A., Kuchen, H.: Unit testing of database-driven Java enterprise edition applications. In: Gabmeyer, S., Johnsen, E.B. (eds.) TAP 2017. LNCS, vol. 10375, pp. 59–76. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-61467-0_4
Fuchs, A., Kuchen, H.: Test-case generation for web-service clients. In: Proceedings of the Symposium on Applied Computing. ACM (2018, accepted)
Hibernate: Your relational data. Objectively. Redhat (2018). http://hibernate.org/orm/
Jensen, C.S., Prasad, M.R., Møller, A.: Automated testing with targeted event sequence generation. In: Proceedings of the 2013 International Symposium on Software Testing and Analysis, pp. 67–77. ACM (2013)
JUnit: JUnit 5. JUnit Team (2018). https://junit.org/junit5/
Mirshokraie, S.: Effective test generation and adequacy assessment for JavaScript-based web applications. In: Proceedings of the 2014 International Symposium on Software Testing and Analysis, pp. 453–456. ACM (2014)
Myers, G.J., Sandler, C., Badgett, T.: The Art of Software Testing. Wiley, Hoboken (2011)
Parr, T.: The Definitive ANTLR 4 Reference. Pragmatic Bookshelf, Raleigh (2013)
Prud’homme, C., Fages, J.G., Lorca, X.: Choco Documentation. TASC, INRIA Rennes, LINA CNRS UMR 6241, COSLING S.A.S. (2016). http://www.choco-solver.org
Selenium: Selenium - Web Browser Automation. Selenium (2018). https://www.seleniumhq.org/
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer International Publishing AG, part of Springer Nature
About this paper
Cite this paper
Fuchs, A. (2018). Automated Test Case Generation for Java EE Based Web Applications. In: Dubois, C., Wolff, B. (eds) Tests and Proofs. TAP 2018. Lecture Notes in Computer Science(), vol 10889. Springer, Cham. https://doi.org/10.1007/978-3-319-92994-1_10
Download citation
DOI: https://doi.org/10.1007/978-3-319-92994-1_10
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-92993-4
Online ISBN: 978-3-319-92994-1
eBook Packages: Computer ScienceComputer Science (R0)