A Two Tiered Approach to Methodical GUI Testing


 


 


Graphical user interfaces (GUIs) are almost universal amongst today’s software applications. Many special software systems and tools are devoted to helping the design and implementation of GUIs that become easier to use than before. Meanwhile testing GUIs is difficult and challenging. On one side they are generally large and complex; the other side of importance is that GUIs involve many special features different from traditional software. Hence, traditional testing methodologies are difficult to apply. The approach proposed in this paper is to methodically apply testing to GUI systems on abstract tiers – the component and the system tier. When testing a GUI it is reasonable to decompose the whole system into many subcomponents. After thoroughly analyzing various working situations of the components, a flow graph is created for each one. The flow graph represents a set of relationships made up of preconditions, event sequences and corresponding output. All the description of the components is integrated to build up a viewpoint of the entire system. Tests on this tier, try to interrogate the interactions between components. A finite state machine model is created to represent the system on this tier. Test data are generated with respect to the models on the two tiers. Corresponding coverage criteria are defined respectively. This approach is simple and practical. An empirical investigation shows the effectiveness of this method and the cost associated with testing using this approach is limited.