[en] Many di fferent techniques and tools for automated unit test
generation target the Java programming languages due to its popular-
ity. However, a lot of Java's popularity is due to its usage to develop
enterprise applications with frameworks such as Java Enterprise Edition
(JEE) or Spring. These frameworks pose challenges to the automatic gen-
eration of JUnit tests. In particular, code units (\beans") are handled by
external web containers (e.g., WildFly and GlassFish). Without consid-
ering how web containers initialize these beans, automatically generated
unit tests would not represent valid scenarios and would be of little use.
For example, common issues of bean initialization are dependency in-
jection, database connection, and JNDI bean lookup. In this paper, we
extend the EvoSuite search-based JUnit test generation tool to provide
initial support for JEE applications. Experiments on 247 classes (the
JBoss EAP tutorial examples) reveal an increase in code coverage, and
demonstrate that our techniques prevent the generation of useless tests
(e.g., tests where dependencies are not injected).
Disciplines :
Sciences informatiques
Auteur, co-auteur :
ARCURI, Andrea; University of Luxembourg > Interdisciplinary Centre for Security, Reliability and Trust (SNT)
Fraser, Gordon
Co-auteurs externes :
yes
Langue du document :
Anglais
Titre :
Java Enterprise Edition Support in Search-Based JUnit Test Generation
Date de publication/diffusion :
2016
Nom de la manifestation :
Symposium on Search-Based Software Engineering (SSBSE)
Lieu de la manifestation :
Raleigh, Etats-Unis
Date de la manifestation :
8-10 October 2016
Titre de l'ouvrage principal :
Java Enterprise Edition Support in Search-Based JUnit Test Generation
Arcuri, A., Briand, L.: A hitchhiker’s guide to statistical tests for assessing randomized algorithms in software engineering. Softw. Test. Verification Reliab. 24(3), 219-250 (2014)
Arcuri, A., Fraser, G.: Parameter tuning or default values? An empirical investigation in search-based software engineering. Empirical Softw. Eng. 18(3), 594-623 (2013)
Arcuri, A., Fraser, G., Galeotti, J.P.: Automated unit test generation for classes with environment dependencies. In: IEEE/ACMInternational Conference on Automated Software Engineering (ASE), pp. 79-90 (2014)
Arcuri, A., Fraser, G., Galeotti, J.P.: Generating TCP/UDP network data for automated unit test generation. In: ACM SIGSOFT International Symposium on the Foundations of Software Engineering (FSE), pp. 155-165. ACM (2015)
Collberg, C., Proebsting, T.A.: Repeatability in computer systems research. Commun. ACM 59(3), 62-69 (2016)
Emmi, M., Majumdar, R., Sen, K.: Dynamic test input generation for database applications. In: Proceedings of the 2007 International Symposium on Software Testing and Analysis, pp. 151-162. ACM (2007)
Fraser, G., Arcuri, A.: Evosuite: automatic test suite generation for object-oriented software. In: ACM SIGSOFT International Symposium on the Foundations of Software Engineering (FSE), pp. 416-419. ACM (2011)
Goncalves, A.: Beginning Java EE 7. Apress, New York (2013)
Pacheco, C., Lahiri, S.K., Ernst, M.D., Ball, T.: Feedback-directed random test generation. In: ACM/IEEE International Conference on Software Engineering (ICSE), pp. 75-84 (2007)
Pan, K., Wu, X., Xie, T.: Guided test generation for database applications via synthesized database interactions. ACM Trans. Softw. Eng. Methodol. (TOSEM) 23(2), 12 (2014)
Prasetya, I.S.W.B.: T3i: A tool for generating and querying test suites for Java. In: ACM SIGSOFT International Symposium on the Foundations of Software Engineering (FSE) (2015)
Sakti, A., Pesant, G., Gueheneuc, Y.G.: Instance generator and problem representation to improve object oriented code coverage. IEEE Trans. Softw. Eng. (TSE) 41, 294 (2015)
Taneja, K., Zhang, Y., Xie, T.: Moda: automated test generation for database applications via mock objects. In: IEEE/ACM International Conference on Automated Software Engineering (ASE), pp. 289-292. ACM (2010)