Artigo Revisado por pares

Robula+ : an algorithm for generating robust XPath locators for web testing

2016; Wiley; Volume: 28; Issue: 3 Linguagem: Inglês

10.1002/smr.1771

ISSN

2047-7481

Autores

Maurizio Leotta, Andrea Stocco, Filippo Ricca, Paolo Tonella,

Tópico(s)

Web Data Mining and Analysis

Resumo

Journal of Software: Evolution and ProcessVolume 28, Issue 3 p. 177-204 Research Article Robula+: an algorithm for generating robust XPath locators for web testing Maurizio Leotta, Corresponding Author Maurizio Leotta orcid.org/0000-0001-5267-0602 Dipartimento di Informatica, Bioingegneria, Robotica e Ingegneria dei Sistemi (DIBRIS), Università di Genova, Genova, Italy Correspondence to: Maurizio Leotta, Dipartimento di Informatica, Bioingegneria, Robotica e Ingegneria dei Sistemi (DIBRIS), Università di Genova, Genova, Italy. E-mail: [email protected]Search for more papers by this authorAndrea Stocco, Andrea Stocco Dipartimento di Informatica, Bioingegneria, Robotica e Ingegneria dei Sistemi (DIBRIS), Università di Genova, Genova, ItalySearch for more papers by this authorFilippo Ricca, Filippo Ricca Dipartimento di Informatica, Bioingegneria, Robotica e Ingegneria dei Sistemi (DIBRIS), Università di Genova, Genova, ItalySearch for more papers by this authorPaolo Tonella, Paolo Tonella Fondazione Bruno Kessler, Trento, ItalySearch for more papers by this author Maurizio Leotta, Corresponding Author Maurizio Leotta orcid.org/0000-0001-5267-0602 Dipartimento di Informatica, Bioingegneria, Robotica e Ingegneria dei Sistemi (DIBRIS), Università di Genova, Genova, Italy Correspondence to: Maurizio Leotta, Dipartimento di Informatica, Bioingegneria, Robotica e Ingegneria dei Sistemi (DIBRIS), Università di Genova, Genova, Italy. E-mail: [email protected]Search for more papers by this authorAndrea Stocco, Andrea Stocco Dipartimento di Informatica, Bioingegneria, Robotica e Ingegneria dei Sistemi (DIBRIS), Università di Genova, Genova, ItalySearch for more papers by this authorFilippo Ricca, Filippo Ricca Dipartimento di Informatica, Bioingegneria, Robotica e Ingegneria dei Sistemi (DIBRIS), Università di Genova, Genova, ItalySearch for more papers by this authorPaolo Tonella, Paolo Tonella Fondazione Bruno Kessler, Trento, ItalySearch for more papers by this author First published: 09 March 2016 https://doi.org/10.1002/smr.1771Citations: 42Read the full textAboutPDF ToolsRequest permissionExport citationAdd to favoritesTrack citation ShareShare Give accessShare full text accessShare full-text accessPlease review our Terms and Conditions of Use and check box below to share full-text version of article.I have read and accept the Wiley Online Library Terms and Conditions of UseShareable LinkUse the link below to share a full-text version of this article with your friends and colleagues. Learn more.Copy URL Share a linkShare onEmailFacebookTwitterLinkedInRedditWechat Abstract Automated test scripts are used with success in many web development projects, so as to automatically verify key functionalities of the web application under test, reveal possible regressions and run a large number of tests in short time. However, the adoption of automated web testing brings advantages but also novel problems, among which the test code fragility problem. During the evolution of the web application, existing test code may easily break and testers have to correct it. In the context of automated DOM-based web testing, one of the major costs for evolving the test code is the manual effort necessary to repair broken web page element locators – lines of source code identifying the web elements (e.g. form fields and buttons) to interact with. In this work, we present Robula+, a novel algorithm able to generate robust XPath-based locators – locators that are likely to work correctly on new releases of the web application. We compared Robula+ with several state of the practice/art XPath locator generator tools/algorithms. Results show that XPath locators produced by Robula+ are by far the most robust. Indeed, Robula+ reduces the locators' fragility on average by 90% w.r.t. absolute locators and by 63% w.r.t. Selenium IDE locators. Copyright © 2016 John Wiley & Sons, Ltd. References 1Tonella P, Ricca F, Marchetto A. Recent advances in web testing. Advances in Computers 2014; 93: 1–51. DOI:10.1016/b978-0-12-800162-2.00001-4. 10.1016/b978-0-12-800162-2.00001-4 Web of Science®Google Scholar 2Chapman P, Evans D. Automated black-box detection of side-channel vulnerabilities in web applications. Proceedings of the 18th Conference on Computer and Communications Security, CCS 2011, ACM: New York, NY, USA, 2011; 263–274, DOI:10.1145/2046707.2046737. Google Scholar 3Bruns A, Kornstadt A, Wichmann D. Web application tests with Selenium. IEEE Software 2009; 26(5): 88–91. DOI:10.1109/ms.2009.144. 10.1109/ms.2009.144 Web of Science®Google Scholar 4Chang TH, Yeh T, Miller RC. GUI testing using computer vision. Proceedings of the 28th ACM Conference on Human Factors in Computing Systems, CHI 2010, ACM, 2010; 1535–1544, DOI:10.1145/1753326.1753555. Google Scholar 5Thummalapenta S, Devaki P, Sinha S, Chandra S, Gnanasundaram S, Nagaraj DD, Sathishkumar S. Efficient and change-resilient test automation: an industrial case study. Proceedings of the 35th International Conference on Software Engineering, ICSE 2013, IEEE Press, 2013; 1002–1011, DOI:10.1109/icse.2013.6606650. Google Scholar 6Yandrapally R, Thummalapenta S, Sinha S, Chandra S. Robust test automation using contextual clues. Proceedings of the 2014 International Symposium on Software Testing and Analysis, ISSTA 2014, ACM, 2014; 304–314, DOI:10.1145/2610384.2610390. Google Scholar 7Massol V, Husted T. JUnit in Action. Manning Publications Co.: Greenwich, CT, USA, 2003. Google Scholar 8Leotta M, Clerissi D, Ricca F, Tonella P. Capture-replay vs. programmable web testing: an empirical assessment during test case evolution. Proceedings of 20th Working Conference on Reverse Engineering, WCRE 2013, IEEE, 2013; 272–281, DOI:10.1109/WCRE.2013.6671302. Google Scholar 9Leotta M, Stocco A, Ricca F, Tonella P. Reducing web test cases aging by means of robust XPath locators. Proceedings of 25th International Symposium on Software Reliability Engineering Workshops, ISSREW 2014, IEEE, 2014; 449–454, DOI:10.1109/ISSREW.2014.17. Google Scholar 10Montoto P, Pan A, Raposo J, Bellas F, Lopez J. Automated browsing in Ajax websites. Data & Knowledge Engineering 2011; 70(3): 269–283. DOI:10.1016/j.datak.2010.12.001. 10.1016/j.datak.2010.12.001 Web of Science®Google Scholar 11Leotta M, Clerissi D, Ricca F, Tonella P. Approaches and Tools for Automated End-to-End Web Testing. Advances in Computers. Elsevier, 2016; 101: 193–237. DOI:10.1016/bs.adcom.2015.11.007. Google Scholar 12Choudhary SR, Zhao D, Versee H, Orso A. WATER: Web application TEst repair. Proceedings of the 1st International Workshop on End-to-End Test Script Engineering, ETSE 2011, ACM, 2011; 24–29, DOI:10.1145/2002931.2002935. Google Scholar 13Mirzaaghaei M. Automatic test suite evolution. Proceedings of the 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of Software Engineering, ESEC/FSE 2011, ACM, 2011; 396–399, DOI:10.1145/2025113.2025172. Google Scholar 14Leotta M, Clerissi D, Ricca F, Spadaro C. Improving test suites maintainability with the page object pattern: an industrial case study. Proceedings of 6th International Conference on Software Testing, Verification and Validation Workshops, ICSTW 2013, IEEE, 2013; 108–113, DOI:10.1109/ICSTW.2013.19. Google Scholar 15Christophe L, Stevens R, De Roover C, De Meuter W. Prevalence and maintenance of automated functional tests for web applications. Proceedings of the 30th International Conference on Software Maintenance and Evolution, ICSME 2014, IEEE, 2014; 141–150, DOI:10.1109/ICSME.2014.36. Google Scholar 16Collins E, de Lucena V. Software test automation practices in agile development environment: an industry experience report. Proceedings of the 7th International Workshop on Automation of Software Test, AST 2012, IEEE, 2012; 57–63, DOI:10.1109/iwast.2012.6228991. Google Scholar 17Leotta M, Clerissi D, Ricca F, Spadaro C. Comparing the maintainability of Selenium WebDriver test suites employing different locators: a case study. Proceedings of 1st International Workshop on Joining AcadeMiA and Industry Contributions to testing Automation, JAMAICA 2013, ACM, 2013; 53–58, DOI:10.1145/2489280.2489284. Google Scholar 18Rao G, Pachunoori A. Optimized identification techniques using XPath. Technical Report MSU-CSE-00-2, IBM Developerworks, 2013. Google Scholar 19Wohlin C, Runeson P, Höst M, Ohlsson M, Regnell B, Wesslén A. Experimentation in Software Engineering: An Introduction. Kluwer Academic Publishers: Norwell, MA, USA, 2000. 10.1007/978-1-4615-4625-2 Google Scholar 20Kowalkiewicz M, Orlowska ME, Kaczmarek T, Abramowicz W. Robust web content extraction. Proceedings of the 15th International Conference on World Wide Web, WWW 2006, ACM, 2006; 887–888, DOI:10.1145/1135777.1135928. Google Scholar 21Myllymaki J, Jackson J. Robust web data extraction with XML path expressions. IBM Research Report, 2002. Google Scholar 22Dalvi N, Bohannon P, Sha F. Robust web extraction: an approach based on a probabilistic tree-edit model. Proceedings of the 35th ACM SIGMOD International Conference on Management of Data, SIGMOD 2009, ACM, 2009; 335–348, DOI:10.1145/1559845.1559882. Google Scholar 23Abe M, Hori M. Robust pointing by XPath language: authoring support and empirical evaluation. Proceedings of the 3rd Symposium on Applications and the Internet, SAINT 2003, IEEE, 2003; 156–165, DOI:10.1109/saint.2003.1183044. Google Scholar 24Anton T. XPath-wrapper induction by generating tree traversal patterns. Lernen, Wissensentdeckung und Adaptivität, GI Workshops, LWA 2005, DFKI, 2005; 126–133. Google Scholar 25Grechanik M, Xie Q, Fu C. Maintaining and evolving GUI-directed test scripts. Proceedings of the 31st International Conference on Software Engineering, ICSE 2009, IEEE, 2009; 408–418, DOI:10.1109/icse.2009.5070540. Google Scholar 26Thummalapenta S, Singhania N, Devaki P, Sinha S, Chandra S, Das AK, Mangipudi S. Efficiently scripting change-resilient tests. Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering, FSE 2012, ACM, 2012; 41:1–41:2, DOI:10.1145/2393596.2393643. Google Scholar 27Thummalapenta S, Sinha S, Singhania N, Chandra S. Automating test automation. Proceedings of the 34th International Conference on Software Engineering, ICSE 2012, IEEE Press, 2012; 881–891, DOI:10.1109/icse.2012.6227131. Google Scholar 28Pirzadeh H, Shanian S. Resilient user interface level tests. Proceedings of the 29th ACM/IEEE International Conference on Automated Software Engineering, ASE 2014, ACM, 2014; 683–688, DOI:10.1145/2642937.2642954. Google Scholar 29Leotta M, Stocco A, Ricca F, Tonella P. Automated Generation of Visual Web Tests from DOM-based Web Tests. Proceedings of 30th ACM/SIGAPP Symposium on Applied Computing, SAC 2015. ACM: Salamanca, Spain, 2015; 775–782, DOI:10.1145/2695664.2695847. 10.1145/2695664.2695847 Google Scholar 30Leotta M, Stocco A, Ricca F, Tonella P. Meta-Heuristic Generation of Robust XPath Locators for Web Testing. Proceedings of 8th IEEE/ACM International Workshop on Search-Based Software Testing, SBST 2015. IEEE: Florence, Italy, 2015; 36–39, DOI:10.1109/SBST.2015.16. 10.1109/SBST.2015.16 Google Scholar 31Leotta M, Stocco A, Ricca F, Tonella P. Using Multi-Locators to Increase the Robustness of Web Test Cases. Proceedings of 8th IEEE International Conference on Software Testing, Verification and Validation, ICST 2015. IEEE: Graz, Austria, 2015; 1–10, DOI:10.1109/ICST.2015.7102611. 10.1109/ICST.2015.7102611 Google Scholar Citing Literature Volume28, Issue3March 2016Pages 177-204 ReferencesRelatedInformation

Referência(s)