Modeling and Testing Hierarchical GUIs

This paper presents a new approach to model and test hierarchical Graphical User Interfaces (GUIs). We exploit the structure of Hierarchical Finite State Machines (HFSMs) to reduce the number of states in the ”flat” Finite State Machine (FSM) resulting from the exploration of the model. Firstly, independent dialogs are identified and highlighted in a HFSM built from the FSM. Then, the portion of the FSM that describes each dialog is reduced. To illustrate the approach, we construct a model of the Notepad application, which is part of Microsoft Windows. The model is written in Spec] and is converted automatically to a FSM using the Spec Explorer tool developed at Microsoft Research. The HFSM is then defined and the total number of states of the FSM is reduced. Spec Explorer generates test cases from the FSM, and also tests the conformity between the specification and the implementation.

[1]  A. Jefferson Offutt,et al.  Testing Web applications by modeling with FSMs , 2005, Software & Systems Modeling.

[2]  Stephan Merz,et al.  Model Checking , 2000 .

[3]  Mary Lou Soffa,et al.  Hierarchical GUI Test Case Generation Using Automated Planning , 2001, IEEE Trans. Software Eng..

[4]  A White,et al.  Totally Data-Driven Automated Testing , 2002 .

[5]  David Lee,et al.  Principles and methods of testing finite state machines-a survey , 1996, Proc. IEEE.

[6]  Edmund M. Clarke,et al.  Model Checking , 1999, Handbook of Automated Reasoning.

[7]  Fevzi Belli,et al.  Finite state testing and analysis of graphical user interfaces , 2001, Proceedings 12th International Symposium on Software Reliability Engineering.

[8]  Yuri Gurevich,et al.  Evolving algebras 1993: Lipari guide , 1995, Specification and validation methods.

[9]  Daniel P. Siewiorek,et al.  A method to automate user interface testing using variable finite state machines , 1997, Proceedings of IEEE 27th International Symposium on Fault Tolerant Computing.

[10]  João Pascoal Faria,et al.  Automated Specification-based Testing of Interactive Components with AsmL , 2004, QUATIC.

[11]  Margus Veanes,et al.  Generating finite state machines from abstract state machines , 2002, ISSTA '02.

[12]  Margus Veanes,et al.  On-The-Fly Testing of Reactive Systems , 2005 .

[13]  Margus Veanes,et al.  State Exploration with Multiple State Groupings , 2005, Abstract State Machines.

[14]  Ferhat Khendek,et al.  Test Selection Based on Finite State Models , 1991, IEEE Trans. Software Eng..