Executable Model for Automated Software Testing
Find Innovative SolutionsGenerate 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
Engineering 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
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
2Reliability
If comprehensive testing across all possible device configurations is performed, then software reliability is improved, but test script complexity increases
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
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
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
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
4Reliability
If the same test is executed multiple times on different devices, then comprehensive validation is achieved, but resource consumption increases
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
Data Source
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.


