Repairing GUI Test Suites Using a Genetic Algorithm

TitleRepairing GUI Test Suites Using a Genetic Algorithm
Publication TypeConference Papers
Year of Publication2010
AuthorsHuang S, Cohen MB, Memon AM
Conference NameSoftware Testing, Verification and Validation (ICST), 2010 Third International Conference on
Date Published2010/04//
Keywordsautomated functional testing, genetic algorithm, Genetic algorithms, graph model, graphical user interface, Graphical user interfaces, GUI test suite, program testing, random algorithm, synthetic program, test case

Recent advances in automated functional testing of Graphical User Interfaces (GUIs) rely on deriving graph models that approximate all possible sequences of events that may be executed on the GUI, and then use the graphs to generate test cases (event sequences) that achieve a specified coverage goal. However, because these models are only approximations of the actual event flows, the generated test cases may suffer from problems of infeasibility, i.e., some events may not be available for execution causing the test case to terminate prematurely. In this paper we develop a method to automatically repair GUI test suites, generating new test cases that are feasible. We use a genetic algorithm to evolve new test cases that increase our test suite's coverage while avoiding infeasible sequences. We experiment with this algorithm on a set of synthetic programs containing different types of constraints and for test sequences of varying lengths. Our results suggest that we can generate new test cases to cover most of the feasible coverage and that the genetic algorithm outperforms a random algorithm trying to achieve the same goal in almost all cases.