OS Component Virtualization for Software Testing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current software testing methods using virtual machines can be time-consuming and resource-intensive, and may fail to detect issues that arise when software is run on physical machines rather than virtual environments, particularly when testing multiple configuration changes.

Innovation Solution

The use of operating-system-level virtualization to isolate and activate specific components within a virtualization layer, allowing software to be tested as if these components were part of the base operating system, and then deactivating them for normal operation, facilitating efficient testing across various environments and configurations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If virtual machine images are used for testing, then the time involved in changing the configuration of a software testing environment is reduced, but additional test variables are introduced and resources are still consumed significantly

Engineering Contradiction:
Improvetime to change testing environment configurationVSAvoidtesting environment complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent segments the testing environment by isolating specific operating system components (registry, device drivers, services) into separate virtualization layers rather than using complete virtual machine images. This allows testers to modify individual components without the overhead of managing entire virtual machines, reducing both time and complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts specific operating system components from the full operating system and places them in a virtualization layer. This extraction enables testing of software against specific OS components without requiring the entire OS or virtual machine infrastructure, thereby reducing environmental complexity while maintaining testing efficiency.

Inventive Principle:
Principle #2Taking out (Extraction)

2Productivity

If virtual machine images are used for testing, then configuration changes can be made quickly, but software problems on physical machines may go undetected

Engineering Contradiction:
Improvetesting speedVSAvoiddetection accuracy of software problems
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces a virtualization layer as an intermediary between the base operating system and the software being tested. This layer contains specific operating system components that can be activated or deactivated to simulate different physical machine environments, enabling both fast testing and accurate detection of physical machine-specific problems.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent enables parameter changes by allowing dynamic activation and deactivation of specific operating system components in the virtualization layer. Testers can quickly change which OS components are active (e.g., different registry settings, device drivers, or services) to simulate various physical machine configurations, maintaining testing speed while improving detection accuracy.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If numerous configuration changes are tested using virtual machines, then comprehensive testing is achieved, but time and resources are consumed significantly

Engineering Contradiction:
Improvetesting coverage across configurationsVSAvoidtotal testing time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent segments the testing process by allowing independent modification and activation of specific operating system components rather than requiring full virtual machine reconfiguration. This segmentation enables comprehensive testing across multiple configurations by activating different component combinations, significantly reducing the time required compared to traditional virtual machine approaches.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9116725B1Systems and methods for using virtualization of operating-system-level components to facilitate software testing
Publication Date: 2015.08.25 CA TECH INC
  • US9116725B1 patent drawing
  • US9116725B1 patent drawing
  • US9116725B1 patent drawing

AI summary

A computer-implemented method for facilitating software testing using operating-system component virtualization may include 1) identifying a software product installed on a computing system comprising a base operating system; 2) selecting an operating-system-level component with which the software product is to be tested; 3) isolating the operating-system-level component in a virtualization layer that is distinct from the base operating system; 4) activating the virtualization layer such that access requests directed to the base operating system for the operating-system-level component are redirected to the virtualization layer; 5) testing the software product while the virtualization layer is active to determine how the software product would function if the operating-system-level component was part of the base operating system; and 6) after the testing is complete, deactivating the virtualization layer such that the operating-system-level component is no longer visible to the base operating system or the software product.