@article {15412,
	title = {Automatically repairing event sequence-based GUI test suites for regression testing},
	journal = {ACM Transactions on Software Engineering and Methodology (TOSEM)},
	volume = {18},
	year = {2008},
	month = {2008/11//},
	pages = {4:1{\textendash}4:36 - 4:1{\textendash}4:36},
	abstract = {Although graphical user interfaces (GUIs) constitute a large part of the software being developed today and are typically created using rapid prototyping, there are no effective regression testing techniques for GUIs. The needs of GUI regression testing differ from those of traditional software. When the structure of a GUI is modified, test cases from the original GUI{\textquoteright}s suite are either reusable or unusable on the modified GUI. Because GUI test case generation is expensive, our goal is to make the unusable test cases usable, thereby helping to retain the suite{\textquoteright}s event coverage. The idea of reusing these unusable (obsolete) test cases has not been explored before. This article shows that a large number of test cases become unusable for GUIs. It presents a new GUI regression testing technique that first automatically determines the usable and unusable test cases from a test suite after a GUI modification, then determines the unusable test cases that can be repaired so that they can execute on the modified GUI, and finally uses repairing transformations to repair the test cases. This regression testing technique along with four repairing transformations has been implemented. An empirical study for four open-source applications demonstrates that (1) this approach is effective in that many of the test cases can be repaired, and is practical in terms of its time performance, (2) certain types of test cases are more prone to becoming unusable, and (3) certain types of {\textquotedblleft}dominator{\textquotedblright} events, when modified, make a large number of test cases unusable.},
	keywords = {Graphical user interfaces, regression testing, repairing test cases, test case management, test maintenance},
	isbn = {1049-331X},
	doi = {10.1145/1416563.1416564},
	url = {http://doi.acm.org/10.1145/1416563.1416564},
	author = {Memon, Atif M.}
}
@article {15410,
	title = {Regression testing of GUIs},
	journal = {ACM SIGSOFT Software Engineering Notes},
	volume = {28},
	year = {2003},
	month = {2003/09//},
	pages = {118 - 127},
	abstract = {Although graphical user interfaces (GUIs) constitute a large part of the software being developed today and are typically created using rapid prototyping, there are no effective regression testing techniques for GUIs. The needs of GUI regression testing differ from those of traditional software. When the structure of a GUI is modified, test cases from the original GUI are either reusable or unusable on the modified GUI. Since GUI test case generation is expensive, our goal is to make the unusable test cases usable. The idea of reusing these unusable (a.k.a. obsolete) test cases has not been explored before. In this paper, we show that for GUIs, the unusability of a large number of test cases is a serious problem. We present a novel GUI regression testing technique that first automatically determines the usable and unusable test cases from a test suite after a GUI modification. It then determines which of the unusable test cases can be repaired so they can execute on the modified GUI. The last step is to repair the test cases. Our technique is integrated into a GUI testing framework that, given a test case, automatically executes it on the GUI. We implemented our regression testing technique and demonstrate for two case studies that our approach is effective in that many of the test cases can be repaired, and is practical in terms of its time performance.},
	keywords = {call-tree, classification of events, GUI call-graph, GUI control-flow graph, GUI testing, regression testing, repairing test cases},
	isbn = {0163-5948},
	doi = {10.1145/949952.940088},
	url = {http://doi.acm.org/10.1145/949952.940088},
	author = {Memon, Atif M. and Soffa,Mary Lou}
}
