Cloud Controller for Automated Virtual Machine Testing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Automated testing of computer applications in cloud environments faces challenges in efficiently deploying and managing virtual machines based on capacity and scaling needs, particularly for interactive applications that require user interface commands.
Innovation Solution
A system and method for automated testing in a cloud environment that involves a controller determining the number of virtual machines to deploy based on specified needs and capacity, initializing test agents, providing test commands through a cloud data storage system, and monitoring command execution, with mechanisms to handle both interactive and non-interactive commands.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If virtual machines are deployed to handle testing capacity needs, then testing scalability is improved, but system complexity increases
Solution Approach 1:
The system employs self-service mechanisms where the automated testing platform automatically provisions, configures, and manages virtual machines based on testing requirements. The platform autonomously handles VM lifecycle operations including deployment, initialization of test agents, command distribution, and teardown, eliminating manual intervention and reducing operational complexity despite the increased number of virtualized components
Solution Approach 2:
The testing system segments functionality across multiple virtual machines, allowing different testing workloads, test agents, and command execution environments to run in isolated VM instances. This segmentation enables scalable testing capacity while managing complexity through modular organization of testing components across discrete virtualized units
2Productivity
If automated test commands are provided to multiple test agents, then testing productivity is improved, but command management complexity increases
Solution Approach 1:
The system implements a universal command management mechanism that serves multiple test agents simultaneously through a centralized command distribution architecture. The same command infrastructure handles command issuance, execution monitoring, and result collection across all test agents, enabling scalable productivity without proportionally increasing management complexity
Solution Approach 2:
The system employs feedback mechanisms where test agents report command execution status and results back to the centralized management system. This automated feedback loop enables real-time monitoring and selective provision of next commands based on execution results, improving productivity while maintaining manageable command control through automated status tracking
Data Source
AI summary
A system and method for performing automated testing of an application in a cloud environment. A controller initializes an manages a number of virtual machines (VM), each VM including a test engine. The controller retrieves configuration data, determines a number of VMs to deploy, and initializes the VMs. The controller manages each VM by providing test commands and monitoring the results. Each VM receives and executes the test commands. The system may be used to test interactive applications or non-interactive applications.


