Cloud-Based Application Testing System
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The high costs associated with acquiring, building, and maintaining computing infrastructure for ensuring adequate resources under peak loads for enterprise software applications make it prohibitive for developers to manage computing resources on-premises, prompting a need for efficient cloud-based solutions that can scale with test loads and prioritize applications effectively.
Innovation Solution
A cloud-based testing system that allows for dynamic scaling of applications and cloud resources in response to changes in test load volume, enabling deployment across various cloud types (public, private, or hybrid) and managing testing through a unified web-based console, with features like throttling and prioritization of applications to optimize resource allocation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If developers provision sufficient computing resources on-premises to handle peak loads, then application reliability under peak test and production loads is improved, but the costs associated with acquiring, building and maintaining computing infrastructure become prohibitive
Solution Approach 1:
The patent extracts the computing infrastructure management responsibility from the developer to a third-party cloud service provider. Developers can outsource the procurement, maintenance and management of computing infrastructure to the cloud provider, eliminating the need to acquire, build and maintain complex on-premises infrastructure while still having access to sufficient resources for peak loads through cloud provisioning.
Solution Approach 2:
The cloud service provider acts as an intermediary between the developer and the computing infrastructure. The provider manages the infrastructure complexity and resources, while the developer simply needs to provision applications on the cloud platform. This intermediary approach allows developers to access reliable computing resources without directly managing the underlying infrastructure complexity.
2Device complexity
If developers outsource computing infrastructure to cloud service providers, then infrastructure management costs are reduced, but the ability to test applications under high volume test loads that mimic production loads is compromised
Solution Approach 1:
The cloud service provider's infrastructure is designed to serve multiple functions: it can host applications, support high-volume testing loads, and scale resources dynamically. The same cloud infrastructure that reduces management complexity also provides the computing power needed for rigorous load testing, eliminating the need for separate dedicated testing infrastructure.
Solution Approach 2:
The cloud infrastructure provides dynamic scaling capabilities that allow the system to adapt to varying test load requirements. During high-volume testing, resources can be scaled up to handle the test loads, and scaled down when testing completes, maintaining cost-effectiveness while providing the necessary testing capability.
3Productivity
If cloud resources are allocated to multiple applications simultaneously, then resource utilization efficiency is improved, but the ability to prioritize and throttle applications based on testing priority is reduced
Solution Approach 1:
The system applies different quality levels of service to different applications based on their priority. High-priority applications receive preferential treatment in resource allocation and can be throttled less aggressively, while lower-priority applications have their resources adjusted more freely. This localized differentiation maintains overall efficiency while preserving the ability to manage individual application priorities.
Solution Approach 2:
The system implements periodic throttling and prioritization adjustments based on testing priorities. Applications can be throttled down or suspended during high-priority testing periods, and then throttled back up or resumed when priority changes. This periodic adjustment mechanism maintains resource efficiency while providing the necessary operational control for priority-based resource management.
Data Source
AI summary
Cloud-based testing of applications allows an application under test (AUT) to be subjected to test loads mimicking expected high volume real-time production loads. Test loads can be applied from geographically distributed test load sources. During testing, the system can monitor usage of AUTs and the underlying cloud infrastructure (virtual machines, test servers, etc.) on which the AUT is executing. An AUT can be scaled, for instance, additional instances of the application can be started, and additional virtual machines can be configured and test servers provisioned if AUT or infrastructure usage exceeds specified thresholds during testing. A testing services provider can supply a web-based unified management console from which admins and test users can manage AUT testing.


