|
ABSTRACT
User-session-based testing of web applications gathers user sessions to create and continually update test suites based on real user input in the field. To support this approach during maintenance and beta testing phases, we have built an automated framework for testing web-based software that focuses on scalability and evolving the test suite automatically as the application's operational profile changes. This paper reports on the automation of the replay and oracle components for web applications, which pose issues beyond those in the equivalent testing steps for traditional, stand-alone applications. Concurrency, nondeterminism, dependence on persistent state and previous user sessions, a complex application infrastructure, and a large number of output formats necessitate developing different replay and oracle comparator operators, which have tradeoffs in fault detection effectiveness, precision of analysis, and efficiency. We have designed, implemented, and evaluated a set of automated replay techniques and oracle comparators for user-session-based testing of web applications. This paper describes the issues, algorithms, heuristics, and an experimental case study with user sessions for two web applications. From our results, we conclude that testers performing user-session-based testing should consider their expectations for program coverage and fault detection when choosing a replay and oracle technique.
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
|
A. Andrews, J. Offutt, and R. Alexander. Testing web applications by modeling with FSMs. Software Systems and Modeling, 4(2), April 2005.
|
 |
2
|
|
| |
3
|
L. Baresi and M. Young. Test oracles. Technical Report CIS-TR01-02, University of Oregon, 2001.
|
| |
4
|
|
| |
5
|
J. Callahan, F. Schneider, and S. Easterbrook. Automated software testing using model-checking. In SPIN Wksp, 1996.
|
| |
6
|
David Chays , Yuetang Deng , Phyllis G. Frankl , Saikat Dan , Filippos I. Vokolos , Elaine J. Weyuker, An AGENDA for testing relational database applications: Research Articles, Software Testing, Verification & Reliability, v.14 n.1, p.17-44, March 2004
[doi> 10.1002/stvr.v14:1]
|
| |
7
|
Clover: Code coverage tool for Java. <http://www.cenqua.com/clover/>, 2005.
|
 |
8
|
|
| |
9
|
|
| |
10
|
|
| |
11
|
Open source web applications with source code. <http://www.gotocode.com>, 2003.
|
 |
12
|
|
| |
13
|
|
| |
14
|
|
| |
15
|
|
| |
16
|
B. Long, D. Hoffman, and P. Strooper. Tool support for testing concurrent Java components. Trans on Software Engineering, 29(6):555--566, June 2003.
|
| |
17
|
|
 |
18
|
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
|
 |
19
|
|
| |
20
|
Parasoft WebKing. <http://www.parsoft.com>, 2004.
|
| |
21
|
Rational Robot. <http://www-306.ibm.com/software/ awdtools/tester/robot/>, 2005.
|
| |
22
|
Caucho resin. <http://www.caucho.com/resin/>, 2005.
|
 |
23
|
|
 |
24
|
|
| |
25
|
|
| |
26
|
|
 |
27
|
|
| |
28
|
|
| |
29
|
S. D. Stoller. Model-checking multi-threaded distributed Java programs. Int Journal on Soft Tools for Technology Transfer, 4(1):71--91, Oct. 2002.
|
| |
30
|
E. Weyuker. On testing non-testable programs. The Computer Journal, 25(4):465--70, 1982.
|
| |
31
|
GNU wget. <http://www.gnu.org/software/wget/>, 2005.
|
CITED BY 7
|
Sara Sprenkle , Emily Gibson , Sreedevi Sampath , Lori Pollock, A case study of automatically creating test suites from web application field data, Proceedings of the 2006 workshop on Testing, analysis, and verification of web services and applications, p.1-9, July 17-17, 2006, Portland, Maine
|
|
|
|
Sreedevi Sampath , Sara Sprenkle , Emily Gibson , Lori Pollock, Integrating customized test requirements with traditional requirements in web application testing, Proceedings of the 2006 workshop on Testing, analysis, and verification of web services and applications, p.23-32, July 17-17, 2006, Portland, Maine
|
|
Leonidas Galanis , Supiti Buranawatanachoke , Romain Colle , Benoît Dageville , Karl Dias , Jonathan Klein , Stratos Papadomanolakis , Leng Leng Tan , Venkateshwaran Venkataramani , Yujun Wang , Graham Wood, Oracle database replay, Proceedings of the 2008 ACM SIGMOD international conference on Management of data, June 09-12, 2008, Vancouver, Canada
|
|
|
|
|
|
Shay Artzi , Adam Kiezun , Julian Dolby , Frank Tip , Danny Dig , Amit Paradkar , Michael D. Ernst, Finding bugs in dynamic web applications, Proceedings of the 2008 international symposium on Software testing and analysis, July 20-24, 2008, Seattle, WA, USA
|
|