Advertisement

Parameterized GUI Tests

  • Stephan Arlt
  • Pedro Borromeo
  • Martin Schäf
  • Andreas Podelski
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7641)

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

Test Sequence Event Sequence Symbolic Execution Generate Test Case Event Handler 
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.

References

  1. 1.
    Arlt, S., Podelski, A., Bertolini, C., Schäf, M., Banerjee, I., Memon, A.M.: Lightweight Static Analysis for GUI Testing. In: ISSRE (2012)Google Scholar
  2. 2.
    Belli, F.: Finite-State Testing and Analysis of Graphical User Interfaces. In: ISSRE, pp. 34–43 (2001)Google Scholar
  3. 3.
    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)CrossRefGoogle Scholar
  4. 4.
    Fraser, G., Zeller, A.: Generating parameterized unit tests. In: ISSTA, pp. 364–374 (2011)Google Scholar
  5. 5.
    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)CrossRefGoogle Scholar
  6. 6.
    Godefroid, P., Klarlund, N., Sen, K.: DART: directed automated random testing. In: PLDI, pp. 213–223 (2005)Google Scholar
  7. 7.
    Gross, F., Fraser, G., Zeller, A.: EXSYST: Search-based GUI testing. In: ICSE, pp. 1423–1426 (2012)Google Scholar
  8. 8.
    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)Google Scholar
  9. 9.
    Memon, A.M.: An event-flow model of GUI-based applications for testing. Softw. Test., Verif. Reliab. 17(3), 137–157 (2007)MathSciNetCrossRefGoogle Scholar
  10. 10.
    Memon, A.M., Banerjee, I., Nagarajan, A.: GUI Ripping: Reverse Engineering of Graphical User Interfaces for Testing. In: WCRE, pp. 260–269 (2003)Google Scholar
  11. 11.
    Memon, A.M., Banerjee, I., Nagarajan, A.: What Test Oracle Should I Use for Effective GUI Testing? In: ASE, pp. 164–173 (2003)Google Scholar
  12. 12.
    Pacheco, C., Lahiri, S.K., Ernst, M.D., Ball, T.: Feedback-Directed Random Test Generation. In: ICSE, pp. 75–84 (2007)Google Scholar
  13. 13.
    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)Google Scholar
  14. 14.
    Tillmann, N., Schulte, W.: Parameterized unit tests. In: ESEC/SIGSOFT FSE, pp. 253–262 (2005)Google Scholar
  15. 15.
    Visser, W., Pasareanu, C.S., Khurshid, S.: Test input generation with java PathFinder. In: ISSTA, pp. 97–107 (2004)Google Scholar
  16. 16.
    White, L.J., Almezen, H., Alzeidi, N.: User-Based Testing of GUI Sequences and Their Interactions. In: ISSRE, pp. 54–65 (2001)Google Scholar
  17. 17.
    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)Google Scholar
  18. 18.
    Yuan, X., Memon, A.M.: Using GUI Run-Time State as Feedback to Generate Test Cases. In: ICSE, pp. 396–405 (2007)Google Scholar
  19. 19.
    Zhang, S., Saff, D., Bu, Y., Ernst, M.D.: Combined static and dynamic automated test generation. In: ISSTA, pp. 353–363 (2011)Google Scholar

Copyright information

© IFIP International Federation for Information Processing 2012

Authors and Affiliations

  • Stephan Arlt
    • 1
  • Pedro Borromeo
    • 1
  • Martin Schäf
    • 2
  • Andreas Podelski
    • 1
  1. 1.Albert-Ludwigs-Universität FreiburgGermany
  2. 2.United Nations University MacauChina

Personalised recommendations