Virtual Hardware Components for Parallel Software Testing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional product development processes require software development to wait for the completion of hardware development, leading to increased time and economic costs due to the need for manufacturing and maintaining multiple hardware engineering boards for software testing, which can also result in re-execution of hardware development if issues are found during testing.

Innovation Solution

A method and computing device that provide virtual hardware components to simulate the behavior of actual hardware components, allowing for parallel software development and testing without the need for physical hardware, enabling the simulation of both normal and error behaviors to enhance software robustness and reduce development time and costs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If software development waits for hardware development completion, then software can be tested on actual hardware, but product development time increases

Engineering Contradiction:
Improvesoftware testing accuracyVSAvoidproduct development time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent creates virtual hardware components that replicate the behavior and characteristics of physical hardware components. These virtual copies include virtual CPUs, memory devices, storage devices, and I/O devices that simulate hardware responses without requiring actual hardware presence, enabling software testing to proceed in parallel with hardware development

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system performs preliminary software testing using virtual hardware components before the actual hardware is ready. By setting up virtual hardware environments in advance, the patent allows software development and testing to begin earlier in the development cycle, eliminating the sequential dependency where software must wait for hardware completion

Inventive Principle:
Principle #10Preliminary action

2Productivity

If multiple hardware engineering boards are manufactured for software testing, then software can be tested concurrently, but manufacturing and maintenance costs increase

Engineering Contradiction:
Improvesoftware testing throughputVSAvoidhardware resources
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

Instead of manufacturing multiple physical hardware boards, the patent creates virtual copies of hardware components through software. A single physical system can instantiate multiple virtual hardware instances, each capable of running software tests independently, thereby replacing costly physical hardware multiplication with lightweight virtualization

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The virtual hardware component system allows a single physical computing platform to serve multiple testing functions simultaneously. The virtualization layer enables one physical system to emulate different hardware configurations, device types, and scenarios, making the hardware resource universally applicable to various software testing needs

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Reliability

If hardware development is re-executed due to testing issues, then software reliability is ensured, but development time and costs increase

Engineering Contradiction:
Improvesoftware reliabilityVSAvoidre-execution time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

By conducting software testing in advance using virtual hardware that accurately replicates target hardware behavior, the patent identifies and resolves software issues before actual hardware integration. This preliminary validation prevents the need for hardware re-manufacturing or re-development, as software problems are caught and fixed in the virtual testing environment

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The virtual hardware component acts as an intermediary testing layer between software development and physical hardware. This intermediate environment allows realistic software-hardware interaction testing without the constraints and costs of physical hardware, serving as a buffer that prevents costly re-work cycles

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9921949B2Software testing
Publication Date: 2018.03.20 EMC IP HLDG CO LLC
  • US9921949B2 patent drawing
  • US9921949B2 patent drawing
  • US9921949B2 patent drawing

AI summary

Embodiments of the present disclosure provide a method, a computer program product and a computing device for software test by wherein a computing device, wherein at least one virtual hardware component, each virtual hardware component simulating a behavior of a hardware component associated with a to-be-tested software, and testing the to-be-tested software based on the behavior simulated by the at least one virtual hardware component.