Conceptualization and Evaluation of Component-Based Testing Unified with Visual GUI Testing: An Empirical Study

In this paper we present the results of a two-phase empirical study where we evaluate and compare the applicability of automated component-based Graphical User Interface (GUI) testing and Visual GUI Testing (VGT) in the tools GUITAR and a prototype tool we refer to as VGT GUITAR. First, GUI mutation operators are defined to create 18 faulty versions of an application on which both tools are then applied in an experiment. Results from 456 test case executions in each tool show, with statistical significance, that the component-based approach reports more false negatives than VGT for acceptance tests but that the VGT approach reports more false positives for system tests. Second, a case study is performed with larger open source applications, ranging from 8,803-55,006 lines of code. Results show that GUITAR is applicable in practice but has some challenges related to GUI component states. The results also show that VGT GUITAR is currently not applicable in practice and therefore requires further research and development. Based on the study's results we present areas of future work for both test approaches and conclude that the approaches have different benefits and drawbacks. The component-based approach is robust and executes tests faster than the VGT approach, with a factor of 3. However, the VGT approach can perform visual assertions and is perceived more flexible than the component- based approach. These conclusions let us hypothesize that a combination of the two approaches is the most suitable in practice and therefore warrants future research.

[1]  Per Runeson,et al.  Guidelines for conducting and reporting case study research in software engineering , 2009, Empirical Software Engineering.

[2]  Robert Feldt,et al.  Automated System Testing Using Visual GUI Testing Tools: A Comparative Study in Industry , 2012, 2012 IEEE Fifth International Conference on Software Testing, Verification and Validation.

[3]  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.

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

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

[6]  Mark Harman,et al.  An Analysis and Survey of the Development of Mutation Testing , 2011, IEEE Transactions on Software Engineering.

[7]  John Paul,et al.  Automated Software Testing: Introduction, Management, and Performance , 1999 .

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

[9]  Tathagat Varma,et al.  Automated software testing: introduction, management and performance , 2000, SOEN.

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

[11]  Tarun Lalwani,et al.  UFT/QTP Interview Unplugged: And I thought I knew UFT! , 2013 .

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

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

[14]  Robert Feldt,et al.  Transitioning Manual System Test Suites to Automated Testing: An Industrial Case Study , 2013, 2013 IEEE Sixth International Conference on Software Testing, Verification and Validation.

[15]  Atif M. Memon,et al.  An Observe-Model-Exercise* Paradigm to Test Event-Driven Systems with Undetermined Input Spaces , 2014, IEEE Transactions on Software Engineering.

[16]  Wei-Tek Tsai,et al.  Regression testing in an industrial environment , 1998, CACM.

[17]  Macario Polo,et al.  Mutation at System and Functional Levels , 2010, 2010 Third International Conference on Software Testing, Verification, and Validation Workshops.

[18]  Atif M. Memon,et al.  An Extensible Framework to Implement Test Oracle for Non-Testable Programs , 2014, SEKE.

[19]  Emil Alégroth Random Visual GUI Testing: Proof of Concept , 2013, SEKE.

[20]  Emil Alegroth On the Industrial Applicability of Visual GUI Testing , 2013 .

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

[22]  Gregg Rothermel,et al.  Prioritizing test cases for regression testing , 2000, ISSTA '00.

[23]  Richard J. Lipton,et al.  Hints on Test Data Selection: Help for the Practicing Programmer , 1978, Computer.

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