Software Test Automation Using Natural Language Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional automated testing frameworks require programming expertise and are costly due to the need for custom programming languages, making it difficult for non-programmers to create and modify tests, especially when software versions or builds change, leading to inefficiencies and high re-write times.

Innovation Solution

A testing framework with a persistent static layer and a dynamic custom action layer that allows users to create and modify tests using natural language, reducing the need for programming knowledge and enabling easy adaptation to software changes without re-compiling code.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Extent of automation

If conventional automated testing frameworks use custom programming languages, then testing automation capability is achieved, but programming expertise is required and cost increases

Engineering Contradiction:
Improvetesting automation capabilityVSAvoidprogramming expertise requirement
Core Design Contradiction:
Extent of automationVSEase of operation

Solution Approach 1:

The patent introduces a natural language processing layer as an intermediary between the user and the automated testing framework. This mediator translates natural language test descriptions into executable test cases, eliminating the need for users to learn programming languages while maintaining full automation capability. The natural language interface acts as a bridge that converts human-readable requirements into machine-executable tests.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent replaces the mechanical system of programming language syntax and compilation with a natural language processing system. Instead of requiring users to write code in specific programming languages and compile it, the system accepts natural language descriptions and automatically generates and executes test cases, substituting the traditional code-writing mechanism with a more accessible language-based approach.

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

2Extent of automation

If custom programming languages are used for testing, then automated tests can be created, but re-write time increases when software versions change

Engineering Contradiction:
Improveautomated test creationVSAvoidre-write time
Core Design Contradiction:
Extent of automationVSLoss of time

Solution Approach 1:

The patent implements a dynamic test generation system that adapts to software version changes. When software versions change, the natural language processing system automatically adjusts test case generation based on updated software descriptions, rather than requiring manual re-writing of test code. This dynamic adaptation reduces re-write time by automatically synchronizing tests with the current software state.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system performs preliminary actions by maintaining a repository of software documentation and specifications that are continuously updated. When version changes occur, the system has already processed and stored updated software descriptions, enabling rapid generation of corresponding test cases without requiring从头 creation of tests.

Inventive Principle:
Principle #10Preliminary action

3Manufacturing precision

If programming background is required to create automated tests, then tests can be created with precision, but accessibility to non-programmers is reduced

Engineering Contradiction:
Improvetest creation precisionVSAvoidaccessibility to non-programmers
Core Design Contradiction:
Manufacturing precisionVSEase of operation

Solution Approach 1:

The natural language processing system serves as an intermediary that preserves test creation precision while improving accessibility. It translates imprecise natural language descriptions into precise executable test cases, maintaining the rigor needed for accurate testing while allowing non-programmers to participate. The mediator ensures that the precision requirement is met through automated translation rather than requiring the user to write precise code.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9069902B2Software test automation
Publication Date: 2015.06.30 VMWARE INC
  • US9069902B2 patent drawing
  • US9069902B2 patent drawing
  • US9069902B2 patent drawing

AI summary

In a method of creating a custom action, a user interface is presented for entry of lines of a custom action. In response to receipt of a sub-portion of a line of the custom action via said user interface, the sub-portion is automatically checked for errors in syntax. The custom action is stored as a selectable custom action in a dynamic layer of a testing infrastructure. The dynamic layer of the testing infrastructure is associated with a particular instance of a software item.