ABSTRACT
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.
- S. Chandra, E. Torlak, S. Barman, and R. Bodik. Angelic debugging. In Proceedings of the International Conference on Software Engineering, pages 121–130, 2011. Google ScholarDigital Library
- S. R. Choudhary, D. Zhao, H. Versee, and A. Orso. WATER: Web Application TEst Repair. In Proceedings of the Workshop on End-to-End Test Script Engineering, pages 24–29, 2011. Google ScholarDigital Library
- B. Daniel, T. Gvero, and D. Marinov. On test repair using symbolic execution. In Proceedings of the International Symposium on Software Testing and Analysis, pages 207–218, 2010. Google ScholarDigital Library
- B. Daniel, V. Jagannath, D. Dig, and D. Marinov. ReAssert: Suggesting repairs for broken unit tests. In Proceedings of the International Conference on Automated Software Engineering, pages 433–444, 2009. Google ScholarDigital Library
- B. Daniel, Q. Luo, M. Mirzaaghaei, D. Dig, D. Marinov, and M. Pezzè. Automated GUI refactoring and test script repair. In Proceedings of the Workshop on End-to-End Test Script Engineering, pages 38–41, 2011. Google ScholarDigital Library
- M. Dhatchayani, X. A. R. Arockia, P. Yogesh, and B. Zacharias. Test case generation and reusing test cases for GUI designed with HTML. Journal of Software, 7(10):2269–2277, 2012.Google Scholar
- D. Gopinath, M. Z. Malik, and S. Khurshid. Specification-based program repair using SAT. In Proceedings of the International Conference on Tools and Algorithms for the Construction and Analysis of Systems, pages 173–188, 2011. Google ScholarDigital Library
- M. Grechanik, Q. Xie, and C. Fu. Maintaining and evolving GUI-directed test scripts. In Proceedings of the International Conference on Software Engineering, pages 408–418, 2009. Google ScholarDigital Library
- M. Hammoudi, G. Rothermel, and A. Stocco. Waterfall: An incremental approach for repairing record-replay tests of web applications. In Proceedings of the International Symposium on the Foundations of Software Engineering, 2016. Google ScholarDigital Library
- M. Hammoudi, G. Rothermel, and P. Tonella. Why do record/replay tests of web applications break? In Proceedings of the International Conference on Software Testing, 2016.Google ScholarCross Ref
- S. Huang, M. B. Cohen, and A. M. Memon. Repairing GUI test suites using a genetic algorithm. In Proceedings of the International Conference on Software Testing, pages 245–254, 2010. Google ScholarDigital Library
- M. Leotta, A. Stocco, F. Ricca, and P. Tonella. Using multi-locators to increase the robustness of web test cases. In Proceedings of the International Conference on Software Testing, Verification and Validation, pages 1–10, 2015.Google ScholarCross Ref
- S. Mechtaev, J. Yi, and A. Roychoudhury. DirectFix: Looking for simple program repairs. In Proceedings of the International Conference on Software Engineering, pages 448–458, 2015. Google ScholarDigital Library
- A. M. Memon. Automatically repairing event sequence-based GUI test suites for regression testing. ACM Transactions on Software Engineering and Methodology, 18(2):4:1–4:36, 2008. Google ScholarDigital Library
- A. M. Memon and M. L. Soffa. Regression testing of GUIs. In Proceedings of the International Symposium on the Foundations of Software Engineering, 2003. Google ScholarDigital Library
- M. Mirzaaghaei, F. Pastore, and M. Pezze. Supporting test suite evolution through test case adaptation. In Proceedings of the International Conference on Software Testing, Verification and Validation, pages 231–240, 2012. Google ScholarDigital Library
- H. D. T. Nguyen, D. Qi, A. Roychoudhury, and S. Chandra. Semfix: Program repair via semantic analysis. In Proceedings of the International Conference on Software Engineering, pages 772–781, 2013. Google ScholarDigital Library
- The Selenium Project. http://seleniumhq.org/docs/03_webdriver.html/.Google Scholar
- A. Stocco, M. Leotta, F. Ricca, and P. Tonella. Why creating web page objects manually if it can be done automatically? In Proceedings of 10th IEEE/ACM International Workshop on Automation of Software Test, AST 2015, pages 70–74. IEEE, 2015. Google ScholarDigital Library
- A. Stocco, M. Leotta, F. Ricca, and P. Tonella. Clustering-aided page object generation for web testing. In Proceedings of 16th International Conference on Web Engineering, ICWE 2016, pages 132–151. Springer, 2016.Google Scholar
- S. Zhang, H. Lü, and M. D. Ernst. Automatically repairing broken workflows for evolving GUI applications. In Proceedings of the International Symposium on Software Testing and Analysis, pages 45–55, 2013. Google ScholarDigital Library
Index Terms
- Regression testing of web applications using Record/Replay tools
Recommendations
WATERFALL: an incremental approach for repairing record-replay tests of web applications
FSE 2016: Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software EngineeringSoftware engineers use record/replay tools to capture use case scenarios that can serve as regression tests for web applications. Such tests, however, can be brittle in the face of code changes. Thus, researchers have sought automated approaches for ...
Interactive record/replay for web application debugging
UIST '13: Proceedings of the 26th annual ACM symposium on User interface software and technologyDuring debugging, a developer must repeatedly and manually reproduce faulty behavior in order to inspect different facets of the program's execution. Existing tools for reproducing such behaviors prevent the use of debugging aids such as breakpoints and ...
Regression Testing Web Applications
ICACTE '08: Proceedings of the 2008 International Conference on Advanced Computer Theory and EngineeringA web application is an application that can be accessed via a web browser over a network. Web applications contain client side code and server side code. Web applications undergo changes in the maintenance phase, and retesting changed programs is done ...
Comments