Event-Based GUI Testing and Reliability Assessment Techniques -- An Experimental Insight and Preliminary Results

It is widely accepted that graphical user interfaces (GUIs) highly affect -- positive or negative -- the quality and reliability of human-machine systems. In spite of this fact, quantitative assessment of the reliability of GUIs is a relatively young research field. Existing software reliability assessment techniques attempt to statistically describe the software testing process and to determine and thus predict the reliability of the system under consideration (SUC). These techniques model the reliability of the SUC based on particular assumptions and preconditions on probability distribution of cumulative number of failures, failure data observed, and form of the failure intensity function, etc. We expect that the methods used for modeling a GUI and related frameworks used for testing it also affect the factors mentioned above, especially failure data to be observed and prerequisites to be met. Thus, the quality of the reliability assessment process, and ultimately also the reliability of the GUI, depends on the methods used for modeling and testing the SUC. This paper attempts to gain some experimental insight into this problem. GUI testing frameworks based on event sequence graphs and event flow graphs were chosen as examples. A case study drawn from a large commercial web-based system is used to carry out the experiments and discuss the results.

[1]  Soon Heung Chang,et al.  Development of an advanced human–machine interface for next generation nuclear power plants , 1999 .

[2]  Mary Lou Soffa,et al.  Coverage criteria for GUI testing , 2001, ESEC/FSE-9.

[3]  Jack Edmonds,et al.  Matching, Euler tours and the Chinese postman , 1973, Math. Program..

[4]  George H. Mealy,et al.  A method for synthesizing sequential circuits , 1955 .

[5]  Sigrid Eldh Software Testing Techniques , 2007 .

[6]  Uzma Raja,et al.  Modeling software evolution defects: a time series approach , 2009 .

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

[8]  Lionel C. Briand,et al.  Is mutation an appropriate tool for testing experiments? , 2005, ICSE.

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

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

[11]  Ron Kohavi,et al.  A Study of Cross-Validation and Bootstrap for Accuracy Estimation and Model Selection , 1995, IJCAI.

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

[13]  Akbar Siami Namin,et al.  Sufficient mutation operators for measuring test effectiveness , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[14]  Edward F. Moore,et al.  Gedanken-Experiments on Sequential Machines , 1956 .

[15]  Jeffrey D. Ullman,et al.  Introduction to Automata Theory, Languages and Computation , 1979 .

[16]  Michael R. Lyu,et al.  Handbook of software reliability engineering , 1996 .

[17]  Fevzi Belli,et al.  Are Longer Test Sequences Always Better? - A Reliability Theoretical Analysis , 2010, 2010 Fourth International Conference on Secure Software Integration and Reliability Improvement Companion.

[18]  Robert McNaughton,et al.  The theory of automata , 1961 .

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

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

[21]  P. C. Jha,et al.  Software Reliability Growth Models , 2011 .

[22]  Jeffrey D. Ullman,et al.  Introduction to automata theory, languages, and computation, 2nd edition , 2001, SIGA.

[23]  James E. Rumbaugh,et al.  Unified Modeling Language (UML) , 2010, Encyclopedia of Software Engineering.