Automated System Testing Using Visual GUI Testing Tools: A Comparative Study in Industry

Software companies are under continuous pressure to shorten time to market, raise quality and lower costs. More automated system testing could be instrumental in achieving these goals and in recent years testing tools have been developed to automate the interaction with software systems at the GUI level. However, there is a lack of knowledge on the usability and applicability of these tools in an industrial setting. This study evaluates two tools for automated visual GUI testing on a real-world, safety-critical software system developed by the company Saab AB. The tools are compared based on their properties as well as how they support automation of system test cases that have previously been conducted manually. The time to develop and the size of the automated test cases as well as their execution times have been evaluated. Results show that there are only minor differences between the two tools, one commercial and one open-source, but, more importantly, that visual GUI testing is an applicable technology for automated system testing with effort gains over manual system test practices. The study results also indicate that the technology has benefits over alternative GUI testing techniques and that it can be used for automated acceptance testing. However, visual GUI testing still has challenges that must be addressed, in particular the script maintenance costs and how to support robust test execution.

[1]  Kenton O'Hara,et al.  Social Impact , 2019, Encyclopedia of Food and Agricultural Ethics.

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

[3]  Johan Andersson,et al.  The Video Store Revisited Yet Again: Adventures in GUI Acceptance Testing , 2004, XP.

[4]  David Chenho Kung,et al.  Behavior-based acceptance testing of software systems: a formal scenario approach , 1994, Proceedings Eighteenth Annual International Computer Software and Applications Conference (COMPSAC 94).

[5]  Michael Olan,et al.  Unit testing: test early, test often , 2003 .

[6]  Dave Astels,et al.  The RSpec Book: Behaviour Driven Development with RSpec, Cucumber, and Friends , 2010 .

[7]  Alexander Egyed,et al.  Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering , 2007, ASE 2007.

[8]  Charles Lowell,et al.  Successful Automation of GUI Driven Acceptance Testing , 2003, XP.

[9]  David Chenho Kung,et al.  Software requirements and acceptance testing , 1997, Ann. Softw. Eng..

[10]  Elaine J. Weyuker Testing Component-Based Software: A Cautionary Tale , 1998, IEEE Softw..

[11]  Rob Miller,et al.  GUI testing using computer vision , 2010, CHI.

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

[13]  Matthias Hauswirth,et al.  Automating performance testing of interactive Java applications , 2010, AST '10.

[14]  Lars Pareto,et al.  Costs and Benefits of Structure-aware Capture/Replay tools , 2006 .

[15]  Atif M. Memon,et al.  An event‐flow model of GUI‐based applications for testing , 2007, Softw. Test. Verification Reliab..

[16]  B. Paech,et al.  Criteria for Software Testing Tool Evaluation – A Task Oriented View , 2005 .

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

[18]  James Miller,et al.  A practical approach to testing GUI systems , 2006, Empirical Software Engineering.

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

[20]  Gregg Rothermel,et al.  An empirical study of regression test selection techniques , 1998, Proceedings of the 20th International Conference on Software Engineering.

[21]  Luke S. Zettlemoyer,et al.  A visual medium for programmatic control of interactive applications , 1999, CHI '99.

[22]  D R Shearer,et al.  Acceptance testing. , 1998, Radiology management.

[23]  Atif M. Memon,et al.  Automated gui testing guided by usage profiles , 2007, ASE.

[24]  Jocelyn Armarego,et al.  CASE Tools: Constructivism and its Application to Learning and Usability of Software Engineering Tools , 2001, Comput. Sci. Educ..

[25]  Mary Lou Soffa,et al.  Hierarchical GUI Test Case Generation Using Automated Planning , 2001, IEEE Trans. Software Eng..

[26]  Andy Hopper,et al.  Virtual Network Computing , 1998, IEEE Internet Comput..