Serial Testing Infrastructure Distributed Test Adapter

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Large-scale software applications require complex testing processes due to numerous runtime options and large volumes of testing data, which increase the complexity and dimension of testing, and existing testing infrastructures are limited to serial execution, lacking the capability to efficiently manage distributed testing.

Innovation Solution

A serial testing infrastructure is enhanced to automate testing by enabling the launch of distributed tests into multiple processes that execute concurrently using a message passing model of communication, facilitated by a serial-to-distributed test adapter that initiates and monitors distributed test executors, allowing for flexible configuration and execution of tests across various environments.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a serial testing infrastructure is used to execute tests, then the infrastructure is simple and easy to manage, but the testing efficiency is low and tests cannot execute concurrently

Engineering Contradiction:
Improvetesting efficiencyVSAvoidinfrastructure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the monolithic serial testing infrastructure into multiple independent distributed test executor components that can run concurrently. Each executor handles specific test processes independently, allowing parallel execution while maintaining manageable individual component complexity. The segmentation enables the system to process multiple tests simultaneously across different processes.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a message passing interface (MPI) as an intermediary layer between the serial testing infrastructure and distributed test executors. This mediator enables communication and coordination between multiple concurrent processes without requiring fundamental changes to the existing serial infrastructure, thus improving productivity while controlling complexity through abstraction.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If distributed testing is implemented to improve testing efficiency, then concurrent execution is achieved, but the complexity of managing distributed processes increases

Engineering Contradiction:
Improveconcurrent execution capabilityVSAvoidprocess management ease
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent creates a universal message passing interface that handles multiple functions including process launch, coordination, communication, and result aggregation. This single multi-functional intermediary simplifies the management of distributed processes by providing a unified interface rather than requiring separate mechanisms for each management task, thus improving ease of operation while maintaining concurrent execution capability.

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

Solution Approach 2:

The patent implements feedback mechanisms where distributed test executors report status and results back through the message passing interface to the serial testing infrastructure. This feedback loop enables automated monitoring and management of concurrent processes, reducing the operational burden on users by providing visibility and control without manual intervention.

Inventive Principle:
Principle #23Feedback

3Loss of time

If multiple test processes are executed concurrently, then testing time is reduced, but the coordination and communication overhead between processes increases

Engineering Contradiction:
Improvetesting timeVSAvoidcommunication overhead
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent merges the communication and coordination functions of multiple distributed processes into a single message passing interface. By combining these functions into one standardized interface, the system reduces the overall communication overhead compared to having separate communication channels between each pair of processes. This merging enables concurrent execution to reduce testing time while controlling coordination complexity through consolidation.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS8914673B2Distributed testing within a serial testing infrastructure
Publication Date: 2014.12.16 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8914673B2 patent drawing
  • US8914673B2 patent drawing
  • US8914673B2 patent drawing

AI summary

A serial testing infrastructure includes the capability to execute a distributed test on multiple virtual processors. A test executable may be stored in a library and the test description, including the name of the test, the test library, and other test characteristics, may be stored in a separate test data file. The serial testing infrastructure initiates multiple distributed test executors that each launch an instance of the distributed test as a process that runs concurrently with other instances of the distributed test. Each distributed test executor monitors execution of it corresponding process until completion or timeout.