Executable Model for Automated Software Testing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for producing test descriptions are inefficient, overly complex, and prone to errors, particularly in generating automated test scripts for software testing across multiple devices and operating systems, due to the complexity of modeling all possible operational states and pathways in software applications.

Innovation Solution

A method is introduced that defines an executable model of a system under test with multiple operational states and selectable model actions, where preconditions are assigned to actions to determine their availability, allowing a test program to automatically select a sequence of actions to execute an automated test, thereby reducing the complexity of test script creation and execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual test descriptions are used to test software across multiple devices and operating systems, then testing coverage can be achieved, but the process becomes time-consuming and complex

Engineering Contradiction:
Improvetesting coverageVSAvoidtesting time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent creates virtual copies of physical devices and operating systems through emulation. The test system can simulate multiple device configurations (smartphones, tablets, laptops) and OS versions without physically installing software on each actual device, thereby achieving comprehensive testing coverage while significantly reducing testing time and resource requirements

Inventive Principle:
Principle #26Copying

2Reliability

If comprehensive testing across all possible device configurations is performed, then software reliability is improved, but test script complexity increases

Engineering Contradiction:
Improvesoftware reliabilityVSAvoidtest script complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the testing process into independent components: a test system, multiple virtual device emulators, and a centralized test script manager. Each emulator handles specific device configurations independently, and the test scripts are organized as modular units that can be selectively executed on specific device emulators, reducing overall script complexity while maintaining comprehensive coverage

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The test system is designed as a universal platform that can test software across multiple device types and operating systems through a single integrated environment. The same test infrastructure and script management system serve all device configurations, eliminating the need for separate testing procedures for each device type and reducing script complexity

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

3Productivity

If automated test scripts are generated to reduce manual effort, then productivity improves, but error rates increase due to complexity in modeling all operational states

Engineering Contradiction:
Improvetesting efficiencyVSAvoidtest accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces virtual device emulators as intermediary components between the test system and actual devices. These emulators accurately model device behaviors, operational states, and interactions, serving as reliable mediators that translate test scripts into accurate device-specific actions. This intermediary layer captures device complexities faithfully, enabling automated tests to maintain high accuracy while improving productivity

Inventive Principle:
Principle #24Intermediary (Mediator)

4Reliability

If the same test is executed multiple times on different devices, then comprehensive validation is achieved, but resource consumption increases

Engineering Contradiction:
Improvevalidation completenessVSAvoidresource consumption
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent creates virtual copies of devices through emulation, allowing the same test to be executed on multiple device configurations simultaneously without requiring physical hardware for each device. This virtual copying approach enables comprehensive validation across all device types while significantly reducing resource consumption compared to physical device multiplication

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11507494B2Method of, and apparatus for, testing computer hardware and software
Publication Date: 2022.11.22 EGGPLANT LTD
  • US11507494B2 patent drawing
  • US11507494B2 patent drawing
  • US11507494B2 patent drawing

AI summary

There is provided a method for defining an automated test configured, when executed, to test a system under test comprising one or more computer programs being executed on one or more computer devices. The system under test comprises a plurality of operational states, at least one operational state having one or more executable actions associated therewith operable to execute predetermined operations and/or transition the system under test between operational states. The method comprises the steps of: a) defining an executable model of the system under test comprising a plurality of model states, wherein at least some of the model states are representative of operational states of the system under test; and b) defining one or more selectable model actions, each model action being representative of one or more executable actions on the system under test and configured such that one or more preconditions are assignable thereto, wherein each model action is configured to be available to be selected unless any preconditions assigned to the respective model action are not satisfied, wherein the model is configured such that, when executed, a test program is operable to select a sequence of available model actions to define an automated test.