Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on Foundations of software engineering
CoScripter: automating & sharing how-to knowledge in the enterprise
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Automated Session Data Repair for Web Application Regression Testing
ICST '08 Proceedings of the 2008 International Conference on Software Testing, Verification, and Validation
Maintaining and evolving GUI-directed test scripts
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
ReAssert: Suggesting Repairs for Broken Unit Tests
ASE '09 Proceedings of the 2009 IEEE/ACM International Conference on Automated Software Engineering
Harnessing web-based application similarities to aid in regression testing
ISSRE'09 Proceedings of the 20th IEEE international conference on software reliability engineering
Regression Testing Ajax Applications: Coping with Dynamism
ICST '10 Proceedings of the 2010 Third International Conference on Software Testing, Verification and Validation
On test repair using symbolic execution
Proceedings of the 19th international symposium on Software testing and analysis
Understanding myths and realities of test-suite evolution
Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering
Automatically repairing broken workflows for evolving GUI applications
Proceedings of the 2013 International Symposium on Software Testing and Analysis
Efficient and change-resilient test automation: an industrial case study
Proceedings of the 2013 International Conference on Software Engineering
TestEvol: a tool for analyzing test-suite evolution
Proceedings of the 2013 International Conference on Software Engineering
Automating property-based testing of evolving web services
Proceedings of the ACM SIGPLAN 2014 Workshop on Partial Evaluation and Program Manipulation
Hi-index | 0.00 |
Web applications tend to evolve quickly, resulting in errors and failures in test automation scripts that exercise them. Repairing such scripts to work on the updated application is essential for maintaining the quality of the test suite. Updating such scripts manually is a time consuming task, which is often difficult and is prone to errors if not performed carefully. In this paper, we propose a technique to automatically suggest repairs for such web application test scripts. Our technique is based on differential testing and compares the behavior of the test case on two successive versions of the web application: first version in which the test script runs successfully and the second version in which the script results in an error or failure. By analyzing the difference between these two executions, our technique suggests repairs that can be applied to repair the scripts. To evaluate our technique, we implemented it in a tool called WATER and exercised it on real web applications with test cases. Our experiments show that WATER can suggest meaningful repairs for practical test cases, many of which correspond to those made later by developers themselves.