Serial Testing Infrastructure Distributed Test Adapter
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Productivity
If distributed testing is implemented to improve testing efficiency, then concurrent execution is achieved, but the complexity of managing distributed processes increases
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.
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.
3Loss of time
If multiple test processes are executed concurrently, then testing time is reduced, but the coordination and communication overhead between processes increases
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.
Data Source
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.


