Model-Based Testing of GUI Applications Using Activity Diagrams

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvenumber of tests performedVSAvoidtesting complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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

Inventive Principle:
Principle #10Preliminary action

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

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvetesting accessibilityVSAvoidtesting efficiency
Core Design Contradiction:
Ease of operationVSProductivity

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

Inventive Principle:
Principle #10Preliminary action

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

Inventive Principle:
Principle #25Self-service

3Reliability

If testing is integrated with design phase, then testing effectiveness is improved, but existing tools require re-design or re-development

Engineering Contradiction:
Improvetesting effectivenessVSAvoidtool compatibility
Core Design Contradiction:
ReliabilityVSEase of manufacture

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

Inventive Principle:
Principle #6Universality (Multi-functionality)

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

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvetest design simplicityVSAvoidfunctional testing effectiveness
Core Design Contradiction:
Ease of operationVSReliability

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

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS7685576B2System and method for model based system testing of interactive applications
Publication Date: 2010.03.23 SIEMENS HEALTHINEERS AG
  • US7685576B2 patent drawing
  • US7685576B2 patent drawing
  • US7685576B2 patent drawing

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.