Finite State Machine for Exhaustive Software Test Generation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current software testing methods, especially in complex data management environments, are labor-intensive, time-consuming, and limited in thoroughness, making it difficult to detect all software failure modes and maintain test scripts as applications evolve, leading to potential software failures with significant business and societal costs.

Innovation Solution

A state-based intelligent test generation system that creates a finite state machine using state model data and action configuration data, guided by machine learning, to ensure exhaustive coverage of application states and simulate user interactions, thereby automating the testing process and reducing manual effort.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual testing is used to test complex applications, then testing thoroughness can be maintained to some extent, but the time and cost required increase significantly

Engineering Contradiction:
Improvetesting thoroughnessVSAvoidtesting time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system enables self-service automated test generation by analyzing application code, requirements, and test data to automatically create test cases and test scripts without requiring manual intervention from testers, thereby reducing time and cost while maintaining thoroughness

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces the mechanical manual testing process with an automated intelligent system that uses machine learning models and algorithms to generate, execute, and analyze test cases, substituting human effort with automated computational processes

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

2Productivity

If test automation is implemented to reduce manual effort, then testing efficiency improves, but the complexity of creating and maintaining test scripts increases

Engineering Contradiction:
Improvetesting efficiencyVSAvoidtest script complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system automatically generates and maintains test scripts by analyzing application changes and requirements, eliminating the need for manual test script creation and maintenance, thereby improving efficiency without increasing complexity

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The test generation system is dynamic and adaptive, automatically adjusting test cases based on application changes, requirements modifications, and test results, making the testing process flexible without requiring complex manual intervention

Inventive Principle:
Principle #15Dynamics

3Reliability

If the test team size is increased to match the growth rate of application complexity, then testing thoroughness can be maintained, but the cost becomes prohibitive

Engineering Contradiction:
Improvetesting thoroughnessVSAvoidtesting cost
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent replaces human testers with an automated intelligent system that can handle complex application testing without additional cost, substituting the need for larger test teams with computational automation

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

Solution Approach 2:

The intelligent test generation system performs multiple testing functions simultaneously - generating test cases, executing tests, analyzing results, and adapting to application changes - replacing the need for multiple specialized testers with a single multi-functional automated system

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

4Reliability

If traditional testing methods are used for complex applications with many execution paths, then all possible paths cannot be covered, but the testing process remains manageable

Engineering Contradiction:
Improvetest coverageVSAvoidtesting complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system replaces manual test case design with automated analysis that can systematically explore and cover all possible execution paths through the application, using algorithms to generate comprehensive test scenarios that would be impossible to create manually

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

Solution Approach 2:

The patent introduces an intelligent intermediary system that analyzes application code, requirements, and execution paths to generate appropriate test cases, acting as a mediator between the complex application and the testing process to ensure thorough coverage

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10452523B1System and method for state based intelligent test generation
Publication Date: 2019.10.22 INTUIT INC
  • US10452523B1 patent drawing
  • US10452523B1 patent drawing
  • US10452523B1 patent drawing

AI summary

A system and method for use with a data management service that provides a finite state machine with machine learning based generation of tests to ensure exhaustive coverage of the compound states of an application undergoing modification. The finite state machine is modified with inputs of feedback from production usage of the application. A continuous virtual test pool utilizes the finite state machine to replicate numerous instances of users simulating the possible states of the application.