Using GUI Run-Time State as Feedback for Test Automation

TitleUsing GUI Run-Time State as Feedback for Test Automation
Publication TypeReports
Year of Publication2009
AuthorsYuan X, Memon AM
Date Published2009/08/18/
InstitutionComputer Science Research Works, University of Maryland, College Park
KeywordsGUI testing, Software testing, test automation, test-case generation

Graphical user interfaces (GUIs) are the sole mode of interactionbetween end-users and back-end code for almost all of today's software
applications. Because of this strategic role of GUIs, their quality
has become important. During GUI testing, test cases---modeled as
sequences of user events---sample the vast input space of all possible
sequences with the goal of detecting faults; for effective testing, it
is important to sample this space carefully. Existing techniques
either sample manually or employ manually constructed abstract
models---the abstraction and/or subsequent test-case generation
algorithms enable sampling.
This report presents an alternative approach to GUI testing -- it's
focus is on developing a fully automatic model-driven technique
to generate GUI test cases. The technique is novel in that it uses
feedback from the execution of a ``seed test suite'' on a GUI.
The seed suite is generated automatically using an existing structural
event-interaction graph (EIG) model of the GUI. During its
execution, the run-time effect of each GUI event on all other events
pinpoints new important event-semantic interaction (ESI)
relationships between them, which are used to automatically create an
ESI graph (ESIG) model and generate new test cases. Together
with a reverse-engineering algorithm used to obtain the EIG, seed
suite, ESIG, and new test cases, the feedback-based technique yields a
fully automatic, end-to-end GUI testing process.