Automated Service Layer Testing via Request Interception

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current service layer testing and regression processes are cumbersome and prone to human error, requiring significant manual effort and frequent updates due to unique input and output JSON structures, leading to incomplete and stale test cases.

Innovation Solution

A computer-implemented system that automatically intercepts and stores actual service requests, generates non-redundant test cases, and executes service testing to provide comprehensive service layer testing and regression reports, eliminating the need for manual coding and continuous maintenance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If developers manually code service requests for testing, then service layer testing can be conducted, but it introduces significant risk of human error and takes significant time

Engineering Contradiction:
Improvetesting accuracyVSAvoidtime to create test cases
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system automatically captures and copies actual production service requests to create test cases, eliminating manual coding. The request capture module intercepts real user requests and stores them in a database, which are then used to generate test cases automatically, ensuring both accuracy and efficiency.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The testing system serves itself by automatically generating test cases from captured production requests without human intervention. The system autonomously manages the entire testing workflow including request capture, test case generation, execution, and result analysis.

Inventive Principle:
Principle #25Self-service

2Reliability

If developers manually update test cases when service input structure changes, then testing can remain accurate, but this requires continual attention and maintenance

Engineering Contradiction:
Improvetesting accuracyVSAvoidmaintenance effort
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The system automatically adapts to service structure changes by capturing updated production requests and regenerating test cases without human intervention. When services are modified in production, the captured requests reflect these changes, and the test case generation process automatically updates accordingly.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system continuously monitors production traffic and uses feedback from actual service requests to automatically update test cases. The loop of capturing production requests, analyzing them, and regenerating test cases ensures testing remains synchronized with current service behavior.

Inventive Principle:
Principle #23Feedback

3Productivity

If developers test only a subset of services, then testing time is reduced, but the thoroughness of testing is compromised

Engineering Contradiction:
Improvetesting throughputVSAvoidtesting coverage
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system captures and stores all production service requests in a database, creating a comprehensive repository of real-world test cases. This allows complete service coverage without manual selection, as every captured request becomes a potential test case.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system generates test cases for all captured requests but intelligently eliminates redundant ones, keeping only unique test scenarios. This approach exceeds traditional testing by capturing excessive data initially, then refining it to achieve optimal coverage without redundancy.

Inventive Principle:
Principle #16Partial or excessive action

4Ease of manufacture

If manual service request coding is used, then test cases can be created, but the process is cumbersome and leads to service test cases going stale frequently

Engineering Contradiction:
Improvetest case creationVSAvoidtest case currency
Core Design Contradiction:
Ease of manufactureVSStability of the object's composition

Solution Approach 1:

The system continuously captures production requests in real-time and automatically regenerates test cases on demand. This continuous process ensures test cases never stale, as they are always derived from current production traffic rather than being static manual creations.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The testing system automatically maintains itself by continuously updating test cases from production requests without human intervention. When new services are added or existing services are modified, the system autonomously captures the changes and updates the test suite.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10678683B2System and method for automated service layer testing and regression
Publication Date: 2020.06.09 JPMORGAN CHASE BANK NA
  • US10678683B2 patent drawing
  • US10678683B2 patent drawing
  • US10678683B2 patent drawing

AI summary

The invention relates to a computer-implemented system and method for service level testing and regression. The method may comprise the steps of automatically intercepting service requests from users; storing the service requests in a test database; generating a set of service request test cases from the service requests, wherein the test cases represent substantially all forms of service requests but eliminate redundant service requests, e.g., those that are different only due to input data; executing service testing using all of the test cases; and generating a report of results from the service testing. The step of executing service testing may comprise testing of an earlier code version to generate a baseline response and testing a current code version to generate a target response. The step of generating a report may comprise generating a regression test report that includes the baseline response and the target response for the test cases.