Natural Language Processing for Automated Software Test Generation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current automated software testing methods, such as random exploration and manual authoring of tests, are time-consuming and resource-intensive, especially when trying to find and exercise specific scenarios relevant to customers.

Innovation Solution

A natural language processing system is used to automatically generate action sequences for software testing tools by converting natural language instructions into programming language-specific instructions, allowing for efficient execution of specific actions without requiring technical expertise.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual authoring of tests is used, then testing coverage for specific scenarios can be achieved, but time consumption and resource requirements increase significantly

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

Solution Approach 1:

The system enables self-service test generation where the natural language processing system automatically converts user-friendly natural language descriptions into executable test action sequences, eliminating the need for technical experts to manually author tests while maintaining comprehensive coverage of specific scenarios

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces the mechanical process of manual test authoring with an automated natural language processing system that translates human-readable instructions into programming language-specific action sequences, significantly reducing time consumption while preserving testing coverage

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

2Reliability

If manual authoring of tests is used, then specific scenarios can be tested, but technical expertise is required which increases resource requirements

Engineering Contradiction:
Improvetesting coverageVSAvoidtechnical expertise required
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system enables self-service test generation where the natural language processing system automatically converts user-friendly natural language descriptions into executable test action sequences, eliminating the need for technical experts to manually author tests while maintaining comprehensive coverage of specific scenarios

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The natural language processing system acts as an intermediary between the user's high-level natural language descriptions and the low-level programming language-specific action sequences, translating between different levels of abstraction and eliminating the need for users to possess technical expertise

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If random exploration is used, then broad coverage can be achieved, but finding and exercising specific scenarios becomes time-consuming

Engineering Contradiction:
Improvebroad coverageVSAvoidtime to find specific scenarios
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

Instead of performing random exploration after the fact, the system performs preliminary action by automatically generating targeted action sequences based on natural language descriptions of specific scenarios, allowing direct execution of relevant tests without time-consuming search processes

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20250165379A1Action sequence generation for intelligent software testing
Publication Date: 2025.05.22 MICROSOFT TECHNOLOGY LICENSING LLC
  • US20250165379A1 patent drawing
  • US20250165379A1 patent drawing
  • US20250165379A1 patent drawing

AI summary

A system and method for providing automated action sequence generation. An action sequence generated utilizes a natural language processing system to automatically generate a sequence of actions that a software testing tool can exercise on a software under test based on identified natural language instructions that describe the actions. For instance, the natural language processing system identifies cues describing action instructions and converts the instructions into the software testing tool's programming language-specific language for executing actions in a sequence (i.e., an action sequence). The software testing tool can then replay action sequences and perform specific actions requested by or otherwise relevant to the customer.