Regression testing of web applications using Record/Replay tools

Software engineers often use record/replay tools to enable the automated testing of web applications. Tests created in this man- ner can then be used to regression test new versions of the web applications as they evolve. Web application tests recorded by record/replay tools, however, can be quite brittle; they can easily break as applications change. For this reason, researchers have be- gun to seek approaches for automatically repairing record/replay tests. This research investigates different aspects in relation to test- ing web applications using record/replay tools. The areas that we are interested in include taxonomizing the causes behind breakages and developing automated techniques to repair breakages, creating prevention techniques to stop the occurrence of breakages and de- veloping automated frameworks for root cause analysis. Finally, we intend to evaluate all of these activities via controlled studies involving software engineers and real web application tests.

[1]  Emina Torlak,et al.  Angelic debugging , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[2]  Michael D. Ernst,et al.  Automatically repairing broken workflows for evolving GUI applications , 2013, ISSTA.

[3]  Mauro Pezzè,et al.  Automated GUI refactoring and test script repair , 2011, ETSE '11.

[4]  Alessandro Orso,et al.  WATER: Web Application TEst Repair , 2011, ETSE '11.

[5]  Paolo Tonella,et al.  Why Creating Web Page Objects Manually If It Can Be Done Automatically? , 2015, 2015 IEEE/ACM 10th International Workshop on Automation of Software Test.

[6]  Gregg Rothermel,et al.  Why do Record/Replay Tests of Web Applications Break? , 2016, 2016 IEEE International Conference on Software Testing, Verification and Validation (ICST).

[7]  Mauro Pezzè,et al.  Supporting Test Suite Evolution through Test Case Adaptation , 2012, 2012 IEEE Fifth International Conference on Software Testing, Verification and Validation.

[8]  Paolo Tonella,et al.  Clustering-Aided Page Object Generation for Web Testing , 2016, ICWE.

[9]  Yogesh Palanichamy,et al.  Test Case Generation and Reusing Test Cases for GUI Designed with HTML , 2012, J. Softw..

[10]  Dawei Qi,et al.  SemFix: Program repair via semantic analysis , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[11]  Darko Marinov,et al.  On test repair using symbolic execution , 2010, ISSTA '10.

[12]  Paolo Tonella,et al.  Using Multi-Locators to Increase the Robustness of Web Test Cases , 2015, 2015 IEEE 8th International Conference on Software Testing, Verification and Validation (ICST).

[13]  Abhik Roychoudhury,et al.  DirectFix: Looking for Simple Program Repairs , 2015, 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering.

[14]  Mary Lou Soffa,et al.  Regression testing of GUIs , 2003, ESEC/FSE-11.

[15]  Darko Marinov,et al.  ReAssert: Suggesting Repairs for Broken Unit Tests , 2009, 2009 IEEE/ACM International Conference on Automated Software Engineering.

[16]  Chen Fu,et al.  Maintaining and evolving GUI-directed test scripts , 2009, 2009 IEEE 31st International Conference on Software Engineering.

[17]  Atif M. Memon,et al.  Automatically repairing event sequence-based GUI test suites for regression testing , 2008, TSEM.

[18]  Myra B. Cohen,et al.  Repairing GUI Test Suites Using a Genetic Algorithm , 2010, 2010 Third International Conference on Software Testing, Verification and Validation.

[19]  Gregg Rothermel,et al.  WATERFALL: an incremental approach for repairing record-replay tests of web applications , 2016, SIGSOFT FSE.

[20]  Sarfraz Khurshid,et al.  Specification-Based Program Repair Using SAT , 2011, TACAS.