Trends in Model-based GUI Testing

This chapter gives an overview of the recent advances in GUI testing. Considering the increasing popularity and fast software development cycles (e.g., desktop and mobile applications), GUI testing gains more importance as it allows us to verify the behavior of a system from the user’s perspective. Thus, it can quickly uncover relevant bugs, which a user could face. Traditional capture-replay GUI testing approaches do not meet the demands of developers anymore. Therefore, there is an increasing research activity in model-based GUI testing, where the user interaction behavior is simulated using a graph-based model. In the following, we outline different graphical notations to describe feasible user interactions, and methods to generate and execute test cases from these models. We discuss the benefits and limitations of the state-of-the-art in GUI testing research and give a brief outlook about new trends and possibilities to improve the GUI testing automation.

[1]  Fevzi Belli,et al.  Event‐based modelling, analysis and testing of user interactions: approach and case study , 2006, Softw. Test. Verification Reliab..

[2]  Mika Katara,et al.  Model-Based GUI Testing: Case Smartphone Camera and Messaging Development , 2012, Adv. Comput..

[3]  Sarfraz Khurshid,et al.  Event Listener Analysis and Symbolic Execution for Testing GUI Applications , 2009, ICFEM.

[4]  Gregory D. Abowd,et al.  Human-Computer Interaction, third edition , 2004 .

[5]  Atif M. Memon,et al.  Developing a Single Model and Test Prioritization Strategies for Event-Driven Software , 2011, IEEE Transactions on Software Engineering.

[6]  Nikolai Tillmann,et al.  Modeling and Testing Hierarchical GUIs , 2005, Abstract State Machines.

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

[8]  Atif M. Memon,et al.  Test case generator for GUITAR , 2008, ICSE Companion '08.

[9]  Atif M. Memon,et al.  Relationships between Test Suites, Faults, and Fault Detection in GUI Testing , 2008, 2008 1st International Conference on Software Testing, Verification, and Validation.

[10]  Atif M. Memon,et al.  Advances in Automated Model-Based System Testing of Software Applications with a GUI Front-End , 2010, Adv. Comput..

[11]  Christof J. Budnik Test generation using event sequence graphs , 2006 .

[12]  Atif M. Memon,et al.  GUI ripping: reverse engineering of graphical user interfaces for testing , 2003, 10th Working Conference on Reverse Engineering, 2003. WCRE 2003. Proceedings..

[13]  Fevzi Belli Goal-Driven, Scalable Generation of Complete Interaction Sequences for Testing Graphical User Interfaces , 2001, IEA/AIE.

[14]  Daniel P. Siewiorek,et al.  A method to automate user interface testing using variable finite state machines , 1997, Proceedings of IEEE 27th International Symposium on Fault Tolerant Computing.

[15]  Atif M. Memon,et al.  Generating Event Sequence-Based Test Cases Using GUI Runtime State Feedback , 2010, IEEE Transactions on Software Engineering.

[16]  ABEventArgs TwoCoordinateEventArgs The power of abstraction , reuse and simplicity : An object-oriented library for event-driven design , 2002 .

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

[18]  ATIF M. MEMON Advances in GUI testing , 2003, Adv. Comput..

[19]  Atif M. Memon,et al.  Studying the fault-detection effectiveness of GUI test cases for rapidly evolving software , 2005, IEEE Transactions on Software Engineering.

[20]  Nikolai Tillmann,et al.  Pex-White Box Test Generation for .NET , 2008, TAP.

[21]  Fevzi Belli,et al.  Finite state testing and analysis of graphical user interfaces , 2001, Proceedings 12th International Symposium on Software Reliability Engineering.

[22]  Sarfraz Khurshid,et al.  Test generation for graphical user interfaces based on symbolic execution , 2008, AST '08.

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

[24]  Koushik Sen,et al.  Heuristics for Scalable Dynamic Test Generation , 2008, 2008 23rd IEEE/ACM International Conference on Automated Software Engineering.

[25]  Atif M. Memon,et al.  Designing and comparing automated test oracles for GUI-based software applications , 2007, TSEM.

[26]  Ana C. R. Paiva,et al.  Reverse engineering of GUI models for testing , 2010, 5th Iberian Conference on Information Systems and Technologies.

[27]  Alex Groce,et al.  Heuristics for model checking Java programs , 2004, International Journal on Software Tools for Technology Transfer.

[28]  Frank Yellin,et al.  The Java Virtual Machine Specification , 1996 .

[29]  Thomas W. Reps,et al.  WYSINWYX: What You See Is Not What You eXecute , 2005, VSTTE.

[30]  Atif M. Memon,et al.  Iterative execution-feedback model-directed GUI testing , 2010, Inf. Softw. Technol..

[31]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[32]  Sarfraz Khurshid,et al.  Test input generation with java PathFinder , 2004, ISSTA '04.

[33]  Rong Chen,et al.  Automated GUI Testing for J2ME Software Based on FSM , 2009, 2009 International Conference on Scalable Computing and Communications; Eighth International Conference on Embedded Computing.

[34]  Myra B. Cohen,et al.  GUI Interaction Testing: Incorporating Event Context , 2011, IEEE Transactions on Software Engineering.

[35]  Martin Schäf,et al.  Behind the Scenes: An Approach to Incorporate Context in GUI Test Case Generation , 2011, 2011 IEEE Fourth International Conference on Software Testing, Verification and Validation Workshops.

[36]  Lee J. White,et al.  Event-based modelling, analysis and testing of user interactions: approach and case study: Research Articles , 2006 .

[37]  Atif M. Memon,et al.  Using GUI Run-Time State as Feedback to Generate Test Cases , 2007, 29th International Conference on Software Engineering (ICSE'07).

[38]  Ana C. R. Paiva,et al.  Towards the Integration of Visual and Formal Models for GUI Testing , 2007, MBT.

[39]  Glenford J. Myers,et al.  Art of Software Testing , 1979 .

[40]  João Saraiva,et al.  The GUISurfer tool: towards a language independent approach to reverse engineering GUI code , 2010, EICS '10.

[41]  Eduardo Aranha,et al.  GUI Testing Techniques Evaluation by Designed Experiments , 2010, 2010 Third International Conference on Software Testing, Verification and Validation.

[42]  Rex Black Advanced Software Testing - Vol. 1: Guide to the ISTQB Advanced Certification as an Advanced Test Analyst (Rockynook Computing) , 2008 .

[43]  Atif M. Memon,et al.  What test oracle should I use for effective GUI testing? , 2003, 18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings..

[44]  Koushik Sen DART: Directed Automated Random Testing , 2009, Haifa Verification Conference.

[45]  Jiajie Zhang,et al.  Comparing Text-based and Graphic User Interfaces for Novice and Expert Users , 2007, AMIA.

[46]  Mary Lou Soffa,et al.  Using a goal-driven approach to generate test cases for GUIs , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[47]  Atif M. Memon,et al.  Model-Based Testing of Community-Driven Open-Source GUI Applications , 2006, 2006 22nd IEEE International Conference on Software Maintenance.

[48]  Stefan Bygde 2 What You See Is Not What You Execute , 2011 .

[49]  Mauro Pezzè,et al.  Software testing and analysis - process, principles and techniques , 2007 .

[50]  Fevzi Belli,et al.  Event-Based GUI Testing and Reliability Assessment Techniques -- An Experimental Insight and Preliminary Results , 2011, 2011 IEEE Fourth International Conference on Software Testing, Verification and Validation Workshops.

[51]  Jaymie Strecker,et al.  Testing Graphical User Interfaces , 2009 .

[52]  Atif M. Memon,et al.  Using a pilot study to derive a GUI model for automated testing , 2008, TSEM.

[53]  Atif M. Memon,et al.  Call-Stack Coverage for GUI Test Suite Reduction , 2008, IEEE Trans. Software Eng..

[54]  Mika Katara,et al.  Model-Based GUI Testing of Smartphone Applications , 2011, Model-Based Testing for Embedded Systems.

[55]  Lee J. White,et al.  Generating test cases for GUI responsibilities using complete interaction sequences , 2000, Proceedings 11th International Symposium on Software Reliability Engineering. ISSRE 2000.