On Graphical User Interface Verification

Graphical User Interface (GUI) testing, for instance by means of capture and replay tools, is computationally expensive. In this paper, we present an approach for GUI verification that is not GUI (verification) testing. Using this approach, we study the input provided by an actor to the GUI and the output of the GUI to the underlying functionality. We also verify relations between those inputs and outputs. We describe the approach and discuss some first steps towards its validation in terms of fault detection using a real, though simple GUI-based software as well as a synthetic GUI-based software.

[1]  David W. Binkley,et al.  Program slicing , 2008, 2008 Frontiers of Software Maintenance.

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

[3]  Michael D. Ernst,et al.  Combined static and dynamic automated test generation , 2011, ISSTA '11.

[4]  James C. King,et al.  Symbolic execution and program testing , 1976, CACM.

[5]  Nuno Jardim Nunes,et al.  Towards a UML profile for interaction design: the Wisdom approach , 2000, UML.

[6]  Mark Lillibridge,et al.  PLDI 2002: Extended static checking for Java , 2013, SIGP.

[7]  Elaine J. Weyuker,et al.  Automatically Generating Test Data from a Boolean Specification , 1994, IEEE Trans. Software Eng..

[8]  Mark Lillibridge,et al.  Extended static checking for Java , 2002, PLDI '02.

[9]  Yvan Labiche,et al.  How Does GUI Testing Exercise Application Logic Functionality? , 2017, 2017 IEEE 41st Annual Computer Software and Applications Conference (COMPSAC).

[10]  Leonardo Mariani,et al.  AutoBlackTest: Automatic Black-Box Testing of Interactive Applications , 2012, 2012 IEEE Fifth International Conference on Software Testing, Verification and Validation.

[11]  Patrick Cousot,et al.  Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints , 1977, POPL.

[12]  Bernd Bruegge,et al.  Object-Oriented Software Engineering Using UML, Patterns, and Java , 2009 .

[13]  Deepti Rajput Fault Models and Test Generation for Covalidation Techniques in Hardware & Software , 2013 .

[14]  Andreas Zeller,et al.  Search-based system testing: high coverage, no false alarms , 2012, ISSTA 2012.

[15]  Fausto Spoto,et al.  Julia: A Generic Static Analyser for the Java Bytecode , 2005 .

[16]  Ian G. Harris,et al.  Fault models and test generation for hardware-software covalidation , 2003, IEEE Design & Test of Computers.

[17]  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).

[18]  Andreas Podelski,et al.  Lightweight Static Analysis for GUI Testing , 2012, 2012 IEEE 23rd International Symposium on Software Reliability Engineering.