Parallelizable Data-Driven SIMD Test Generation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing software testing methodologies in modern enterprise computing environments only provide for data-driven testing or parallelization, failing to effectively leverage both data-driven and parallelization-based SIMD testing, leading to inefficiencies in executing the same tests across multiple parameters and inputs.

Innovation Solution

The method involves designing a base abstract class with inheriting classes that derive a data source key, accessing a test data source, and generating SIMD tests by combining inheritance mechanisms for code and data duplication, unit testing, integration testing, and end-to-end testing methodologies, allowing for parallel execution and efficient test data management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data-driven testing is performed sequentially on multiple parameters and inputs, then test coverage is comprehensive, but execution time increases significantly

Engineering Contradiction:
Improvetest coverageVSAvoidexecution time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the monolithic test execution into multiple independent test cases, each handling a specific parameter combination. By dividing the test suite into separable units that can be executed independently, the system enables parallel processing across multiple CPU cores, thereby reducing overall execution time while maintaining comprehensive test coverage.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic test generation and execution by creating test cases at runtime based on input parameters. The system dynamically adapts the test execution plan to available computational resources, allowing tests to be distributed and executed in parallel across multiple processors, thus reducing execution time without sacrificing coverage.

Inventive Principle:
Principle #15Dynamics

2Reliability

If tests are rewritten for different parameters and inputs, then test specificity increases, but development effort and complexity increase

Engineering Contradiction:
Improvetest specificityVSAvoiddevelopment effort
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent creates a universal test case template that can handle multiple parameters and inputs through parameterization. Instead of writing separate tests for each scenario, a single test framework accepts different parameters dynamically, maintaining high test specificity while significantly reducing development effort and avoiding code duplication.

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

Solution Approach 2:

The patent employs parameter-driven test generation where test cases are defined with placeholder parameters that are populated at runtime. This approach allows the same test structure to be reused across different scenarios by simply changing the parameter values, thereby maintaining test specificity without increasing development complexity.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If parallelization is implemented without data-driven approach, then execution speed improves, but test adaptability to different inputs decreases

Engineering Contradiction:
Improveexecution speedVSAvoidtest adaptability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent performs preliminary setup by defining parameterized test templates and data sources before execution. This preliminary configuration enables the system to rapidly instantiate specific test cases during parallel execution, maintaining both high execution speed and adaptability to different inputs through pre-prepared flexible test structures.

Inventive Principle:
Principle #10Preliminary action

4Productivity

If SIMD testing methodology is used, then computational efficiency improves, but implementation complexity increases

Engineering Contradiction:
Improvecomputational efficiencyVSAvoidimplementation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary layer that translates high-level parameterized test definitions into optimized SIMD instructions. This intermediary translation layer handles the complexity of SIMD implementation details, allowing the rest of the system to work with simple parameterized tests while still achieving computational efficiency through vectorized execution.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10649888B2Parallelizable data-driven testing
Publication Date: 2020.05.12 DELL PROD LP
  • US10649888B2 patent drawing
  • US10649888B2 patent drawing
  • US10649888B2 patent drawing

AI summary

Disclosed herein are methods, systems, and processes to generate and perform parallelizable data-driven single instruction multiple data (SIMD) tests. A base abstract class that defines shared testing parameters for tests to be performed on an application is designated. Inheriting classes of the base abstract class are defined and a data source key is derived from the inhering classes. A test data source is accessed to perform the tests on the application and a result of tests is generated based on the data source key.