Continuous Testing for Distributed Microservices

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In microservice architectures, the complexity of testing and the risk of introducing breaking changes during code updates pose challenges, as traditional testing methods fail to validate the integration of multiple microservices effectively, leading to potential software failures and increased complexity in continuous delivery pipelines.

Innovation Solution

A continuous testing method that incorporates a pre-merge commit test to validate end-to-end transactions across all applicable microservices, identifying errors and preventing breaking changes by sending notifications and refusing code merges until clean test results are achieved, thereby ensuring functional integrity before deployment.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional testing methods are used for microservices, then individual service testing is simple, but integration validation and breaking change detection are insufficient

Engineering Contradiction:
Improveintegration validationVSAvoidtesting complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements preliminary action by executing test transaction routines before code merging occurs. The system automatically runs integration tests against all microservices to validate connections and detect breaking changes before the code is deployed to production, preventing failures before they impact the system.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback by providing real-time test results to code developers through notifications. When test transaction routines detect errors in code changes, the system automatically sends feedback to developers, enabling rapid iteration and correction of breaking changes without manual intervention.

Inventive Principle:
Principle #23Feedback

2Reliability

If continuous delivery pipelines are created for each development team, then development autonomy is maintained, but overall system connection validation is insufficient

Engineering Contradiction:
Improvesystem connection validationVSAvoidpipeline complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent merges individual team testing pipelines into a unified system-wide validation process. The test transaction routine executes across all microservices in the distributed system, combining team-level testing with system-level integration validation to ensure end-to-end functionality.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent creates a universal testing framework that serves multiple functions: validating individual microservice connections, detecting breaking changes across services, and ensuring system-wide integration. This single test transaction routine handles all validation needs for code merging.

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

3Productivity

If code updates are made frequently to improve agility, then delivery speed increases, but risk of introducing breaking changes increases

Engineering Contradiction:
Improvedelivery speedVSAvoidbreaking change risk
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary testing before code merging by automatically executing test transaction routines that validate all microservice connections. This preliminary validation step ensures that frequent code updates do not introduce breaking changes, maintaining reliability while preserving delivery speed.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system provides immediate feedback to developers through notifications when test transaction routines detect errors. This rapid feedback loop enables developers to correct breaking changes quickly, maintaining high delivery speed while ensuring code quality and system stability.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS20250103476A1Continuous testing for distributed system to control breaking change
Publication Date: 2025.03.27 VISA INTERNATIONAL SERVICE ASSOCIATION
  • US20250103476A1 patent drawing
  • US20250103476A1 patent drawing
  • US20250103476A1 patent drawing

AI summary

A method is configured to perform a continuous software testing. A processor receives, from a code developer computer, a request to commit a code portion for a microservice to a code repository including a source code for a plurality of microservices. The processor executes, using the source code into which the code portion is incorporated, a test transaction routine including tests respectively associated with the plurality of microservices. The processor determines if an error occurred in response to the executing the test transaction routine. If no error occurred, the code portion is committed to the code repository, and, if an error occurred, the code portion is not committed to the code repository.