API Software Testing With Intermediate-State Validation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current software testing methods for APIs are inflexible and fail to capture the dependencies of outputs on internal programming states, leading to incomplete failure analysis and misdiagnosis of software behavior.

Innovation Solution

The use of custom fixtures and validations to enforce logical requirements on input values, intermediate programming states, and output relations, allowing for precise control over software execution and adaptation to complex scenarios.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If conventional input-output testing methods are used, then testing is simple and straightforward, but testing coverage is incomplete and insensitive to internal programming states

Engineering Contradiction:
Improvetesting coverageVSAvoidtesting complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the software execution process into discrete intermediate states that can be individually captured and tested. By dividing the monolithic input-output testing into state-by-state verification, the system achieves comprehensive coverage of internal programming states while maintaining manageable test complexity through modular test case generation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary testing system that sits between the software program and the tester. This intermediary automatically generates test cases based on configuration files, extracts intermediate states during execution, and validates them against expected outcomes, thereby bridging the gap between simple input-output testing and comprehensive state verification without requiring manual complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If fixtures and validations are used to enforce logical requirements on intermediate states, then diagnostic accuracy is improved, but testing process complexity increases

Engineering Contradiction:
Improvediagnostic accuracyVSAvoidtesting process complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by pre-defining fixtures and validations in configuration files before test execution. These fixtures establish expected intermediate states and validations define logical relationships in advance, allowing the testing system to automatically enforce logical requirements during execution. This approach improves diagnostic accuracy by having verification rules ready before failures occur, while the automation reduces the perceived complexity of the testing process.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If comprehensive testing of intermediate states is performed, then software behavior is accurately captured, but testing time and resources increase

Engineering Contradiction:
Improvesoftware behavior accuracyVSAvoidtesting time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements self-service by enabling the testing system to automatically generate test cases, execute them, and produce diagnostic reports without extensive manual intervention. The system reads configuration files, autonomously determines what intermediate states to test, executes the software, captures states, and generates comprehensive diagnostics. This automation maintains high reliability through thorough intermediate state verification while significantly reducing the time and human resources required compared to manual comprehensive testing.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS20250284614A1Systems and methods for testing software programs
Publication Date: 2025.09.11 CAPITAL ONE SERVICES LLC
  • US20250284614A1 patent drawing
  • US20250284614A1 patent drawing
  • US20250284614A1 patent drawing

AI summary

Systems and methods for customizing the testing process of a software program. In some aspects, the system receives a set of requirements for a software program, including logical rules linking input values to output values of the software program. The system receives a set of failure types that correspond to previous deviations from the logical rules in the set of requirements. Based on the set of failure types and the set of requirements, the system generates a configuration file, including fixtures and validations, where the fixtures and validations describe logical relations between intermediate states of the software program during execution. Based on the configuration file, the system generates a plurality of test cases, including parameters and endpoints. Using the plurality of test cases, the system regulates the software program to produce output values from input values in accordance with the set of requirements.