Automated Test Framework Using Virtual Machines for Diverse Device Configurations

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional software testing frameworks require multiple client devices with specific configurations, making it cumbersome to test software applications across diverse computing devices and operating systems, and they often rely on coded test scenario files, limiting flexibility and automation.

Innovation Solution

A testing automation framework that uses a master device to automatically create and manage virtual machines on client devices, install software applications, and execute test scenarios, with the ability to read non-coded text files specifying test operations, allowing for flexible configuration and execution across different hardware and operating systems.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If conventional testing frameworks are used with predetermined client device configurations, then test scenarios can be executed, but the complexity of device configuration and selection increases

Engineering Contradiction:
Improvetest scenario executionVSAvoidclient device configuration
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent creates virtual machine images that replicate specific device configurations. Instead of configuring multiple physical devices, the system generates virtual copies of devices with predetermined configurations (e.g., different operating systems, hardware specs) that can be rapidly deployed and managed. This resolves the contradiction by replacing complex physical device configuration with automated virtual image creation.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent introduces a virtualization layer as an intermediary between physical devices and test scenarios. Virtual machines act as mediators that abstract the underlying hardware complexity, allowing test scenarios to be executed on standardized virtual environments rather than directly on diverse physical devices. This intermediary layer simplifies configuration management while maintaining test diversity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If multiple client devices with specific configurations are required, then comprehensive testing can be performed, but the time and resources needed for testing increase

Engineering Contradiction:
Improvetesting comprehensivenessVSAvoidtesting duration
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system creates multiple virtual machine images representing different device configurations and platforms. These virtual copies can be instantiated simultaneously and rapidly, eliminating the time required to physically configure and connect multiple devices. The virtual environment allows comprehensive testing across diverse configurations without the temporal constraints of physical device deployment.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent pre-configures virtual machine images with specific device configurations, operating systems, and software environments before testing begins. This preliminary preparation of test environments allows immediate execution of test scenarios without time-consuming on-site configuration, thereby reducing overall testing duration while maintaining comprehensive coverage.

Inventive Principle:
Principle #10Preliminary action

3Measurement precision

If coded test scenario files are used, then precise control is achieved, but flexibility and automation capability are reduced

Engineering Contradiction:
Improvetest control precisionVSAvoidtest scenario flexibility
Core Design Contradiction:
Measurement precisionVSAdaptability or versatility

Solution Approach 1:

The patent transforms test scenarios from coded programs to parameter-based configurations. Instead of requiring programming knowledge, users can define test scenarios by specifying parameters such as device types, operating systems, and test objectives. The system automatically translates these parameter specifications into executable test protocols, maintaining precision while dramatically improving flexibility and ease of automation.

Inventive Principle:
Principle #35Parameter changes

4Reliability

If physical client devices are deployed for testing, then real-world performance can be tested, but hardware resources and setup complexity increase

Engineering Contradiction:
Improveperformance testing accuracyVSAvoidhardware resources
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The system creates virtual copies of physical devices that replicate hardware configurations, operating systems, and software environments. These virtual images consume significantly fewer physical hardware resources while maintaining the ability to test real-world performance scenarios. Multiple virtual devices can be instantiated from single physical hosts, eliminating the need for proportional physical hardware deployment.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent introduces a virtualization intermediary layer between physical hardware and test execution. This virtualization layer abstracts hardware resources, allowing multiple test scenarios to share physical hardware efficiently. The intermediary enables performance testing on diverse configurations without requiring dedicated physical devices for each test scenario, thereby reducing overall hardware resource consumption.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS7823023B2Test framework for testing an application
Publication Date: 2010.10.26 RED HAT INC
  • US7823023B2 patent drawing
  • US7823023B2 patent drawing
  • US7823023B2 patent drawing

AI summary

A device, method and/or computer-readable medium for testing an application within a test framework includes a framework controller associated with the test framework installed on a master device and a test driver associated with the test framework installed on one or more client devices. The master device is connected to the one or more client devices and a virtual machine (VM) module is installed on each of the one or more client devices. VMs can be created on the client devices and the application is installed on at least one of the VMs. The application is executed on the VMs according to a test scenario file. The framework controller collects data to generate an output result.