Abstract
GUI testing is a form of system testing where test cases are based on user interactions. A user interaction may be encoded by a sequence of events (e.g., mouse clicks) together with input data (e.g., string values for text boxes). For selecting event sequences, one can use the black-box approach based on Event Flow Graphs. For selecting input data, one can use the white-box approach based on parameterized unit tests and symbolic execution. The contribution of this paper is an approach to make the principle of parameterized unit testing available to black-box GUI testing. The approach is based on the new notion of parameterized GUI tests. We have implemented the approach in a new tool. In order to evaluate whether parameterized GUI tests have the potential to achieve high code coverage, we apply the tool to four open source GUI applications. The results are encouraging.
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
Download to read the full chapter text
Chapter PDF
Similar content being viewed by others
References
Arlt, S., Podelski, A., Bertolini, C., Schäf, M., Banerjee, I., Memon, A.M.: Lightweight Static Analysis for GUI Testing. In: ISSRE (2012)
Belli, F.: Finite-State Testing and Analysis of Graphical User Interfaces. In: ISSRE, pp. 34–43 (2001)
de Halleux, J., Tillmann, N.: Parameterized Unit Testing with Pex. In: Beckert, B., Hähnle, R. (eds.) TAP 2008. LNCS, vol. 4966, pp. 171–181. Springer, Heidelberg (2008)
Fraser, G., Zeller, A.: Generating parameterized unit tests. In: ISSTA, pp. 364–374 (2011)
Ganov, S.R., Killmar, C., Khurshid, S., Perry, D.E.: Event Listener Analysis and Symbolic Execution for Testing GUI Applications. In: Breitman, K., Cavalcanti, A. (eds.) ICFEM 2009. LNCS, vol. 5885, pp. 69–87. Springer, Heidelberg (2009)
Godefroid, P., Klarlund, N., Sen, K.: DART: directed automated random testing. In: PLDI, pp. 213–223 (2005)
Gross, F., Fraser, G., Zeller, A.: EXSYST: Search-based GUI testing. In: ICSE, pp. 1423–1426 (2012)
Kicillof, N., Grieskamp, W., Tillmann, N., Braberman, V.A.: Achieving both model and code coverage with automated gray-box testing. In: A-MOST, pp. 1–11 (2007)
Memon, A.M.: An event-flow model of GUI-based applications for testing. Softw. Test., Verif. Reliab. 17(3), 137–157 (2007)
Memon, A.M., Banerjee, I., Nagarajan, A.: GUI Ripping: Reverse Engineering of Graphical User Interfaces for Testing. In: WCRE, pp. 260–269 (2003)
Memon, A.M., Banerjee, I., Nagarajan, A.: What Test Oracle Should I Use for Effective GUI Testing? In: ASE, pp. 164–173 (2003)
Pacheco, C., Lahiri, S.K., Ernst, M.D., Ball, T.: Feedback-Directed Random Test Generation. In: ICSE, pp. 75–84 (2007)
Pasareanu, C.S., Mehlitz, P.C., Bushnell, D.H., Gundy-Burlet, K., Lowry, M.R., Person, S., Pape, M.: Combining unit-level symbolic execution and system-level concrete execution for testing NASA software. In: ISSTA, pp. 15–26 (2008)
Tillmann, N., Schulte, W.: Parameterized unit tests. In: ESEC/SIGSOFT FSE, pp. 253–262 (2005)
Visser, W., Pasareanu, C.S., Khurshid, S.: Test input generation with java PathFinder. In: ISSTA, pp. 97–107 (2004)
White, L.J., Almezen, H., Alzeidi, N.: User-Based Testing of GUI Sequences and Their Interactions. In: ISSRE, pp. 54–65 (2001)
Yuan, X., Cohen, M.B., Memon, A.M.: Covering array sampling of input event sequences for automated gui testing. In: ASE, pp. 405–408 (2007)
Yuan, X., Memon, A.M.: Using GUI Run-Time State as Feedback to Generate Test Cases. In: ICSE, pp. 396–405 (2007)
Zhang, S., Saff, D., Bu, Y., Ernst, M.D.: Combined static and dynamic automated test generation. In: ISSTA, pp. 353–363 (2011)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2012 IFIP International Federation for Information Processing
About this paper
Cite this paper
Arlt, S., Borromeo, P., Schäf, M., Podelski, A. (2012). Parameterized GUI Tests. In: Nielsen, B., Weise, C. (eds) Testing Software and Systems. ICTSS 2012. Lecture Notes in Computer Science, vol 7641. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-34691-0_18
Download citation
DOI: https://doi.org/10.1007/978-3-642-34691-0_18
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-34690-3
Online ISBN: 978-3-642-34691-0
eBook Packages: Computer ScienceComputer Science (R0)