|
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'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'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 “dominator” events, when modified, make a large number of test cases unusable.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
Abbot. 2003. Abbot Java GUI Test Framework. Available online at http://abbot.sourceforge.net.
|
| |
2
|
|
| |
3
|
Alfred V. Aho , Ravi Sethi , Jeffrey D. Ullman, Compilers: principles, techniques, and tools, Addison-Wesley Longman Publishing Co., Inc., Boston, MA, 1986
|
| |
4
|
|
| |
5
|
Benedusi, P., Cimitile, A., and DeCarlini, U. 1988. Post-maintenance testing based on path change analysis. In Proceedings of the IEEE Conference on Software Maintenance. IEEE Computer Society Press, Los Alamitos, CA, 352--368.
|
| |
6
|
|
 |
7
|
Monty L. Hammontree , Jeffrey J. Hendrickson , Billy W. Hensley, Integrated data capture and analysis tools for research and testing on graphical user interfaces, Proceedings of the SIGCHI conference on Human factors in computing systems, p.431-432, May 03-07, 1992, Monterey, California, United States
[doi> 10.1145/142750.142886]
|
 |
8
|
|
 |
9
|
|
 |
10
|
Mary Jean Harrold , Mary Lou Soffa, Interprocedual data flow testing, Proceedings of the ACM SIGSOFT '89 third symposium on Software testing, analysis, and verification, p.158-167, December 13-15, 1989, Key West, Florida, United States
|
| |
11
|
Hicinbothom, J. H. and Zachary, W. W. 1993. A tool for automatically generating transcripts of human-computer interaction. In Proceedings of the Human Factors and Ergonomics Society 37th Annual Meeting. SPECIAL SESSIONS: Demonstrations, vol. 2. ACM Press, New York, NY, 1042.
|
| |
12
|
JUnitResources. 2005. JUnit, testing resources for extreme programming. Available online at http://junit.org/news/extension/gui/index.htm.
|
 |
13
|
|
| |
14
|
Kepple, L. R. 1992. A new paradigm for cross-platform automated GUI testing. X Res. 3, 1 (June), 155--178.
|
| |
15
|
Kepple, L. R. 1994. The black art of GUI testing. Dr. Dobb's J. Softw. Tools 19, 2 (Feb.), 40.
|
| |
16
|
|
 |
17
|
|
| |
18
|
Marick, B. 2002. Bypassing the GUI. Softw. Test. Qual. Eng. Mag. 2, 41--47.
|
| |
19
|
|
| |
20
|
|
| |
21
|
|
| |
22
|
|
 |
23
|
Atif M. Memon , Martha E. Pollack , Mary Lou Soffa, Automated test oracles for GUIs, Proceedings of the 8th ACM SIGSOFT international symposium on Foundations of software engineering: twenty-first century applications, p.30-39, November 06-10, 2000, San Diego, California, United States
|
| |
24
|
|
 |
25
|
|
 |
26
|
|
| |
27
|
|
 |
28
|
|
 |
29
|
|
 |
30
|
Thomas Ostrand , Aaron Anodide , Herbert Foster , Tarak Goradia, A visual test development environment for GUI systems, Proceedings of the 1998 ACM SIGSOFT international symposium on Software testing and analysis, p.82-92, March 02-04, 1998, Clearwater Beach, Florida, United States
|
| |
31
|
|
 |
32
|
|
| |
33
|
RationalRobot. 2003. Rational Robot. Available online at http://www.rational.com.ar/tools/robot.html.
|
| |
34
|
Rosenberg, D. 1993. User interface prototyping paradigms in the 90's. In Proceedings of the ACM INTERCHI'93 Conference on Human Factors in Computing Systems—Adjunct Proceedings. Tutorials. ACM Press, New York, NY, 231.
|
| |
35
|
Rosenblum, D. and Rothermel, G. 1997. A comparative study of regression test selection techniques. In Proceedings of the IEEE Computer Society 2nd International Workshop on Empirical Studies of Software maintenance. IEEE Computer Society Press, Los Alamitos, CA, 89--94.
|
| |
36
|
|
| |
37
|
|
| |
38
|
|
 |
39
|
|
| |
40
|
|
| |
41
|
|
| |
42
|
|
| |
43
|
Software Research, Inc., Capture-Replay Tool 2003. Software Research, Inc., Capture-Replay Tool. Available online at http://soft.com.
|
| |
44
|
|
| |
45
|
|
| |
46
|
Walworth, A. 1997. Java GUI testing. Dr. Dobb's J. Softw. Tools 22, 2 (Feb.), 30, 32, 34.
|
| |
47
|
|
| |
48
|
|
| |
49
|
|
| |
50
|
|
| |
51
|
WinRunner. 2003. Mercury Interactive WinRunner. Available online at http://www.mercuryinteractive.com/products/winrunner.
|
| |
52
|
|
| |
53
|
Claes Wohlin , Per Runeson , Martin Höst , Magnus C. Ohlsson , Bjöorn Regnell , Anders Wesslén, Experimentation in software engineering: an introduction, Kluwer Academic Publishers, Norwell, MA, 2000
|
| |
54
|
|
 |
55
|
|
| |
56
|
|
|