@article {15504, title = {Using GUI Run-Time State as Feedback for Test Automation}, year = {2009}, month = {2009/08/18/}, institution = {Computer Science Research Works, University of Maryland, College Park}, abstract = {Graphical user interfaces (GUIs) are the sole mode of interactionbetween end-users and back-end code for almost all of today{\textquoteright}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{\textquoteright}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 {\textquoteleft}{\textquoteleft}seed test suite{\textquoteright}{\textquoteright} 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. }, keywords = {GUI testing, Software testing, test automation, test-case generation}, url = {http://drum.lib.umd.edu//handle/1903/9416}, author = {Xun Yuan and Memon, Atif M.} }