@article {15470,
	title = {Developing a Single Model and Test Prioritization Strategies for Event-Driven Software},
	journal = {Software Engineering, IEEE Transactions on},
	volume = {37},
	year = {2011},
	month = {2011///},
	pages = {48 - 64},
	abstract = {Event-Driven Software (EDS) can change state based on incoming events; common examples are GUI and Web applications. These EDSs pose a challenge to testing because there are a large number of possible event sequences that users can invoke through a user interface. While valuable contributions have been made for testing these two subclasses of EDS, such efforts have been disjoint. This work provides the first single model that is generic enough to study GUI and Web applications together. In this paper, we use the model to define generic prioritization criteria that are applicable to both GUI and Web applications. Our ultimate goal is to evolve the model and use it to develop a unified theory of how all EDS should be tested. An empirical study reveals that the GUI and Web-based applications, when recast using the new model, show similar behavior. For example, a criterion that gives priority to all pairs of event interactions did well for GUI and Web applications; another criterion that gives priority to the smallest number of parameter value settings did poorly for both. These results reinforce our belief that these two subclasses of applications should be modeled and studied together.},
	keywords = {EDS, event-driven software, graphical user interface, Graphical user interfaces, GUI testing, Internet, program testing, service-oriented architecture, test prioritization strategy, Web application testing},
	isbn = {0098-5589},
	doi = {10.1109/TSE.2010.12},
	author = {Bryce,R.C. and Sampath,S. and Memon, Atif M.}
}
@article {15440,
	title = {Iterative execution-feedback model-directed GUI testing},
	journal = {Information and Software Technology},
	volume = {52},
	year = {2010},
	month = {2010/05//},
	pages = {559 - 575},
	abstract = {Current fully automatic model-based test-case generation techniques for GUIs employ a static model. Therefore they are unable to leverage certain state-based relationships between GUI events (e.g., one enables the other, one alters the other{\textquoteright}s execution) that are revealed at run-time and non-trivial to infer statically. We present ALT {\textendash} a new technique to generate GUI test cases in batches. Because of its {\textquotedblleft}alternating{\textquotedblright} nature, ALT enhances the next batch by using GUI run-time information from the current batch. An empirical study on four fielded GUI-based applications demonstrated that ALT was able to detect new 4- and 5-way GUI interaction faults; in contrast, previous techniques, due to their requirement of too many test cases, were unable to even test 4- and 5-way GUI interactions.},
	keywords = {event-driven software, event-flow graphs, GUI testing, model-based testing, test-case generation},
	isbn = {0950-5849},
	doi = {10.1016/j.infsof.2009.11.009},
	url = {http://www.sciencedirect.com/science/article/pii/S0950584909002092},
	author = {Xun Yuan and Memon, Atif M.}
}
@conference {15460,
	title = {Automated gui testing guided by usage profiles},
	booktitle = {Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering},
	series = {ASE {\textquoteright}07},
	year = {2007},
	month = {2007///},
	pages = {333 - 342},
	publisher = {ACM},
	organization = {ACM},
	address = {New York, NY, USA},
	abstract = {Most software developed in recent years has a graphical userinterface (GUI). The only way for the end-user to interact with the software application is through the GUI. Hence, acceptance and system testing of the software requires GUI testing. This paper presents a new technique for testing of GUI applications. Information on the actual usage of the application, in the form of "usage profiles," is used to ensure that a new version of the application will function correctly. Usage profiles, sequences of events that end-users execute on a GUI, are used to develop a probabilistic usage model of the application. An algorithm uses the model to generate test cases that represent events the user is most likely to execute. Reverse engineering methods are used to extract the underlying structure of the application. An empirical study on four open source GUI applications reveals that test suites generated from the probabilistic model are 0.2-22\% of the size of test suites produced directly from usage profiles. Furthermore, the test suites generated from the model detect more faults per test case than those detected directly from the usage profiles, and detect faults not detected by the original profiles},
	keywords = {event-driven software, GUI testing, usage profiles},
	isbn = {978-1-59593-882-4},
	doi = {10.1145/1321631.1321681},
	url = {http://doi.acm.org/10.1145/1321631.1321681},
	author = {Brooks,Penelope A. and Memon, Atif M.}
}
@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.}
}
