skip to main content
research-article

Using a pilot study to derive a GUI model for automated testing

Published:12 November 2008Publication History
Skip Abstract Section

Abstract

Graphical user interfaces (GUIs) are one of the most commonly used parts of today's software. Despite their ubiquity, testing GUIs for functional correctness remains an understudied area. A typical GUI gives many degrees of freedom to an end-user, leading to an enormous input event interaction space that needs to be tested. GUI test designers generate and execute test cases (modeled as sequences of user events) to traverse its parts; targeting a subspace in order to maximize fault detection is a nontrivial task. In this vein, in previous work, we used informal GUI code examination and personal intuition to develop an event-interaction graph (EIG). In this article we empirically derive the EIG model via a pilot study, and the resulting EIG validates our intuition used in previous work; the empirical derivation process also allows for model evolution as our understanding of GUI faults improves. Results of the pilot study show that events interact in complex ways; a GUI's response to an event may vary depending on the context established by preceding events and their execution order. The EIG model helps testers to understand the nature of interactions between GUI events when executed in test cases and why certain events detect faults, so that they can better traverse the event space. New test adequacy criteria are defined for the EIG; new algorithms use these criteria and EIG to systematically generate test cases that are shown to be effective on four fielded open-source applications.

References

  1. Andrews, J. H., Briand, L. C., and Labiche, Y. 2005. Is mutation an appropriate tool for testing experiments? In ICSE '05: Proceedings of the 27th International Conference on Software Engineering. ACM Press, New York, NY, 402--411. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Auguston, M., Michael, J. B., and Shing, M.-T. 2005. Environment behavior models for scenario generation and testing automation. In A-MOST '05: Proceedings of the 1st International Workshop on Advances in Model-Based Testing. ACM Press, New York, NY, 1--6. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Bernhard, P. J. 1994. A reduced test suite for protocol conformance testing. ACM Trans. Softw. Eng. Methodol. 3, 3 (July), 201--220. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Chow, T. S. 1978. Testing software design modeled by finite-state machines. IEEE Trans. Softw. Eng. SE-4, 3, 178--187. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Clarke, J. M. 1998. Automated test generation from a behavioral model. In Proceedings of the Pacific Northwest Software Quality Conference (Pnsqc/Pacific Agenda, Portland, OR).Google ScholarGoogle Scholar
  6. Esmelioglu, S. and Apfelbaum, L. 1997. Automated test generation, execution, and reporting. In Proceedings of the Pacific Northwest Software Quality Conference (Pnsqc/Pacific Agenda, Portland, OR). 127--142.Google ScholarGoogle Scholar
  7. Harrold, M. J., Offut, A. J., and Tewary, K. 1997. An approach to fault modelling and fault seeding using the program dependence graph. J. Syst. Softw. 36, 3 (Mar.), 273--296. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Hicinbothom, J. H. and Zachary, W. W. 1993. A tool for automatically generating transcripts of human-computer interaction. In Proceedings of the Human Factors and Ergonomics Society 37th Annual Meeting. Special Sessions: Demonstrations, vol. 2. Human Factors and Ergonomics Society, Santa Monica, CA, 1042.Google ScholarGoogle Scholar
  9. Howe, A., von Mayrhauser, A., and Mraz, R. T. 1997. Test case generation as an AI planning problem. Automat. Softw. Eng. 4, 77--106. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Imanian, J. A. 2005. Automatic test case generation for reactive software systems based on environment models. Ph.D. dissertation. Naval Postgraduate School, Monterey, CA.Google ScholarGoogle Scholar
  11. Jorgensen, P. C. and Erickson, C. 1994. Object-oriented integration testing. Commun. ACM 37, 9, 30--38. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Kasik, D. J. and George, H. G. 1996. Toward automatic generation of novice user test scripts. In Proceedings of the Conference on Human Factors in Computing Systems: Common Ground. ACM Press, New York, NY, 244--251. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Leow, W. K., Khoo, S. C., and Sun, Y. 2004. Automated generation of test programs from closed specifications of classes and test cases. In ICSE '04: Proceedings of the 26th International Conference on Software Engineering. IEEE Computer Society Press, Los Alamitos, CA, 96--105. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Maurer, P. M. 1990. Generating test data with enhanced context-free grammars. IEEE Softw. 7, 4 (July), 50--55. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Memon, A., Banerjee, I., and Nagarajan, A. 2003. GUI Ripping: Reverse engineering of graphical user interfaces for testing. In WCRE '03: Proceedings of the 10th Working Conference on Reverse Engineering. IEEE Computer Society Press, Los Alamitos, CA, 260--269. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Memon, A. M. 2001. A comprehensive framework for testing graphical user interfaces. Ph.D. dissertation. Department of Computer Science, University of Pittsburgh, Pittsburgh, PA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Memon, A. M. 2002. GUI testing: Pitfalls and process. IEEE Comput. 35, 8 (Aug.), 90--91. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Memon, A. M. 2003. Advances in GUI testing. In Advances in Computers, 58, M. V. Zelkowitz, Ed. Elsevier, Amsterdam, The Netherlands, 150--203.Google ScholarGoogle Scholar
  19. Memon, A. M., Nagarajan, A., and Xie, Q. 2005. Automating regression testing for evolving GUI software. J. Softw. Maint. 17, 1, 27--64. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Memon, A. M., Pollack, M. E., and Soffa, M. L. 1999. Using a goal-driven approach to generate test cases for GUIs. In ICSE '99: Proceedings of the 21st International Conference on Software Engineering. IEEE Computer Society Press, Los Alamitos, CA, 257--266. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Memon, A. M., Pollack, M. E., and Soffa, M. L. 2000. Automated test oracles for GUIs. In SIGSOFT '00/FSE-8: Proceedings of the 8th ACM SIGSOFT International Symposium on Foundations of Software Engineering. ACM Press, New York, NY, 30--39. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Memon, A. M., Pollack, M. E., and Soffa, M. L. 2001a. Hierarchical GUI test case generation using automated planning. IEEE Trans. Softw. Eng. 27, 2 (Feb.), 144--155. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Memon, A. M. and Soffa, M. L. 2003. Regression testing of GUIs. In ESEC/FSE-11: Proceedings of the 9th European Software Engineering Conference Held Jointly with the 11th ACM SIGSOFT International Symposium on Foundations of Software Engineering. ACM Press, New York, NY, 118--127. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Memon, A. M., Soffa, M. L., and Pollack, M. E. 2001b. Coverage criteria for GUI testing. In ESEC/FSE-9: Proceedings of the 8th European Software Engineering Conference Held Jointly with the 9th ACM SIGSOFT International Symposium on Foundations of Software Engineering. ACM Press, New York, NY, 256--267. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Memon, A. M. and Xie, Q. 2005. Studying the fault-detection effectiveness of GUI test cases for rapidly evolving software. IEEE Trans. Softw. Eng. 31, 10 (Oct.), 884--896. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Offutt, A. J. and Hayes, J. H. 1996. A semantic model of program faults. In ISSTA '96: Proceedings of the 1996 ACM SIGSOFT International Symposium on Software Testing and Analysis. ACM Press, New York, NY, 195--200. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Rapps, S. and Weyuker, E. J. 1982. Data flow analysis techniques for test data selection. In ICSE '82: Proceedings of the 6th International Conference on Software Engineering. IEEE Computer Society Press, Los Alamitos, CA, 272--278. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Scheetz, M., von Mayrhauser, A., France, R., Dahlman, E., and Howe, A. E. 1999. Generating test cases from an OO model with an AI planning system. In Proceedings of the 10th International Symposium on Software Reliability Engineering. IEEE Computer Society Press, Los Alamitos, CA, 250--259. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Shehady, R. K. and Siewiorek, D. P. 1997. A method to automate user interface testing using variable finite state machines. In Proceedings of the 27th Annual International Symposium on Fault-Tolerant Computing (FTCS'97). IEEE Computer Society Press, Los Alamitos, CA, 80--88. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Spacco, J., Hovemeyer, D., and Pugh, W. 2006. Tracking defect warnings across versions. In MSR '06: Proceedings of the 2006 International Workshop on Mining Software Repositories. ACM Press, New York, NY, 133--136. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. von Mayrhauser, A. and Crawford-Hines, S. 1993. Automated testing support for a robot tape library. In Proceedings of the 4th International Software Reliability Engineering Conference. IEEE Computer Society Press, Los Alamitos, CA, 6--14.Google ScholarGoogle Scholar
  32. von Mayrhauser, A., Mraz, R. T., and Walls, J. 1994. Domain based regression testing. In Proceedings of the International Conference on Software Maintenance. IEEE Computer Society Press, Los Alamitos, CA, 26--35. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. White, L. and Almezen, H. 2000. Generating test cases for GUI responsibilities using complete interaction sequences. In ISSRE '00: Proceedings of the 11th International Symposium on Software Reliability Engineering. IEEE Computer Society Press, Los Alamitos, CA, 110. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Whittaker, J. A. 1992. Markov chain techniques for software testing and reliability analysis. Ph.D. dissertation. University of Tennessee, Knoxville, TN. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Whittaker, J. A. and Thomason, M. G. 1994. A Markov chain model for statistical software testing. IEEE Trans. Softw. Eng. 20, 10, 812--824. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Woit, D. 1998. Conditional-event usage testing. In CASCON '98: Proceedings of the 1998 Conference of the Centre for Advanced Studies on Collaborative Research. IBM Press, Indianapolis, IN, 23. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Woit, D. M. 1993. Specifying operational profiles for modules. In ISSTA '93: Proceedings of the 1993 ACM SIGSOFT International Symposium on Software Testing and Analysis. ACM Press, New York, NY, 2--10. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Xie, Q. and Memon, A. M. 2005. Rapid “crash testing” for continuously evolving GUI-based software applications. In ICSM '05: Proceedings of the 21st IEEE International Conference on Software Maintenance. IEEE Computer Society Press, Los Alamitos, CA, 473--482. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Xie, Q. and Memon, A. M. 2006. Automated model-based testing of community-driven open source GUI applications. In ICSM '06: Proceedings of the 22nd IEEE International Conference on Software Maintenance. IEEE Computer Society Press, Los Alamitos, CA, 145--154. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Xie, T., Marinov, D., Schulte, W., and Notkin, D. 2005. Symstra: A framework for generating object-oriented unit tests using symbolic execution. In Proceedings of the 11th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS 05). Spinger, Berlin, Germany, 365--381. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. Zeller, A. 2002. Isolating cause-effect chains from computer programs. ACM SIGSOFT Softw. Eng. Notes 27, 6, 1--10. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Using a pilot study to derive a GUI model for automated testing

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      • Published in

        cover image ACM Transactions on Software Engineering and Methodology
        ACM Transactions on Software Engineering and Methodology  Volume 18, Issue 2
        November 2008
        130 pages
        ISSN:1049-331X
        EISSN:1557-7392
        DOI:10.1145/1416563
        Issue’s Table of Contents

        Copyright © 2008 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 12 November 2008
        • Accepted: 1 October 2007
        • Revised: 1 July 2007
        • Received: 1 August 2006
        Published in tosem Volume 18, Issue 2

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article
        • Research
        • Refereed

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader