Probabilistic Graphical Model for Automated Software Test Case Generation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for generating test cases for GUI applications are inefficient, relying on human feedback and often result in incomplete or inaccurate testing, which can lead to delayed software releases and resource wastage due to undetected issues.

Innovation Solution

A system and method that automatically generate test cases using recorded user interactions, employing a probabilistic graphical model and machine learning to cluster similar sequences of user actions, allowing for the detection of issues without human intervention and enabling robust testing independent of scripting languages.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If automated test case generation is implemented, then productivity is improved, but measurement precision deteriorates

Engineering Contradiction:
Improvetest case generation efficiencyVSAvoidissue detection accuracy
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The system implements feedback loops where test execution results are analyzed and used to refine the probabilistic graphical model. The model learns from actual user interaction patterns and test outcomes, continuously improving its ability to generate accurate test cases while maintaining high productivity through automation.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent replaces manual mechanical processes of test case creation with an automated machine learning system. The probabilistic graphical model automatically analyzes user interactions and generates test cases without human intervention, substituting the mechanical process of manual test design with an intelligent automated system that maintains both speed and accuracy.

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

2Reliability

If comprehensive test cases are generated, then reliability is improved, but loss of time worsens

Engineering Contradiction:
Improvesoftware functionality verificationVSAvoidtest case generation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary analysis of user interaction patterns before generating test cases. By pre-processing and analyzing user behavior data to build the probabilistic graphical model in advance, the system prepares the foundation for rapid test case generation, reducing the time required when actual testing is needed while ensuring comprehensive coverage.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system generates test cases based on the most probable and significant user interaction sequences identified by the model. Rather than exhaustively testing all possible scenarios, it focuses on the most likely and critical paths, achieving sufficient reliability without the time cost of complete exhaustive testing.

Inventive Principle:
Principle #16Partial or excessive action

3Measurement precision

If manual test case creation is used, then measurement precision is improved, but productivity deteriorates

Engineering Contradiction:
Improvetest case accuracyVSAvoidtest case generation speed
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The system enables self-service test case generation where the probabilistic graphical model automatically creates test cases from user interaction data without requiring manual intervention. The system serves itself by learning from data and generating its own test cases, combining the speed of automation with the precision that comes from data-driven insights.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system changes the parameters of test case generation by using probabilistic models and machine learning algorithms instead of manual methods. This parameter change in the generation approach allows the system to automatically adjust test case creation based on learned patterns, achieving both high speed and accuracy through data-driven parameter optimization.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP3871095B1Generating test cases for a software application and identifying issues with the software application as a part of test case generation
Publication Date: 2024.06.05 FUNCTIONIZE INC
  • EP3871095B1 patent drawingFigure 1
  • EP3871095B1 patent drawingFigure 2
  • EP3871095B1 patent drawingFigure 3

AI summary

A system for generating a test case for a software application. The system includes an electronic processor. The electronic processor is configured to receive user actions recorded as a user interacts with a first software application and generate a probabilistic graphical model using recorded user actions. The electronic processor is also configured to divide the probabilistic graphical model into clusters of similar sequences of user actions, determine a test case from a cluster of similar sequences of user actions using a machine learning system, and execute the test case.