skip to main content
10.1145/2002931.2002935acmconferencesArticle/Chapter ViewAbstractPublication PagesisstaConference Proceedingsconference-collections
research-article

WATER: Web Application TEst Repair

Published:17 July 2011Publication History

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.

References

  1. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  2. Apache Foundation. The apache open for business project. http://ofbiz.apache.org/, Apr 2011.Google ScholarGoogle Scholar
  3. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  4. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  5. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  6. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  7. IBM Research. Coscripter. http://coscripter.researchlabs.ibm.com/coscripter/, Apr 2011.Google ScholarGoogle Scholar
  8. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  9. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  10. Open Source Matters, Inc. Joomla! http://joomla.org/, Apr 2011.Google ScholarGoogle Scholar
  11. OpenQA. Selenium web application testing system. http://seleniumhq.org/, May 2010.Google ScholarGoogle Scholar
  12. 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 ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. WATER: Web Application TEst Repair

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      ETSE '11: Proceedings of the First International Workshop on End-to-End Test Script Engineering
      July 2011
      46 pages
      ISBN:9781450308083
      DOI:10.1145/2002931

      Copyright © 2011 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 17 July 2011

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Upcoming Conference

      ISSTA '24

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader