Functional Testing for Read Processing Workflow Stability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing workflows that process reads for various clients are prone to becoming unoperational due to code modifications, making it difficult and time-consuming to determine if a modification will cause errors or produce incorrect results, necessitating a method to detect run-time impacts of code changes.

Innovation Solution

The implementation of functional testing that includes accessing a workflow with stages defined by modifiable code, using reduced reference data sets and read data with specific identifiers, to perform testing and detect errors, warnings, resource usage, and variant detection, with the ability to update live versions of the workflow and store approved code modifications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If code modifications are made to workflows, then functionality and adaptability are improved, but the risk of errors and unoperational workflows increases

Engineering Contradiction:
Improvecode modifiabilityVSAvoidworkflow operational status
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system performs preliminary functional testing of code modifications before deploying them to production workflows. Test workflows are created with test reads and reference data sets to validate code changes in advance, preventing errors from reaching operational workflows.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

A functional testing system acts as an intermediary between code development and production deployment. The testing framework mediates by executing modified code in a controlled test environment, validating functionality before allowing changes to affect operational workflows.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If functional testing is performed with complete reference data sets, then testing accuracy is improved, but processing time and resource consumption increase

Engineering Contradiction:
Improvetesting accuracyVSAvoidtesting duration
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system uses partial reference data sets (subsets) for functional testing instead of complete data sets. This partial action approach provides sufficient testing accuracy to detect code errors while significantly reducing processing time and computational resources required.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system creates temporary test workflows and uses disposable test data sets that are generated, used for testing, and then discarded. These temporary objects require minimal resources compared to maintaining full production-grade data sets for testing purposes.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

Data Source

PatentUS9811439B1Functional testing of code modifications for read processing systems
Publication Date: 2017.11.07 COLOR HEALTH INC
  • US9811439B1 patent drawing
  • US9811439B1 patent drawing
  • US9811439B1 patent drawing

AI summary

Techniques for using functional testing to detect run-time impacts of code modifications. A method includes accessing a workflow including a plurality of stages for processing reads. The stages are defined based on modifiable code and include a first stage for aligning reads with a corresponding portion of a reference data set and a second stage for collectively analyzing data corresponding to the aligned reads. The method includes identifying functional testing specifications to correspond with the workflow, including a definition of which stages are to be performed during functional testing, a reduced reference data set, and a set of reads. The method includes performing the functional testing using the reduced reference data set and the set of reads, detecting a result generated via the performance, and outputting the result.