In-Memory ETL Testing via Randomized Data Variation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Deploying ETL jobs without thorough testing can lead to erroneous data and wasted processing time due to the limitations of relying on developers' experiences and test datasets, which may not cover all scenarios or variations in actual datasets.

Innovation Solution

A method that uses a random number generator to vary aspects of in-memory source datasets for testing ETL instructions, allowing for holistic validation of extraction, transform, and load phases individually and in combination, thereby identifying errors that might be missed in separate phase testing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If developers test ETL instructions based on their experiences and existing test datasets, then testing can be performed with available resources, but testing coverage is insufficient and flaws may be missed

Engineering Contradiction:
Improvetesting coverageVSAvoidtesting process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system performs preliminary actions by automatically generating diverse test datasets and varying source data characteristics before ETL instruction execution. This includes creating multiple source datasets with different variations (null values, special characters, edge cases) and pre-configuring test scenarios to ensure comprehensive coverage before actual testing occurs.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The testing system performs self-service by automatically generating test datasets, executing ETL instructions, validating results, and identifying flaws without requiring manual intervention. The system self-manages the entire testing workflow including data generation, instruction execution, and result analysis, thereby improving testing coverage while maintaining manageable complexity.

Inventive Principle:
Principle #25Self-service

2Reliability

If ETL instructions are tested extensively before implementation, then errors can be detected early, but processing time and resources are consumed

Engineering Contradiction:
Improveerror detection capabilityVSAvoidtesting time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system applies partial action by selectively testing ETL instructions with focused test datasets that target specific error conditions rather than exhaustively testing all possible scenarios. This allows efficient error detection for critical issues while reducing overall testing time through prioritized test execution.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system replaces manual mechanical testing processes with automated computational testing. Instead of manual dataset creation and instruction execution, the system uses automated algorithms to generate test data, execute instructions, and validate results, significantly reducing testing time while maintaining or improving error detection capability.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Ease of operation

If individual phases of ETL instructions are tested separately, then testing is simpler to manage, but errors in combined phases may not be detected

Engineering Contradiction:
Improvetesting management easeVSAvoidcomprehensive error detection
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The system merges individual phase testing with integrated workflow testing by executing ETL instructions as complete pipelines rather than isolated phases. This allows the system to maintain simple test management through unified instruction execution while simultaneously detecting errors that occur during phase transitions and interactions, thereby achieving both ease of operation and comprehensive error detection.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS12067026B2In-memory databases for integration testing of extraction, transformation, and/or loading jobs
Publication Date: 2024.08.20 CAPITAL ONE SERVICES LLC
  • US12067026B2 patent drawing
  • US12067026B2 patent drawing
  • US12067026B2 patent drawing

AI summary

A method, apparatus, and computer-readable medium are described that provide integrated testing and validation of multi-phase instructions before deployment. Aspects of the disclosure relate to testing ETL instructions using an efficient process that individually and/or holistically validates the ETL instructions and, using a random number generator, varies various aspects of the source datasets. A benefit of running the combination of instructions includes finding errors that are not apparent during testing of each instruction phase separately. Instructions may be separately provided that identify the framework of an in-memory source dataset (e.g., a quantity of rows, a quantity of columns, types of the various columns, data for each record, and the like). The instructions for the framework may also identify a variability of one or more of the items of the framework.