Estimating Return on Investment for GUI Test Automation Tools

Automated graphical user interface (GUI) tests can reduce manual testing activities and increase test frequency. This motivates the conversion of manual test cases into automated GUI tests. However, it is not clear whether such automation is cost-effective given that GUI automation scripts add to the code base and demand maintenance as a system evolves. In this paper, we introduce a method for estimating maintenance cost and Return on Investment (ROI) for Automated GUI Testing (AGT). The method utilizes the existing source code change history and can be used for evaluation also of other testing or quality assurance automation technologies. We evaluate the method for a real-world, industrial software system and compare two fundamentally different AGT tools, namely Selenium and EyeAutomate, to estimate and compare their ROI. We also report on their defect-finding capabilities and usability. The quantitative data is complemented by interviews with employees at the case company. The method was successfully applied and estimated maintenance cost and ROI for both tools are reported. Overall, the study supports earlier results showing that implementation time is the leading cost for introducing AGT. The findings further suggest that while EyeAutomate tests are significantly faster to implement, Selenium tests require more of a programming background but less maintenance.

[1]  S. Berner,et al.  Observations and lessons learned from automated testing , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[2]  Atif M. Memon,et al.  Conceptualization and Evaluation of Component-Based Testing Unified with Visual GUI Testing: An Empirical Study , 2015, 2015 IEEE 8th International Conference on Software Testing, Verification and Validation (ICST).

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

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

[5]  Filippo Ricca,et al.  Improving Test Suites Maintainability with the Page Object Pattern: An Industrial Case Study , 2013, 2013 IEEE Sixth International Conference on Software Testing, Verification and Validation Workshops.

[6]  Atif M. Memon,et al.  GUITAR: an innovative tool for automated testing of GUI-driven software , 2014, Automated Software Engineering.

[7]  Marc Kellogg,et al.  Automating functional tests using Selenium , 2006, AGILE 2006 (AGILE'06).

[8]  Paolo Tonella,et al.  Testing Processes of Web Applications , 2002, Ann. Softw. Eng..

[9]  Vahid Garousi,et al.  When and what to automate in software testing? A multi-vocal literature review , 2016, Inf. Softw. Technol..

[10]  Matthias Hauswirth,et al.  Automated GUI performance testing , 2011, Software Quality Journal.

[11]  Paolo Tonella,et al.  Capture-replay vs. programmable web testing: An empirical assessment during test case evolution , 2013, 2013 20th Working Conference on Reverse Engineering (WCRE).

[12]  Paolo Tonella,et al.  A case study-based comparison of web testing techniques applied to AJAX web applications , 2008, International Journal on Software Tools for Technology Transfer.

[13]  Emil Borjesson Industrial Applicability of Visual GUI Testing for System and Acceptance Test Automation , 2012, ICST 2012.

[14]  Luca Ardito,et al.  Espresso vs. EyeAutomate: An Experiment for the Comparison of Two Generations of Android GUI Testing , 2019, EASE.

[15]  Ossi Taipale,et al.  Software Test Automation in Practice: Empirical Observations , 2010, Adv. Softw. Eng..

[16]  Robert Feldt,et al.  Visual GUI testing in practice: challenges, problemsand limitations , 2015, Empirical Software Engineering.

[17]  Robert Feldt,et al.  On the long-term use of visual gui testing in industrial practice: a case study , 2017, Empirical Software Engineering.

[18]  Robert Feldt,et al.  State-of-Practice in GUI-based System and Acceptance Testing: An Industrial Multiple-Case Study , 2013, 2013 39th Euromicro Conference on Software Engineering and Advanced Applications.

[19]  Richard C. Holt,et al.  Replaying development history to assess the effectiveness of change propagation tools , 2006, Empirical Software Engineering.

[20]  Richard Torkar,et al.  Bayesian Data Analysis in Empirical Software Engineering Research , 2018, IEEE Transactions on Software Engineering.

[21]  Paolo Tonella,et al.  Visual vs. DOM-Based Web Locators: An Empirical Study , 2014, ICWE.

[22]  Emil Alegroth,et al.  Thesis for The Degree of Doctor of Philosophy Visual GUI Testing : Automating High-Level Software Testing in Industrial Practice , 2015 .

[23]  Luke S. Zettlemoyer,et al.  IBOTS: agent control through the user interface , 1998, IUI '99.

[24]  Robert Feldt,et al.  Industrial Application of Visual GUI Testing: Lessons Learned , 2014, Continuous Software Engineering.

[25]  Antonia Bertolino,et al.  Software Testing Research: Achievements, Challenges, Dreams , 2007, Future of Software Engineering (FOSE '07).

[26]  Atif M. Memon,et al.  Automating regression testing for evolving GUI software , 2005, J. Softw. Maintenance Res. Pract..

[27]  Wasif Afzal,et al.  A Comparative Evaluation of Using Genetic Programming for Predicting Fault Count Data , 2008, 2008 The Third International Conference on Software Engineering Advances.

[28]  Robert Feldt,et al.  Maintenance of automated test suites in industry: An empirical study on Visual GUI Testing , 2016, Inf. Softw. Technol..

[29]  Daniela E. Damian,et al.  The promises and perils of mining GitHub , 2009, MSR 2014.

[30]  Luca Ardito,et al.  Towards automated translation between generations of GUI-based tests for mobile devices , 2018, ISSTA/ECOOP Workshops.

[31]  Richard Potter,et al.  Triggers: guiding automation with pixels to achieve data access , 1993 .

[32]  Atif M. Memon GUI Testing: Pitfalls and Process , 2002, Computer.

[33]  Tao Xie,et al.  Helping users avoid bugs in GUI applications , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[34]  Helena Holmström Olsson,et al.  JAutomate: A Tool for System- and Acceptance-test Automation , 2013, 2013 IEEE Sixth International Conference on Software Testing, Verification and Validation.

[35]  Kai Petersen,et al.  Benefits and limitations of automated software testing: Systematic literature review and practitioner survey , 2012, 2012 7th International Workshop on Automation of Software Test (AST).