Cloud-Based Test Execution Service With Dispatcher-Worker Infrastructure

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Developers often lack the capability to perform comprehensive testing of online components, such as websites and web services, across various browsers and operating systems, necessitating the need for efficient testing solutions that can simulate multiple environments and handle stress testing.

Innovation Solution

A cloud-based testing service that provides a scalable, auto-configurable platform for executing tests on multiple browser and OS combinations, using a dispatcher-worker infrastructure to allocate and configure workers with appropriate test frameworks and OS/browser images, and includes failover mechanisms to ensure continuous testing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If comprehensive testing across multiple browsers and operating systems is performed, then testing coverage and reliability are improved, but device complexity and resource requirements increase

Engineering Contradiction:
Improvetesting reliabilityVSAvoidtesting system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent uses virtual machine images to create copies of different operating systems and browser environments. Instead of maintaining physical systems for each combination, the service provisions virtual copies of OSes and browsers through standardized images, reducing complexity while preserving comprehensive testing coverage across multiple platforms

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The testing service provides a universal platform that can execute tests across multiple browser and operating system combinations through a single service interface. The system manages diverse testing environments uniformly through standardized virtualization layers, allowing one service to handle many different testing scenarios without increasing operational complexity

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

2Reliability

If stress testing with large numbers of users is simulated, then performance reliability is improved, but computing resource consumption increases

Engineering Contradiction:
Improveperformance reliabilityVSAvoidcomputing resource consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The system dynamically adjusts the number and configuration of virtual workers based on testing requirements. For stress testing scenarios, the service can rapidly provision additional virtual workers to simulate large user loads, then terminate them when testing completes. This dynamic scaling allows high-performance reliability testing without permanently consuming excessive computing resources

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent uses virtual machine images to create copies of user environments for stress testing. Instead of requiring physical infrastructure for each simulated user, the system provisions virtual copies of operating systems and applications, enabling large-scale stress testing with reduced resource consumption compared to physical implementations

Inventive Principle:
Principle #26Copying

3Productivity

If automated testing infrastructure is implemented, then productivity is improved, but device complexity increases

Engineering Contradiction:
Improvetesting productivityVSAvoidautomation infrastructure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The testing service automatically provisions, configures, and manages virtual workers without requiring manual intervention. The system self-manages the complexity of virtual machine imaging, worker configuration, and test execution, allowing users to simply submit test cases while the infrastructure handles the complex automation behind the scenes

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent introduces a virtualization layer as an intermediary between test execution and underlying infrastructure. This virtualization layer abstracts the complexity of OS and browser management, providing standardized interfaces for test workers while handling the complex coordination of multiple platforms through a single managed layer

Inventive Principle:
Principle #24Intermediary (Mediator)

4Reliability

If failover mechanisms are added to ensure continuous testing, then system reliability is improved, but device complexity and cost increase

Engineering Contradiction:
Improvecontinuous testing reliabilityVSAvoidfailover infrastructure complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system maintains a pool of pre-configured virtual worker images that can be rapidly deployed if failures occur. By having standardized backup images ready beforehand, the system can quickly replace failed workers without complex real-time reconstruction, reducing the complexity of failover while ensuring continuous testing capability

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Data Source

PatentUS9454469B2Cloud-based test execution
Publication Date: 2016.09.27 AMAZON TECH INC
  • US9454469B2 patent drawing
  • US9454469B2 patent drawing
  • US9454469B2 patent drawing

AI summary

In some implementations, a testing service receives a test execution request for executing test operations on a test target. The testing service may map the test execution request to a particular type of supported test framework from among a plurality of types of supported test frameworks. The testing service may obtain a test package provided by a user that requested the testing, such as from a cloud storage location. The testing service determines a computing capacity for executing the testing and appropriates a plurality of workers in a cloud computing service. The testing service configures the plurality of workers for executing the test operations based on at least one of the test framework, the test execution request or the test package. The testing service provides test execution chunks from the test package to the plurality of workers for executing the testing on the test target.