ABSTRACT
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.
- N. Alshahwan and M. Harman. Automated session data repair for web application regression testing. In Proceedings of the 2008 International Conference on Software Testing, Verification, and Validation, pages 298--307, Washington, DC, USA, 2008. IEEE Computer Society. Google ScholarDigital Library
- Apache Foundation. The apache open for business project. http://ofbiz.apache.org/, Apr 2011.Google Scholar
- B. Daniel, T. Gvero, and D. Marinov. On test repair using symbolic execution. In Proceedings of the 19th international symposium on Software testing and analysis, ISSTA '10, pages 207--218, New York, NY, USA, 2010. ACM. Google ScholarDigital Library
- B. Daniel, V. Jagannath, D. Dig, and D. Marinov. Reassert: Suggesting repairs for broken unit tests. In Proceedings of the 2009 IEEE/ACM International Conference on Automated Software Engineering, ASE '09, pages 433--444, Washington, DC, USA, 2009. IEEE Computer Society. Google ScholarDigital Library
- K. Dobolyi and W. Weimer. Harnessing web-based application similarities to aid in regression testing. In Proceedings of the 20th IEEE international conference on software reliability engineering, ISSRE'09, pages 71--80, Piscataway, NJ, USA, 2009. IEEE Press. Google ScholarDigital Library
- M. Grechanik, Q. Xie, and C. Fu. Maintaining and evolving gui-directed test scripts. In Proceedings of the 31st International Conference on Software Engineering, ICSE '09, pages 408--418, Washington, DC, USA, 2009. IEEE Computer Society. Google ScholarDigital Library
- IBM Research. Coscripter. http://coscripter.researchlabs.ibm.com/coscripter/, Apr 2011.Google Scholar
- G. Leshed, E. M. Haber, T. Matthews, and T. Lau. Coscripter: automating & sharing how-to knowledge in the enterprise. In Proceeding of the twenty-sixth annual SIGCHI conference on Human factors in computing systems, CHI '08, pages 1719--1728, New York, NY, USA, 2008. ACM. Google ScholarDigital Library
- A. M. Memon and M. L. Soffa. Regression testing of guis. In Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on Foundations of software engineering, ESEC/FSE-11, pages 118--127, New York, NY, USA, 2003. ACM. Google ScholarDigital Library
- Open Source Matters, Inc. Joomla! http://joomla.org/, Apr 2011.Google Scholar
- OpenQA. Selenium web application testing system. http://seleniumhq.org/, May 2010.Google Scholar
- D. Roest, A. Mesbah, and A. v. Deursen. Regression testing ajax applications: Coping with dynamism. In Software Testing, Verification and Validation (ICST), 2010 Third International Conference on, pages 127--136, 6--10 2010. Google ScholarDigital Library
Index Terms
- WATER: Web Application TEst Repair
Recommendations
Visual web test repair
ESEC/FSE 2018: Proceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software EngineeringWeb tests are prone to break frequently as the application under test evolves, causing much maintenance effort in practice. To detect the root causes of a test breakage, developers typically inspect the test's interactions with the application through ...
Vista: web test repair using computer vision
ESEC/FSE 2018: Proceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software EngineeringRepairing broken web element locators represents the major main- tenance cost of web test cases. To detect possible repairs, testers typically inspect the tests’ interactions with the application under test through the GUI. Existing automated test ...
Semantic Test Repair for Web Applications
ESEC/FSE 2023: Proceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software EngineeringAutomation testing is widely used in the functional testing of web applications. However, during the evolution of web applications, such web test scripts tend to break. It is essential to repair such broken test scripts to make regression testing run ...
Comments