Event Listener Analysis and Symbolic Execution for Testing GUI Applications

نویسندگان

  • Svetoslav R. Ganov
  • Chip Killmar
  • Sarfraz Khurshid
  • Dewayne E. Perry
چکیده

Graphical User Interfaces (GUIs) are composed of virtual objects, widgets, which respond to events triggered by user actions. Therefore, test inputs for GUIs are event sequences that mimic user interaction. The nature of these sequences and the values for certain widgets, such as textboxes, causes a two-dimensional combinatorial explosion. In this paper we present Barad, a GUI testing framework that uniformly addresses event-flow and data-flow in GUI applications generating tests in the form of event sequences and data inputs. Barad tackles the two-dimensional combinatorial explosion by pruning regions of the event and data input space. For event sequence generation we consider only events with registered event listeners, thus pruning regions of the event input space. We introduce symbolic widgets which allow us to obtain an executable symbolic version of the GUI. By symbolically executing the chain of listeners registered for the events in a generated event sequence we obtain data inputs, thus pruning regions in the data input space. Barad generates fewer tests and improves branch and statement coverage compared to traditional GUI testing techniques.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Symbolic Execution for GUI Testing

A Graphical User Interface (GUI) is an abstraction providing users with a more natural way of interacting with computers. It consists of objects like buttons, text boxes, toolbars etc. The communication between users and GUIs is event driven. Users can modify the state of a GUI and trigger events that lead to the execution of different code fragments. Hence, in order to test a GUI one should ex...

متن کامل

Parameterized GUI Tests

GUI testing is a form of system testing where test cases are based on user interactions. A user interaction may be encoded by a sequence of events (e.g., mouse clicks) together with input data (e.g., string values for text boxes). For selecting event sequences, one can use the black-box approach based on Event Flow Graphs. For selecting input data, one can use the white-box approach based on pa...

متن کامل

Program Synthesis for Program Analysis: Models and Drivers

In recent years, many program analysis tools have been proposed, with several promising results, e.g., using abstract interpretation [4] or symbolic execution [9] to find bugs in software systems [2, 3]. Despite a diversity of techniques on which those tools rely, almost all tools share a common problem: they focus on analyzing the application code. But applications are no longer written in iso...

متن کامل

Security testing of session initiation protocol implementations

The mechanisms which enable the vast majority of computer attacks are based on design and programming errors in networked applications. The growing use of voice over IP (VOIP) phone technology makes these phone applications potential targets. We present a tool to perform security testing of VOIP applications to identify security vulnerabilities which can be exploited by an attacker. Session Ini...

متن کامل

An Observe-Model-Exercise* Paradigm to Test Event-Driven Systems with Undetermined Input Spaces

System testing of software applications with a graphical-user interface (GUI) front-end requires that sequences of GUI events, that sample the application’s input space, be generated and executed as test cases on the GUI. However, the context-sensitive behavior of the GUI of most of today’s non-trivial software applications makes it practically impossible to fully determine the software’s input...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2009