Cloud-Based Test Execution Service With Dispatcher-Worker Infrastructure
Find Innovative SolutionsGenerate 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
Engineering 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
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
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
2Reliability
If stress testing with large numbers of users is simulated, then performance reliability is improved, but computing resource consumption increases
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
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
3Productivity
If automated testing infrastructure is implemented, then productivity is improved, but device complexity increases
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
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
4Reliability
If failover mechanisms are added to ensure continuous testing, then system reliability is improved, but device complexity and cost increase
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
Data Source
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.


