@article {15492,
	title = {An event-flow model of GUI-based applications for testing},
	journal = {Software Testing, Verification and Reliability},
	volume = {17},
	year = {2007},
	month = {2007///},
	pages = {137 - 157},
	abstract = {Graphical user interfaces (GUIs) are by far the most popular means used to interact with today{\textquoteright}s software. The functional correctness of a GUI is required to ensure the safety, robustness and usability of an entire software system. GUI testing techniques used in practice are resource intensive; model-based automated techniques are rarely employed. A key reason for the reluctance in the adoption of model-based solutions proposed by researchers is their limited applicability; moreover, the models are expensive to create. Over the past few years, the present author has been developing different models for various aspects of GUI testing. This paper consolidates all of the models into one scalable event-flow model and outlines algorithms to semi-automatically reverse-engineer the model from an implementation. Earlier work on model-based test-case generation, test-oracle creation, coverage evaluation, and regression testing is recast in terms of this model by defining event-space exploration strategies (ESESs) and creating an end-to-end GUI testing process. Three such ESESs are described: for checking the event-flow model, test-case generation, and test-oracle creation. Two demonstrational scenarios show the application of the model and the three ESESs for experimentation and application in GUI testing. Copyright {\textcopyright} 2007 John Wiley \& Sons, Ltd.},
	keywords = {event-driven software, event-flow graph, event-flow model, Graphical user interfaces, integration tree, Model checking, test oracles, test-case generation},
	isbn = {1099-1689},
	doi = {10.1002/stvr.364},
	url = {http://onlinelibrary.wiley.com/doi/10.1002/stvr.364/abstract},
	author = {Memon, Atif M.}
}
@conference {15455,
	title = {Coverage criteria for GUI testing},
	booktitle = {Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineering},
	series = {ESEC/FSE-9},
	year = {2001},
	month = {2001///},
	pages = {256 - 267},
	publisher = {ACM},
	organization = {ACM},
	address = {New York, NY, USA},
	abstract = {A widespread recognition of the usefulness of graphical user interfaces (GUIs) has established their importance as critical components of today{\textquoteright}s software. GUIs have characteristics different from traditional software, and conventional testing techniques do not directly apply to GUIs. This paper{\textquoteright}s focus is on coverage critieria for GUIs, important rules that provide an objective measure of test quality. We present new coverage criteria to help determine whether a GUI has been adequately tested. These coverage criteria use events and event sequences to specify a measure of test adequacy. Since the total number of permutations of event sequences in any non-trivial GUI is extremely large, the GUI{\textquoteright}s hierarchical structure is exploited to identify the important event sequences to be tested. A GUI is decomposed into GUI components, each of which is used as a basic unit of testing. A representation of a GUI component, called an event-flow graph, identifies the interaction of events within a component and intra-component criteria are used to evaluate the adequacy of tests on these events. The hierarchical relationship among components is represented by an integration tree, and inter-component coverage criteria are used to evaluate the adequacy of test sequences that cross components. Algorithms are given to construct event-flow graphs and an integration tree for a given GUI, and to evaluate the coverage of a given test suite with respect to the new coverage criteria. A case study illustrates the usefulness of the coverage report to guide further testing and an important correlation between event-based coverage of a GUI and statement coverage of its software{\textquoteright}s underlying code.},
	keywords = {component testing, event-based coverage, event-flow graph, GUI test coverage, GUI testing, integration tree},
	isbn = {1-58113-390-1},
	doi = {10.1145/503209.503244},
	url = {http://doi.acm.org/10.1145/503209.503244},
	author = {Memon, Atif M. and Soffa,Mary Lou and Pollack,Martha E.}
}
