AI-Driven Test Script Generation via GUI State Machine Modeling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Manual creation of test scripts for software testing is time-consuming and costly, often leading to insufficiently tested software being released to market due to resource constraints.

Innovation Solution

A method for automatically generating test scripts by modeling graphical user interface (GUI) objects and websites using a state machine approach, where GUI objects are grouped into 'Smart Tags' and a 'blueprint' of the website is created to facilitate the generation of test scripts with reduced human involvement.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If test scripts are manually created by developers or QA individuals, then the testing process can be performed with human control and understanding, but the process becomes time-consuming and costly

Engineering Contradiction:
Improvetesting qualityVSAvoidtest script creation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system enables self-service test script generation by automatically analyzing the application under test and generating test scripts without requiring manual creation by developers or QA individuals. The automated system serves itself by identifying application objects, determining their relationships, and generating appropriate test cases autonomously.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces the mechanical process of manual test script creation with an automated computational system. Instead of humans manually writing test scripts, the system uses automated analysis tools that examine the application structure, identify objects and relationships, and generate test scripts through computational processes.

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

2Reliability

If more resources are allocated to manual test script creation, then testing comprehensiveness improves, but the cost and time consumption increase

Engineering Contradiction:
Improvetesting comprehensivenessVSAvoidsoftware release speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system replaces manual test creation mechanics with automated computational analysis, enabling comprehensive testing without proportionally increasing human resource allocation. The automated system can analyze application structures and generate extensive test cases much faster than manual processes.

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

Solution Approach 2:

The system changes the parameters of test script generation from manual labor-intensive processes to automated computational processes. By transforming the generation mechanism and using intelligent algorithms, the system achieves comprehensive testing coverage while maintaining rapid software release cycles.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If software is released without full testing due to resource constraints, then the speed to market improves, but customers encounter errors from insufficient testing

Engineering Contradiction:
Improvesoftware release speedVSAvoidsoftware error rate
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system replaces slow manual testing mechanics with fast automated analysis, enabling comprehensive testing to be performed within the constraints of rapid release cycles. The automated system can quickly analyze applications and generate test cases that would be impossible to complete manually within the same timeframe.

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

Solution Approach 2:

The system provides self-service testing capabilities that automatically ensure software quality without requiring extensive human testing resources. This enables fast releases while maintaining reliability, as the automated system continuously analyzes and validates the application under test.

Inventive Principle:
Principle #25Self-service

4Productivity

If automated test script generation is implemented, then time and cost are reduced, but the complexity of the generation system increases

Engineering Contradiction:
Improvetest script generation efficiencyVSAvoidmodeling system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system segments the complex task of test script generation into distinct phases: analyzing the application under test, identifying GUI objects, determining relationships between objects, and generating test scripts. This segmentation manages complexity by breaking down the overall process into manageable, specialized components.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces intermediary modeling components (such as the blueprint model and object relationship models) that mediate between the application under test and the generated test scripts. These intermediaries simplify the generation process by providing structured representations of the application that are easier to work with than the raw application code.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10552299B1Method and apparatus for AI-driven automatic test script generation
Publication Date: 2020.02.04 APPVANCE
  • US10552299B1 patent drawing
  • US10552299B1 patent drawing
  • US10552299B1 patent drawing

AI summary

Models of certain groups of graphical user interface (GUI) objects (e.g., menu objects, product objects, title objects, etc.) are created. A website is then modeled as a state machine (also called a blueprint), in which states are used to model webpages of the website. Identifying characteristics of the states are specified based on the models of the GUI objects. Certain scanning options are used to reduce the complexity of the state machine and accelerate the state machine creation process, known as the “one per page” and “once per app” scanning options. After the state machine model of the website has been created, test cases are generated as traversals through the state machine. In one embodiment, user logs direct the generation of test cases so that the test cases resemble past user behavior.