Masterarbeit, 2012
76 Seiten, Note: 1,0
1 Introduction
1.1 Motivation
1.2 Contribution
1.3 Outline
2 Related Work
2.1 Specification Mining
2.1.1 Inferring Formal Specifications
2.1.2 Inferred Properties
2.1.3 Representations of Formal Specifications
2.2 Model-based Testing (MBT)
2.2.1 Graphwalker
2.2.2 ModelJUnit
2.2.3 GUITAR
2.3 Graphical User Interface (GUI) Testing
2.3.1 Test Case Generation
2.3.2 GUI Coverage Criteria
2.4 Web Application Testing
2.4.1 Selenium
2.4.2 Crawljax
2.4.3 WebGUITAR
2.5 Web Technologies
2.5.1 Asynchronous JavaScript and XML (AJAX)
2.5.2 XML Path Language (XPath)
3 Specification Mining on the User Interface Level
3.1 Teminology
3.2 Inferring a Model
3.2.1 Using the Full Document Object Model (DOM) - The Crawljax Approach
3.2.2 Full DOM Approach - Second Iteration
3.2.3 HTML of Interaction Elements Approach
3.2.4 XPath of user-defined Elements Approach
3.2.5 General Approach
3.3 Final Model
3.4 CrawljaxXT: Design and Implementation
3.4.1 XpathStateBuilder
3.4.2 Multiple Click Elements
3.4.3 Plugins
3.5 GraphwalkerXT: Design and Implementation
3.5.1 Testing Infrastructure
3.5.2 State Oracles
3.5.3 Path Generators
4 Evaluation
4.1 Evaluation of other MBT Tools
4.1.1 Crawljax
4.1.2 (Web)GUITAR
4.2 Evaluation Setups
4.3 Quantitative Comparison to Crawljax and Additional Implementations
4.3.1 Comparative Setting “Vanilla”
4.3.2 Comparative Setting “Comparators”
4.3.3 Comparative Setting “ClickOnce”
4.3.4 Evaluation Results of Quantitative Comparison
4.3.5 Additional Implementation Setting “FuzzyMatch2”
4.3.6 Additional Implementation Setting “MultipleClick2”
4.3.7 Additional Implementation Setting “MBTPlugins2”
4.3.8 Additional Implementation Setting “RandInput2”
4.3.9 Additional Implementation Setting “ResetDB2”
4.3.10 Quantitative Evaluation Results of Additional Implementations
4.4 Qualitative Evaluation of Testing Capabilities
4.4.1 Capability Setup “SeedetEdgeErrors”
4.4.2 Capability Setup “SeedetStateErrors”
4.4.3 Capability Setup “RealErrorDetection”
4.4.4 Evaluation Results of MBT Capabilities
5 Conclusion & Future Work
This thesis aims to develop an automated approach for "specification mining" on the user interface (UI) level, specifically targeting modern web applications (Rich Internet Applications). The primary research goal is to overcome the limitations of existing testing tools, such as the state space explosion problem and the inability to handle dynamic UI changes, by creating an automated model inference technique that supports effective model-based testing (MBT).
Fuzzy Matching
In our XpathStateBuilder we also implemented a fuzzy matching algorithm, that introduces a certain fuzziness into our state representations and removes another kind of false positives from our MBT results. The reason for these false positives is the same that we already introduced in our first approach where we used the full DOM to find a state representation.
CrawljaxXT created two different states when opening and closing an overlay: One before and one after the overlay was visible. This happened even though we still had the comparator running that removed invisible elements.
The problem was a bit more complex because it only appeared when we used the model for MBT. The general rule we inferred from it was that if we remove elements from the DOM during mining, we also have to remove them while generating and walking test sequences on the graph. Else the results have to be contradictory. To determine which elements to remove by only looking at the current DOM during testing is very hard to determine. To still be able to conduct correct MBT we decided not to change any structure of the DOM by removing elements from it. Instead we changed all comparators to “empty” instead of “remove” elements that are invisible or not displayed as explained in section 3.2.4.
1 Introduction: Provides an overview of the evolution of user interfaces and outlines the motivation for automated testing of modern Rich Internet Applications.
2 Related Work: Reviews existing literature on specification mining, model-based testing, and web technologies relevant to UI testing.
3 Specification Mining on the User Interface Level: Details the design and implementation of CrawljaxXT, introducing modular state abstractions, XPath-based identification, and plugins to handle dynamic web application behavior.
4 Evaluation: Presents a quantitative and qualitative assessment of the approach, comparing it against original Crawljax and validating its error-detection capabilities through experimental setups.
5 Conclusion & Future Work: Summarizes the contributions of the thesis and discusses potential future improvements, such as alternative state builder implementations.
Specification Mining, Model-based Testing, Web Application Testing, UI Testing, Crawljax, Graphwalker, XPath, Rich Internet Application, RIA, AJAX, DOM, State Abstraction, Test Automation, Software Quality, Regression Testing
The thesis focuses on automating the creation of software specifications from the user interface of modern web applications to enable reliable and efficient model-based testing.
The research intersects software engineering, automated testing, formal methods (specification mining), and modern web technologies (AJAX/HTML5).
The goal is to relieve test engineers from manually creating and maintaining UI specifications by automatically mining models that are robust against dynamic web interface changes.
The author uses iterative empirical software engineering research, developing extensions for the existing tool Crawljax and evaluating them through quantitative comparisons and fault-seeding experiments.
The main part covers the design and implementation of "CrawljaxXT," the development of new state comparison comparators, and the integration of these models into the Graphwalker testing framework.
Key terms include Specification Mining, Model-based Testing (MBT), Rich Internet Applications (RIA), XPath, Crawljax, and Test Automation.
By implementing a specific state abstraction using user-defined XPath expressions, the approach reduces the complexity of UI states, ensuring they are uniquely and precisely identified without being cluttered by irrelevant dynamic details.
Standard crawlers often fail to recognize identical states after UI interactions (e.g., closing overlays) due to underlying DOM changes, leading to the creation of "false positive" states and preventing a complete navigational model.
It ensures that test sequences generated for web applications with layered UI components (overlays) are logically valid by preventing illegal navigation paths, thereby significantly reducing false positives during model-based testing.
Der GRIN Verlag hat sich seit 1998 auf die Veröffentlichung akademischer eBooks und Bücher spezialisiert. Der GRIN Verlag steht damit als erstes Unternehmen für User Generated Quality Content. Die Verlagsseiten GRIN.com, Hausarbeiten.de und Diplomarbeiten24 bieten für Hochschullehrer, Absolventen und Studenten die ideale Plattform, wissenschaftliche Texte wie Hausarbeiten, Referate, Bachelorarbeiten, Masterarbeiten, Diplomarbeiten, Dissertationen und wissenschaftliche Aufsätze einem breiten Publikum zu präsentieren.
Kostenfreie Veröffentlichung: Hausarbeit, Bachelorarbeit, Diplomarbeit, Dissertation, Masterarbeit, Interpretation oder Referat jetzt veröffentlichen!

