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
Similar content being viewed by others
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)