GUICOP: Specification-Based GUI Testing

Abstract
Typically, oracles used to test graphical user interface(GUI) programs highly depend on environmental factors that are not related to the functionality of the program, such as screen resolution and color schemes. To accommodate these on-functional variations, researchers suggested fuzzy comparison rules that determine whether the output of a GUI program matches the oracles. Others suggested computer vision based solutions that make use of computationally expensive image processing techniques to abstract the strict comparisons. Alternatively, we propose GUICOP, a system that checks whether a trace of a GUI execution violates a given GUI specification. GUICOP is composed of a GUI specification language, instrumented GUI libraries, and a checker. The alphabet of the specification language contains basic geometric shapes describing GUI components, events, and positional and temporal operators that express relative object positions and event timings, respectively. During program execution, the instrumented libraries capture positional and temporal information of components and associated triggered events in execution traces. The checker determines whether the traces satisfy the specifications. To evaluate GUICOP, we wrote 50 use cases that describe real GUI applications and used the GUICOP checker on the supported cases that successfully revealed violations.

This publication has 12 references indexed in Scilit: