Using GUI Run-Time State as Feedback for Test Automation
Files
Publication or External Link
Date
Authors
Advisor
Citation
DRUM DOI
Abstract
Graphical user interfaces (GUIs) are the sole mode of interaction between 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.