GUI Interaction Testing: Incorporating Event Context

  title={GUI Interaction Testing: Incorporating Event Context},
  author={Xun Yuan and Myra B. Cohen and Atif M. Memon},
  journal={IEEE Transactions on Software Engineering},
Graphical user interfaces (GUIs), due to their event-driven nature, present an enormous and potentially unbounded way for users to interact with software. During testing, it is important to “adequately cover” this interaction space. In this paper, we develop a new family of coverage criteria for GUI testing grounded in combinatorial interaction testing. The key motivation of using combinatorial techniques is that they enable us to incorporate “context” into the criteria in terms of event… 

Figures and Tables from this paper


This work proposes a framework for automatically repairing GUI test suites that contain infeasible sequences, and develops a genetic algorithm for test suite repair that is able to increase the combinatorial coverage of test suites for non-trivial GUIs to 98% of their feasible coverage.

Grey-box GUI Testing: Efficient Generation of Event Sequences

A new model, called an eventdependency graph (EDG) of the GUI that captures data dependencies between the code of event handlers that reduces the number of event sequences with respect to the EFG, while still achieving at least the same coverage.

EventFlowSlicer: A tool for generating realistic goal-driven GUI tests

This paper presents EventFlowSlicer, a tool that allows the GUI tester to specify and generate all realistic test cases relevant to achieve a stated goal, which first captures relevant events on the interface, then adds constraints to provide restrictions on the task.

Graphical user interface (GUI) testing: Systematic mapping and repository

GUIDiVa: Automated Discovery and Validation of State-Based GUI Invariants

This paper presents an automated black box framework that reveals an important set of GUI invariants as state-based event constraints, and an iterative algorithm that enumerates all possible constraint violations as potential reasons of a test case failure, on the failed event of the infeasible test case.

Program Analysis and Black-box GUI Testing

This thesis presents a new approach to select relevant event sequences among the event sequences selected by a black-box approach, and applies a def-use program analysis to the source code of the GUI program, to infer a dependency graph, which is called Event Dependency Graph (EDG).

Trends in Model-based GUI Testing

Automated testing of GUI applications: Models, tools, and controlling flakiness

  • A. MemonMyra B. Cohen
  • Computer Science
    2013 35th International Conference on Software Engineering (ICSE)
  • 2013
This tutorial presents an overview of the state of the art in GUI testing, consisting of both lectures and demonstrations on various platforms using an open source testing tool, GUITAR, and shows how to setup a system under test, how to extract models without source code, and how to use those models to generate and replay test cases.

Testing GUI-based Software with Undetermined Input Spaces

Title of dissertation: Testing GUI-based Software with Undetermined Input Spaces Bao N. Nguyen, Doctor of Philosophy, 2013 Dissertation directed by: Professor Atif M. Memon Department of Computer



Towards Dynamic Adaptive Automated Test Generation for Graphical User Interfaces

This paper proposes the use of an evolutionary algorithm to generate test suites with fewer unexecutable test cases and higher event interaction coverage, due to the dynamic state-based nature of GUIs.

Generating test cases for GUI responsibilities using complete interaction sequences

  • L. WhiteHusain Almezen
  • Computer Science
    Proceedings 11th International Symposium on Software Reliability Engineering. ISSRE 2000
  • 2000
The proposed method concentrates upon user sequences of GUI objects and selections which collaborate, called complete interaction sequences (CIS), that produce a desired response for the user and utilizes a finite-state model to generate tests.

Using a pilot study to derive a GUI model for automated testing

The EIG model helps testers to understand the nature of interactions between GUI events when executed in test cases and why certain events detect faults, so that they can better traverse the event space.

Covering array sampling of input event sequences for automated gui testing

A new automated technique to generate test cases for GUIs by using covering arrays (CAs) that is able to detect a large number of previously undetected faults.

Using GUI Run-Time State as Feedback to Generate Test Cases

  • Xun YuanA. Memon
  • Computer Science
    29th International Conference on Software Engineering (ICSE'07)
  • 2007
A feasibility study on four large fielded open-source software (OSS) applications demonstrates that the feedback-based technique presented is able to significantly improve existing techniques and help identify/report serious problems in the OSS.

Constructing test suites for interaction testing

Initial results are presented suggesting that heuristic search techniques are more effective than some of the known greedy methods for finding smaller sized test suites for software interaction testing.

Interaction Testing in Model-Based Development: Effect on Model-Coverage

The experiments show that the interaction test suites provide little benefit over the randomly generated tests and do not improve coverage of the requirements-based tests, which raises questions on the application of interaction testing in this domain.

Rapid "crash testing" for continuously evolving GUI-based software applications

  • Qing XieA. Memon
  • Computer Science
    21st IEEE International Conference on Software Maintenance (ICSM'05)
  • 2005
This work defines a new automatic GUI re-testing process called "crash testing" that is integrated with GUI evolution and shows, via empirical studies, that the crash tests are effective at revealing serious problems in the GUI.

Studying the fault-detection effectiveness of GUI test cases for rapidly evolving software

A GUI smoke regression testing process called daily automated regression tester (DART) that automates GUI smoke testing is presented and the results show that the entire smoke testing process is feasible in terms of execution time, storage space, and manual effort.

Call-Stack Coverage for GUI Test Suite Reduction

Empirical studies show that call-stack-based reduction provides unique trade-offs between the reduction in test suite size and the loss of fault detection effectiveness, which may be valuable in practice.