ViMoTest: A Tool to Specify ViewModel-Based GUI Test Scenarios using Projectional Editing

📅 2025-04-23
📈 Citations: 0
Influential: 0
📄 PDF
🤖 AI Summary
Existing GUI automation testing tools suffer from high maintenance overhead, fragility under UI changes, and tight coupling with specific UI frameworks. To address these challenges, this paper proposes a decoupled testing methodology integrating the ViewModel architectural pattern with Behavior-Driven Development (BDD). It pioneers the synergistic combination of a projectional Domain-Specific Language (DSL)—implemented using JetBrains MPS—with ViewModel and BDD for GUI test modeling. The DSL enables declarative specification and validation of presentation logic independently of the underlying UI framework (e.g., JavaFX), thereby fully separating test specifications from implementation details. Evaluated on a task manager case study, the approach automatically generates executable test code, substantially reducing specification authoring effort and eliminating test breakage caused by UI refactoring. Empirical evaluation demonstrates significant improvements in test maintainability, robustness against interface evolution, and practical applicability.

Technology Category

Application Category

📝 Abstract
Automated GUI testing is crucial in ensuring that presentation logic behaves as expected. However, existing tools often apply end-to-end approaches and face challenges such as high specification efforts, maintenance difficulties, and flaky tests while coupling to GUI framework specifics. To address these challenges, we introduce the ViMoTest tool, which leverages Behavior-driven Development, the ViewModel architectural pattern, and projectional Domain-specific Languages (DSLs) to isolate and test presentation logic independently of GUI frameworks. We demonstrate the tool with a small JavaFX-based task manager example and generate executable code.
Problem

Research questions and friction points this paper is trying to address.

Automated GUI testing faces high specification efforts
Existing tools struggle with maintenance and flaky tests
Testing presentation logic is coupled to GUI frameworks
Innovation

Methods, ideas, or system contributions that make the work stand out.

Behavior-driven Development for test scenarios
ViewModel pattern isolates presentation logic
Projectional DSLs for framework-independent testing
🔎 Similar Papers
No similar papers found.
M
Mario Fuksa
Institute of Software Engineering, University of Stuttgart
Sandro Speth
Sandro Speth
Postdoctoral researcher, Institute of Software Engineering, Software Quality and Architecture Group
Issue ManagementSoftware ArchitectureSoftware QualityAI4SA
S
Steffen Becker
Institute of Software Engineering, University of Stuttgart