In this thesis we propose another approach targeted at web applications that use Ajax, HTML5 and other modern web technologies to achieve a look and feel that is only known by desktop applications. These web applications are also referred to as Rich Internet Application (RIA).
The user interface is a part of an application the same way its business logic is. This requires software engineers to test the user interface to verify its correctness to the same extend they test the rest of the application.But testing graphical user interfaces is a tedious task without standardized testing technologies engi-neers use for business logic verification like unit testing.To address this shortcoming, research groups applied the concept of model-based testing to user interface testing. In model-based testing an abstraction of the actual graphical user interface is used and test sequences are generated from the model. The model as a formal specification can also be checked by a model checker or pose as a test oracle to validate the correctness of the application.Ideally such a model, or specification, can be generated, or mined, by an automated process. This process is usually referred to as “specification mining” and relieves the test engineer of the task to keep the specification up to date. Many tools and approaches have been proposed to target different kinds of applications and properties that the mining tool infers.
At europe’s biggest software company SAP, where this thesis was manufactured, many RIAsarebe-ing developed based on a user interface library called SAPUI5. This library helps developers to create uniform looking RIAs. To test their graphical user interface and ensure quality software, our approach supports this testing process by using a web crawler known from search engines to automatically infer a specification or model from these interfaces. We achieved this, by modifying the Ajax-capable crawler Crawljax by A. Mesbah and using a new, more efficient and modular state abstraction based on XPath expressions. Our CrawljaxXT also addresses many bugs and shortcomings of the original Crawljax and thus allows for reliable creation of complete user interface models without overly detailed state abstractions.Concluding we successfully evaluated our mined models and its testing capabilities with a modified version of the free model-based testing tool Graphwalker.
Inhaltsverzeichnis (Table of Contents)
- Abstract
- 1 Introduction
- 2 Related Work
- 3 CrawljaxXT
- 3.1 State Abstraction
- 3.2 State Model
- 3.3 State Generation
- 3.4 Example
- 4 Evaluation
- 5 Conclusion
Zielsetzung und Themenschwerpunkte (Objectives and Key Themes)
The main objective of this thesis is to develop a new approach for specification mining on the user interface level, specifically targeting modern web applications, known as Rich Internet Applications (RIAs), that utilize Ajax, HTML5, and other advanced web technologies. The thesis focuses on generating a formal specification or model of the user interface, which can then be used for model-based testing.
- Specification Mining
- Model-based Testing
- Rich Internet Applications (RIAs)
- Web Crawling
- State Abstraction
Zusammenfassung der Kapitel (Chapter Summaries)
- Chapter 1: Introduction This chapter introduces the concept of specification mining, particularly in the context of user interface testing, and highlights the challenges associated with testing graphical user interfaces. It also outlines the motivation for developing a new approach tailored to modern web applications.
- Chapter 2: Related Work This chapter reviews existing approaches and tools used for specification mining and model-based testing, discussing their strengths, limitations, and areas of applicability.
- Chapter 3: CrawljaxXT This chapter presents the core of the thesis, describing the development of CrawljaxXT, a modified version of the Ajax-capable crawler Crawljax, which is specifically designed to extract user interface specifications from modern web applications. It delves into the details of the state abstraction mechanism used by CrawljaxXT, the generation of the state model, and illustrates the process with an example.
- Chapter 4: Evaluation This chapter provides an evaluation of the effectiveness and efficiency of the generated specifications and their usability for model-based testing.
Schlüsselwörter (Keywords)
This thesis revolves around the core concepts of specification mining, model-based testing, Rich Internet Applications (RIAs), web crawling, state abstraction, and the tool CrawljaxXT, which is specifically designed for extracting user interface specifications from modern web applications.
- Quote paper
- Fabian Richter (Author), 2012, Specification Mining on the User Interface Level, Munich, GRIN Verlag, https://www.grin.com/document/936722