Automated Test Generation for SaaS Regression Prevention

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software as a Service (SaaS) platform upgrades pose risks of regression for customers due to potential defects or changes in behavior, making it challenging for customers to maintain compatibility and functionality, especially when code merges are error-prone and automated tests are lacking.

Innovation Solution

A system that automates testing by simulating user interactions through API calls to map and validate the process model of software applications, allowing for the generation and execution of automated tests to ensure functionality remains consistent before and after platform changes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If automated tests are manually created to detect regression, then testing coverage can be improved, but time consumption and cost increase significantly

Engineering Contradiction:
Improvetesting coverageVSAvoidtime consumption
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs self-service by automatically generating test cases from application logs and user interaction data without requiring manual intervention. The test generation system autonomously analyzes application behavior, identifies test scenarios, and creates executable test cases, thereby eliminating the time-consuming manual test creation process while maintaining comprehensive testing coverage.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system performs preliminary action by generating and executing tests automatically in the background before actual platform upgrades occur. Test cases are pre-generated from historical application data, and the system validates application behavior against these tests proactively, allowing regression detection to happen automatically without requiring manual test preparation at the time of upgrade.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If code merge is performed manually to integrate platform changes, then adaptability can be improved, but error probability increases

Engineering Contradiction:
Improveplatform compatibilityVSAvoiderror probability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system replaces the manual mechanical process of code merging with an automated computational system. Instead of manually integrating platform changes and customizations, the system uses automated test execution and result analysis to validate compatibility, substituting human error-prone manual operations with reliable automated processes that consistently check for regressions.

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

Solution Approach 2:

The system implements feedback by automatically analyzing test results and providing information about compatibility issues. When platform changes are applied, the system executes generated tests and immediately feeds back whether regressions occurred, allowing automatic adjustment and validation without manual intervention, thereby reducing errors while maintaining adaptability.

Inventive Principle:
Principle #23Feedback

3Reliability

If comprehensive manual testing is conducted to ensure functionality, then reliability can be improved, but productivity decreases

Engineering Contradiction:
Improvefunctionality assuranceVSAvoidtesting efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The testing system performs self-service by automatically generating comprehensive test cases and executing them without requiring manual testing effort. The system autonomously analyzes application logs, generates appropriate test scenarios, executes tests, and reports results, thereby maintaining high reliability for functionality assurance while dramatically improving testing efficiency and productivity through automation.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system enables continuity of useful action by running automated tests continuously in the background without interrupting normal application operations. Testing occurs automatically and continuously validates functionality, ensuring reliability is maintained over time without the periodic interruptions and manual effort that would reduce productivity.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS11762717B2Automatically generating testing code for a software application
Publication Date: 2023.09.19 DOTWALK INC
  • US11762717B2 patent drawing
  • US11762717B2 patent drawing
  • US11762717B2 patent drawing

AI summary

A computer-implemented method of mapping a process model of a software application executed by a hosting platform. A series of actions taken by a user with respect to user interfaces generated by the software application are simulated through one or more application programming interface (API) calls. The user interfaces include a form and the series of actions includes opening the form. A plurality of user interface fields of the form are then identified through one or more other API calls executed while impersonating a session of a user under test. At least some of the user interface fields are set to known values and the form is submitted to the software application after the fields have been set. Changes to field-related and record-related information resulting from the submission are then gathered and a process model of the software application is determined based upon the gathered information.