Record-Replay Testing Framework with ML Assertions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Multi-tiered systems require significant testing efforts due to disparate testing tools and approaches, leading to resource inefficiencies and inaccuracies in backend, frontend, and performance testing, with manual assertion errors and separate testing activities increasing resource utilization and conflicts.

Innovation Solution

A record-replay testing framework with machine learning-based assertions that records user interactions, builds baseline results, and uses machine learning to identify anomalies in server-side performance statistics, reducing the need for manual assertions and enabling combined API, user-interface, and performance testing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If separate testing tools and approaches are used for backend, frontend, and performance testing, then comprehensive testing coverage is achieved, but resource utilization increases and testing efficiency decreases

Engineering Contradiction:
Improvetesting coverageVSAvoidtesting efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent combines backend API testing, frontend user interface testing, and performance testing into a single unified record-replay testing framework. The replay tool executes recorded workflows that can simultaneously validate multiple tiers of the system, eliminating the need for separate testing tools and approaches while maintaining comprehensive testing coverage.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The replay tool is designed with multi-functionality to perform diverse testing activities including API validation, UI interaction verification, and performance metric collection through a single unified interface. This universal tool replaces multiple specialized testing tools, reducing resource utilization while achieving comprehensive testing.

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

2Adaptability or versatility

If manual assertions are used in testing, then testing flexibility is maintained, but resource utilization increases and accuracy decreases

Engineering Contradiction:
Improvetesting flexibilityVSAvoidassertion accuracy
Core Design Contradiction:
Adaptability or versatilityVSMeasurement precision

Solution Approach 1:

The system employs machine learning models that automatically generate and execute assertions without requiring manual intervention. The replay tool self-services by autonomously creating test assertions based on recorded workflows and baseline results, eliminating manual assertion creation while improving accuracy through automated anomaly detection.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces manual mechanical assertion creation with automated machine learning-based assertion generation. The system uses ML models to automatically compare actual results against baseline results and generate appropriate assertions, substituting human effort with intelligent automation that improves both efficiency and accuracy.

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

3Reliability

If multiple separate testing activities are performed, then thorough system validation is achieved, but test case conflicts increase and resource utilization increases

Engineering Contradiction:
Improvesystem validationVSAvoidtest case conflicts
Core Design Contradiction:
ReliabilityVSObject-generated harmful factors

Solution Approach 1:

The patent merges multiple separate testing activities into a single coordinated replay testing process. By combining API testing, UI testing, and performance testing into one unified workflow execution, the system achieves thorough validation while eliminating conflicts that arise from separate testing activities running independently.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The replay tool acts as an intermediary that coordinates and synchronizes testing activities across different system tiers. It manages the execution flow between frontend and backend components, ensuring consistent test state and preventing conflicts by mediating interactions between different testing layers.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Stability of the object's composition

If traditional testing frameworks are used, then testing stability is maintained, but testing speed and release cadence are slowed

Engineering Contradiction:
Improvetesting stabilityVSAvoidrelease cadence
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The system performs preliminary actions by recording user workflows and baseline results in advance before actual testing execution. This pre-recording phase enables rapid replay testing that can quickly validate changes without requiring complex test setup, thereby accelerating testing speed and release cadence while maintaining stability through consistent baseline comparisons.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses copying by creating replayable recordings of user workflows and baseline test results that can be efficiently replicated and re-executed. These recorded templates serve as stable references that can be quickly copied and applied to multiple testing scenarios, maintaining consistency while enabling rapid iteration and faster release cycles.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS12038824B2Record-replay testing framework with machine learning based assertions
Publication Date: 2024.07.16 THOUGHTSPOT INC
  • US12038824B2 patent drawing
  • US12038824B2 patent drawing
  • US12038824B2 patent drawing

AI summary

A replay tool configured in a learning mode is used to replay a recorded interaction workflow to obtain respective learning-mode test data responsive to a request from a client device to a server. A baseline response template is obtained from the respective learning-mode test data. A baseline response time of the request is also obtained from the respective learning-mode test data. The recorded interaction workflow is replayed in a testing mode to obtain testing-mode test data. Responsive to determining that a response body included in the testing-mode test data is inconsistent with the baseline response template, a first anomaly message is output. Responsive to determining that the response time included in the testing-mode test data is not within a tolerance of the baseline response time, a second anomaly message is output.