Parallel Software Testing With Dynamic Test Case Balancing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The inefficiency in software testing due to the exponential increase in test case execution time as the number of test cases grows, particularly in the automotive field with the implementation of ISO26262 functional safety protocols, leads to extremely long testing times.

Innovation Solution

The method involves dividing a test case set into multiple sequences and executing these sequences in parallel across multiple test units, adjusting the number of test cases in each sequence based on real-time progress information to ensure all sequences finish simultaneously.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If test cases are executed serially, then the testing process is simple to manage, but the testing time increases exponentially as the number of test cases grows

Engineering Contradiction:
Improvetesting efficiencyVSAvoidtesting time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent divides the test case set into multiple test sequences, where each sequence is assigned to a different test unit for parallel execution. This segmentation allows the testing process to handle multiple test cases simultaneously, thereby reducing total testing time while maintaining manageable complexity through structured organization of test sequences and units.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from one-dimensional sequential execution to multi-dimensional parallel execution by introducing multiple test units that operate simultaneously. Each test unit processes its assigned test sequence independently, creating a parallel processing architecture that exponentially reduces testing time compared to traditional serial execution.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Loss of time

If multiple test units execute test cases in parallel, then testing time is reduced, but resource coordination and load balancing become more complex

Engineering Contradiction:
Improvetesting timeVSAvoidsystem complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent implements a feedback mechanism where the testing system continuously monitors the progress of multiple test sequences and dynamically adjusts the distribution of outstanding test cases. Based on real-time progress information from each test unit, the system redistributes test cases to maintain balanced workloads, thereby managing system complexity through adaptive control while preserving parallel execution benefits.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent introduces dynamic test sequence modification during execution, where the number of test cases in each sequence can be adjusted based on real-time progress. This dynamic approach allows the system to adapt to varying execution speeds of different test units, maintaining optimal resource utilization without requiring complex static scheduling arrangements.

Inventive Principle:
Principle #15Dynamics

3Ease of manufacture

If test sequences have unequal numbers of test cases, then distribution is simpler, but some test units finish earlier while others continue, reducing resource utilization efficiency

Engineering Contradiction:
Improvedistribution simplicityVSAvoidresource utilization efficiency
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent uses feedback from test progress information to dynamically redistribute outstanding test cases among test sequences. When some test units complete their sequences earlier than others, the system detects this imbalance and reallocates additional test cases from completed sequences to ongoing sequences, ensuring all test units remain actively utilized until all test cases are exhausted.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent modifies the parameters of test sequences during execution by dynamically changing the number of test cases assigned to each sequence based on real-time progress. This parameter adjustment allows the system to transition from static unequal distribution to dynamic balanced distribution, maximizing resource utilization efficiency while maintaining operational simplicity.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12380017B2Method, apparatus and device for software testing, and computer-readable storage medium
Publication Date: 2025.08.05 HEFEI SUNECO TECHNOLOGY CO LTD
  • US12380017B2 patent drawing
  • US12380017B2 patent drawing
  • US12380017B2 patent drawing

AI summary

A method, an apparatus and a device for software testing, and a computer-readable storage medium are provided. The method includes: acquiring a first test case set for to-be-tested software, and dividing the first test case set into multiple first test sequences; loading, for each of the multiple first test sequences, a test case from the first test sequence to a test unit corresponding to the first test sequence at the beginning of the software testing, to execute test cases by multiple test units in parallel; and during the software testing, acquiring test progress information of the multiple first test sequences, and distributing outstanding test cases in the multiple first test sequences based on the acquired test progress information to modify the numbers of test cases in the respective first test sequences. The outstanding test case is a test case to be loaded into a corresponding test unit for execution.