Model-Based Testing of GUI Applications Using Activity Diagrams
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Software testing, particularly for graphical user interface (GUI) applications, is complex and often relegated to later stages of the development cycle, with manual processes and limited integration with design phases, leading to inefficiencies and ineffective functional testing.
Innovation Solution
A method involving the creation of system models using activity diagrams and UML diagrams with test annotations to generate test cases, allowing for integrated testing during the design phase and utilizing Test Specification Language (TSL) to develop effective test designs that can be executed by existing tools without re-designing or re-developing them.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If automated testing tools are used for GUI software testing, then large number of tests can be performed, but testing becomes complex and requires conversion to executable test scripts
Solution Approach 1:
The patent applies preliminary action by creating system models and test annotations during the design phase, before actual testing execution. This allows test cases to be generated automatically later without manual script conversion, reducing complexity while maintaining high productivity
Solution Approach 2:
The patent introduces system models as an intermediary between requirements and test execution. These models serve as a bridge that automatically generates test cases, eliminating the need for manual test script conversion and reducing testing complexity
2Ease of operation
If software testing is performed manually, then testing can be done without automated tools, but testing efficiency is reduced and manual effort increases
Solution Approach 1:
The patent performs preliminary test design and model creation during the design phase, which prepares everything needed for automated execution later. This preliminary work enables efficient automated testing without requiring manual intervention during execution
Solution Approach 2:
The system model automatically generates test cases without human intervention. The model serves itself by taking system specifications as input and producing executable test cases, eliminating manual test script creation while maintaining high efficiency
3Reliability
If testing is integrated with design phase, then testing effectiveness is improved, but existing tools require re-design or re-development
Solution Approach 1:
The patent creates a universal system model that can be used across different testing tools and platforms. The model serves multiple functions: it represents the system under test, defines test cases, and can be executed by various automated testing tools without requiring tool-specific redesign
Solution Approach 2:
The system model acts as an intermediary layer between design specifications and existing testing tools. It translates design requirements into a standardized format that existing tools can execute, enabling integration without modifying the tools themselves
4Ease of operation
If test designers create tests based on understanding from use cases and business rules, then tests can be designed without formal modeling, but tests may not fulfill effective functional testing goals
Solution Approach 1:
The patent introduces system models as an intermediary between informal understanding from use cases and formal test execution. The model captures functional requirements in a structured way that ensures effective functional testing while maintaining ease of creation from existing documentation
Solution Approach 2:
The patent transforms informal test design parameters (based on designer understanding) into formal model parameters with precise definitions. This transformation maintains simplicity in creation while ensuring the resulting tests meet functional testing effectiveness requirements
Data Source
AI summary
A method and device with instructions for testing a software application include creating a system model for the software application, wherein the system model includes an activity diagram, and applying one or more test annotations to the activity diagram to control test generation for testing the software application. Further, test annotations and the system model are processed to create one or more test cases, and the software application is tested using a test execution tool that uses the test cases.


