Parallel Virtual Test Automation for Software Validation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional software testing methods for on-demand software models like SaaS, PaaS, and IaaS are inefficient due to serial execution of test cases, requiring extensive time and resources, and lack effective automation for debugging and troubleshooting, especially in complex systems with dynamic user interactions and frequent feature modifications.

Innovation Solution

Implementing end-to-end automation by executing test cases in parallel using virtual time, generating virtual test results, and advancing the virtual time until a stopping criterion is met, allowing concurrent execution of test cases with different environments and states, and handling errors and issues within the test sessions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If test cases are executed in series to ensure proper validation and verification, then testing accuracy is improved, but testing time increases significantly

Engineering Contradiction:
Improvetesting accuracyVSAvoidtesting time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system performs preliminary actions by creating virtual copies of test environments and pre-configuring test states before actual test execution. Virtual test environments are instantiated in advance, allowing multiple test cases to be prepared and executed concurrently without interfering with each other's validation and verification processes

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates virtual copies of test environments and test states that can be executed in parallel. Instead of running single test cases sequentially on one environment, the system generates multiple virtual environment instances that replicate necessary test conditions, enabling concurrent execution while maintaining testing accuracy through isolated validation of each virtual instance

Inventive Principle:
Principle #26Copying

2Reliability

If test environments are restored and reset between test cases to ensure clean testing, then testing reliability is improved, but testing efficiency decreases

Engineering Contradiction:
Improvetesting reliabilityVSAvoidtesting efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The test system is segmented into multiple independent virtual environments, each capable of running test cases autonomously. Instead of restoring a single shared environment between tests, the system divides testing into separate virtual segments that can execute in parallel, eliminating the need for repeated restoration while maintaining reliability through environmental isolation

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system changes the fundamental parameter of environment sharing by transitioning from a single shared environment to multiple virtual environment instances. Each virtual environment maintains its own state independently, allowing test cases to run concurrently without requiring restoration, thus improving efficiency while preserving reliability through parameter-based environmental differentiation

Inventive Principle:
Principle #35Parameter changes

3Productivity

If multiple test cases are grouped into buckets and executed together to improve efficiency, then testing speed is improved, but debugging capability deteriorates due to loss of individual test results

Engineering Contradiction:
Improvetesting speedVSAvoiddebugging capability
Core Design Contradiction:
ProductivityVSDifficulty of detecting and measuring

Solution Approach 1:

The system creates virtual copies of test environments for each test case within the bucket, ensuring that individual test results are preserved and accessible. Each virtual environment captures and stores its own test results independently, allowing debugging of specific test cases even when executed in parallel groups, thus maintaining debugging capability while achieving parallel execution speed

Inventive Principle:
Principle #26Copying

4Measurement precision

If serial test execution is used to maintain system state consistency, then test validation accuracy is improved, but automation capability deteriorates

Engineering Contradiction:
Improvetest validation accuracyVSAvoidautomation capability
Core Design Contradiction:
Measurement precisionVSExtent of automation

Solution Approach 1:

Each virtual test environment is self-sufficient and self-managing, automatically configuring its own state and executing tests independently without requiring manual orchestration or sequential coordination. The virtual environments self-service by maintaining their own consistency and isolation, enabling full automation of parallel test execution while preserving validation accuracy through automated environmental management

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10037263B1Methods, systems, and articles of manufacture for implementing end-to-end automation of software services
Publication Date: 2018.07.31 INTUIT INC
  • US10037263B1 patent drawing
  • US10037263B1 patent drawing
  • US10037263B1 patent drawing

AI summary

Various aspects described herein are directed to a method and a system that implement end-to-end automation of software services. A set of test cases may be identified from existing test cases or determined anew for a software system. Virtual test results may be generated at least by executing the set of test cases in parallel on a virtual time or date. The virtual test results may then be used to validate or verify the behaviors of the software system. The virtual time or date is then advanced to the next virtual time or date by a temporal period until a stopping criterion is satisfied.