Automated test oracles for GUIs
SIGSOFT '00/FSE-8 Proceedings of the 8th ACM SIGSOFT international symposium on Foundations of software engineering: twenty-first century applications
Hierarchical GUI Test Case Generation Using Automated Planning
IEEE Transactions on Software Engineering - Special issue on 1999 international conference on software engineering
Automatically repairing event sequence-based GUI test suites for regression testing
ACM Transactions on Software Engineering and Methodology (TOSEM)
Hi-index | 0.00 |
Applications supporting a graphical user interface (GUI) are difficult to write. While existing tools can accelerate software development, they suffer from a number of problems that limit their helpfulness. They offer too little functionality and support only a small part of the GUI software development task. They lack architectural models and abstraction mechanisms to support large GUI applications. Their user interface specifications are difficult to understand, edit, and reuse. They lack a single conceptual, graphical model to be used as a medium for integrating specification, documentation, design, simulation, validation, and rapid prototyping. We present an approach that solves many of these problems with existing systems by supporting a larger part of the development task, providing a unifying conceptual graphical model, and providing tools for graphical specification and manipulation of our underlying architectural model. Our approach uses the MVC paradigm, an application framework, reusable classes, and pluggable and adaptable domain specific views to offer greater functionality and to support a greater part of the development task. Our object-oriented approach encourages the reuse of code. An architectural model for large GUI applications is supported by the reusable design embodied in our framework and by the visual Petri net with net hierarchy (subnets). The use of a visual Petri net also makes user interface and design specifications easier to understand, edit, and reuse. By using an annotated Petri net we are able to provide a single conceptual graphical model that integrates specification, documentation, design, validation, and rapid prototyping. Oregon Speedcode Universe version 3.0 (OSU v3.0) is a second generation experimental object-oriented tool for GUI software development currently under construction at Oregon State University. It consists of an MVC-based application framework, a class library of reusable code, and a set of integrated tools for specification, modeling, simulation, validation, and rapid prototyping of GUI applications. It is written in C++ on the Macintosh and produces C++ code that can be compiled to produce stand-alone applications. This paper presents an overview of the OSU v3.0 approach and focuses on the MVC-based framework as a way of supporting added functionality, greater reuse of code, and a higher level of abstraction to the task of developing GUI applications. My responsibility in this project was the implementation of the MVC, application, and window classes. These are detailed in the final section and an example of their use is included.