Skip to main content
Log in

Specification-based Testing for Gui-based Applications

  • Published:
Software Quality Journal Aims and scope Submit manuscript

Abstract

The development of GUI-based applications has raised a lot of new issues, one of them being how to automate effective testing for applications with complicated graphical user interactions. In this paper, we discuss the architectural issues and the implementation concerns of our approach to an automated specification-based testing technique for GUI-based applications. This approach is carried out by enriching existing architecture for automated specification-based testing. An essential part of our work is a visual environment to obtain test specifications. This environment pre-runs the Application Under Test (AUT) under its own control, with two prominent characteristics: First, testers can edit test specifications within the true GUI environment of the AUT. Second, the recorded input and output contain the same references as those in the AUT, so that the test cases generated from the edited specification can be used directly by test oracles during the automated testing procedure.

We present our running prototype of a visual specification editor that allows users to graphically manipulate test specifications when these specifications are given in term of Finite State Machines (FSM) and the implementations of the AUT are GUI-based Java applications.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • Z.120. 1996. Message sequence chart (MSC), ITU-T, Geneva, April 1996.

  • Aho, A.V., Sethi, R., and Ullman, J.D. 1986. Compilers: Principles, Techniques and Tools. Addison-Wesley.

  • Bastide R. and Palanque, P.A. 1995. A Petri net based environment for the design of event-driven interfaces. Lecture Notes in Computer Science 935, pages 66-83. Springer Verlag.

    Google Scholar 

  • Booch G., Jacobson I., and Rumbaugh, J. 1998. The United Modeling Language User Guide. Addison-Wesley.

  • Bottoni P., Chang, S.K., Costabile, M.F., Levialdi, S., and Mussio, P. 1998. On the specification of dynamic visual languages, IEEE Symposium on Visual Languages. Pages 14-21.

  • Burnett, M., Sheretov, A., and Rothermel, G. 1999. Scaling up a “what you see is what you test” methodology to spreadsheet grids, IEEE Symposium on Visual Languages. Pages 30-37.

  • Chow, T.S. 1978. Testing software design modeled by finite state machines, IEEE Transactions on Software Engineering, 4(3): 178-187.

    Google Scholar 

  • Ekkart R., Peter, G., and Jens. G. 1996. Tutorial on message sequence charts, Computer Networks and ISDN Systems, 28(12): 1629-1641.

    Google Scholar 

  • Erwig, M. 1999. Visual graphs, IEEE Symposium on Visual Languages. Pages 122-129.

  • Friedman, A.D. and Menon, P.R. 1971. Fault Detection in Digital Circuits, Prentice Hall Inc.

  • Gerrard, P. Testing GUI applications, 1997. Proc. of EuroSTAR'97.

  • Gill, A. 1962. Introduction to the Theory of Finite State Machines, New York, McGraw-Hill.

    Google Scholar 

  • Holzmann, G. 1991. The Design and Validation of Computer Protocols. Prentice Hall.

  • Kasik, D.J. and George, H.G. 1996. Toward automatic generation of novice user test scripts. ACM Conference Proc. on Human Factors in Computing Systems, Vancouver, Canada, pp. 244-251.

  • Lee, D. and Yannakakis, M. 1994. Testing finite state machines: state identification and verification, IEEE Transactions on Computers, 43: 306-320.

    Google Scholar 

  • Li, X., Mugridge, W.B., and Hosking, J.G. 1997. A Petri net-based visual language for specifying GUIs, IEEE Symposium on Visual Languages. Pages 50-57.

  • Memon, A., Pollack, M., and Soffa, M. 2001. Hierarchical GUI test case generation using automated planning, IEEE Transactions on Software Engineering, 27(2): 144-155.

    Google Scholar 

  • Newmarch, J.D. 1999. Testing Java swing-based applications. The 31st International Conference on Technology on Object-Oriented Language and Systems, Nanjing, China, September. Pages 156-165.

  • Rothermel, G., Li, L., DuPuis, C., and Burnett, M. 1998. "What you see is what you test: a methodology for testing form-based visual programs, Proc. of International Conference on Software Engineering, pp. 198-207.

  • Sabnani, K.K. and Dahbura, A.T. 1988. A protocol test generation procedure, Computer Networks and ISDN Systems, 15(4): 285-297.

    Google Scholar 

  • Shehady, R.K. and Siewiorek, D.P. 1997. A method to automate user interface testing using variable finite state machines, Proc. of IEEE 27th Annual International Symposium on Fault-Tolerant Computing, pp. 80-88.

  • Sidhu, D.P. and Leung, T.K. 1989. Formal methods for protocol testing: a detailed study, IEEE Transactions on Software Engineering, 15: 413-326.

    Google Scholar 

  • Ural, H., Wu, X., and Zhang, F. 1997. On minimizing the lengths of checking sequences, IEEE Transactions on Computers, 46(1): 93-99.

    Google Scholar 

  • White, L. and Almezen, H. 2000. Generating test cases for GUI responsibilities using complete interaction, Proc. of the 11th International Symposium on Software Requirement Engineering, pp. 110-121.

  • Yannakakis, M. and Lee, D. 1995. Testing finite state machines: fault detection, Journal of Computer and System Sciences, 50: 209-227.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Chen, J., Subramaniam, S. Specification-based Testing for Gui-based Applications. Software Quality Journal 10, 205–224 (2002). https://doi.org/10.1023/A:1021634422504

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1021634422504

Navigation