Automated Code Testing via Two-Dimensional Test Plane

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional code testing techniques fail to expose bugs and weaknesses in application code until after deployment in cloud infrastructure, as they rely on static test data that does not account for dynamically varying data.

Innovation Solution

Implementing a processing platform with a copy data manager and code version repository to create a two-dimensional test plane, allowing automated testing using multiple distinct data versions, including point-in-time backups and live application data, for improved code version testing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If static test data is used for code testing, then testing simplicity is maintained, but bug detection capability deteriorates

Engineering Contradiction:
Improvetesting simplicityVSAvoidbug detection capability
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The patent transforms static test data into dynamic test data by implementing a data version repository that stores multiple versions of test data and automatically selects appropriate versions based on the code being tested. This dynamic approach allows the testing system to adapt data characteristics to match production environments, thereby improving bug detection capability while maintaining testing simplicity through automation.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameter of test data from static to dynamic by introducing version control and selection mechanisms. The data version repository manages multiple data versions with different characteristics, and the system selectively applies appropriate data versions based on code identifiers, effectively changing the data state parameter to enhance testing effectiveness.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If multiple data versions are used for testing, then test coverage is improved, but system complexity increases

Engineering Contradiction:
Improvetest coverageVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The testing system performs self-service by automatically selecting appropriate data versions based on code identifiers without requiring manual intervention. The data version repository and selection logic work autonomously to match test data with corresponding code versions, reducing the perceived complexity for users while maintaining comprehensive test coverage.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent introduces a data version repository as an intermediary component that manages the complexity of multiple data versions. This intermediary layer abstracts the complexity from the testing process by handling data version selection, storage, and retrieval, allowing the rest of the system to interact with a simplified interface while benefiting from comprehensive data versioning.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If conventional static testing is used, then testing speed is maintained, but bug exposure timing deteriorates

Engineering Contradiction:
Improvetesting speedVSAvoidbug exposure timing
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs preliminary action by conducting comprehensive tests using multiple data versions before code deployment to production. The data version repository pre-stores various data versions, and the automated selection process ensures that relevant bugs are exposed during the testing phase rather than after deployment, thereby reducing the time loss associated with post-deployment bug discovery.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10120787B1Automated code testing in a two-dimensional test plane utilizing multiple data versions from a copy data manager
Publication Date: 2018.11.06 EMC IP HLDG CO LLC
  • US10120787B1 patent drawing
  • US10120787B1 patent drawing
  • US10120787B1 patent drawing

AI summary

An apparatus in one embodiment comprises at least one processing platform including a plurality of processing devices. The processing platform implements compute services for users and further comprises a copy data manager configured to maintain a data version repository. The data version repository stores under the control of the copy data manager a plurality of data versions for each of one or more of the compute services implemented by the processing platform. A code version repository stores a plurality of code versions for each of one or more of the compute services implemented by the processing platform. The code versions stored in the code version repository and the data versions stored in the data version repository collectively provide a two-dimensional test plane. Automated testing the code versions is carried out by an automated code testing system using multiple distinct ones of the data versions selected from the two-dimensional test plane.