Symbolic execution and program testing
Communications of the ACM
A Method to Automate User Interface Testing Using Variable Finite State Machines
FTCS '97 Proceedings of the 27th International Symposium on Fault-Tolerant Computing (FTCS '97)
Generating Test Cases for GUI Responsibilities Using Complete Interaction Sequences
ISSRE '00 Proceedings of the 11th International Symposium on Software Reliability Engineering
A comprehensive framework for testing graphical user interfaces
A comprehensive framework for testing graphical user interfaces
DART: A Framework for Regression Testing "Nightly/daily Builds" of GUI Applications
ICSM '03 Proceedings of the International Conference on Software Maintenance
GUI Ripping: Reverse Engineering of Graphical User Interfaces for Testing
WCRE '03 Proceedings of the 10th Working Conference on Reverse Engineering
Path-Oriented Test Data Generation Using Symbolic Execution and Constraint Solving Techniques
SEFM '04 Proceedings of the Software Engineering and Formal Methods, Second International Conference
Call Stack Coverage for GUI Test-Suite Reduction
ISSRE '06 Proceedings of the 17th International Symposium on Software Reliability Engineering
Abstracting Symbolic Execution with String Analysis
TAICPART-MUTATION '07 Proceedings of the Testing: Academic and Industrial Conference Practice and Research Techniques - MUTATION
A System to Generate Test Data and Symbolically Execute Programs
IEEE Transactions on Software Engineering
On the Automated Generation of Program Test Data
IEEE Transactions on Software Engineering
Using a pilot study to derive a GUI model for automated testing
ACM Transactions on Software Engineering and Methodology (TOSEM)
Precise analysis of string expressions
SAS'03 Proceedings of the 10th international conference on Static analysis
Event Listener Analysis and Symbolic Execution for Testing GUI Applications
ICFEM '09 Proceedings of the 11th International Conference on Formal Engineering Methods: Formal Methods and Software Engineering
Search-based system testing: high coverage, no false alarms
Proceedings of the 2012 International Symposium on Software Testing and Analysis
An orchestrated survey of methodologies for automated software test case generation
Journal of Systems and Software
Graphical user interface (GUI) testing: Systematic mapping and repository
Information and Software Technology
AppIntent: analyzing sensitive data transmission in android for privacy leakage detection
Proceedings of the 2013 ACM SIGSAC conference on Computer & communications security
GUITAR: an innovative tool for automated testing of GUI-driven software
Automated Software Engineering
Hi-index | 0.00 |
While Graphical User Interfaces (GUIs) have become ubiquitous, testing them remains largely ad-hoc. Since the state of a GUI is defined by a sequence of events on the GUI's widgets, a test input for a GUI is such an event sequence. Due to the combinatorial nature of the sequences, testing a GUI thoroughly is problematic and time-consuming. Moreover, the wide range of possible values for certain GUI widgets, such as a textbox, compounds the problem. This paper presents a novel test generation approach based on symbolic execution to obtain data inputs and enumerate event sequences that are likely to maximize code coverage of a GUI application. Key contributions are introducing the technique of symbolic execution in GUI testing (addressing a common weakness of traditional GUI testing frameworks) and performing symbolic execution over strings (in addition to primitives). Doing so minimizes the number of event sequences that form the resulting test suite. To determine feasibility of path conditions that arise in symbolic execution, we implement a solver for constraints over strings (in addition to primitives). We evaluate our test generation approach.