SDK Testing Framework Using Natural Language Translation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional software 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 dealing with changes across different software versions or builds.

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 changes in software versions or builds.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If conventional testing frameworks use custom programming languages, then testing precision and control are improved, but ease of operation deteriorates and device complexity increases

Engineering Contradiction:
Improvetesting precisionVSAvoidease of operation
Core Design Contradiction:
Measurement precisionVSEase of operation

Solution Approach 1:

The patent introduces an intermediary layer that translates natural language test specifications into executable test cases. This mediator component allows users to write tests in natural language while the system handles the conversion to precise executable form, thus maintaining testing precision while improving ease of operation.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent replaces the mechanical system of custom programming languages with a natural language processing system. Instead of requiring users to learn and write in specialized programming syntax, the system accepts natural language input and automatically processes it into executable test cases, significantly reducing the operational barrier.

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

2Extent of automation

If custom programming languages are required for testing, then testing control is improved, but device complexity and cost increase

Engineering Contradiction:
Improvetesting controlVSAvoiddevice complexity
Core Design Contradiction:
Extent of automationVSDevice complexity

Solution Approach 1:

The patent substitutes the complex mechanical system of custom programming language interpretation with a natural language processing system. This replacement maintains automated testing control while reducing the complexity infrastructure required, as natural language processing can leverage existing linguistic understanding rather than requiring custom language design and interpretation.

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

3Reliability

If recompiling code is required for each software version, then testing reliability is improved, but loss of time and productivity deteriorate

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

Solution Approach 1:

The patent performs preliminary actions by creating test cases in natural language that are designed to be version-agnostic. The system pre-processes these natural language specifications into executable form that can adapt to different software versions without requiring recompilation, thus maintaining reliability while reducing the time loss associated with repeated compilation cycles.

Inventive Principle:
Principle #10Preliminary action

4Measurement precision

If professional programmers are hired to create tests, then testing precision is improved, but cost increases

Engineering Contradiction:
Improvetesting precisionVSAvoidcost
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent enables self-service testing by providing tools that allow non-programmers to create precise test cases using natural language. The system automatically handles the translation and execution, eliminating the need to hire professional programmers while maintaining testing precision through automated natural language processing and interpretation.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9292416B2Software development kit testing
Publication Date: 2016.03.22 VMWARE INC
  • US9292416B2 patent drawing
  • US9292416B2 patent drawing
  • US9292416B2 patent drawing

AI summary

In a method of software development kit (SDK) testing, a graphical user interface is provided for initializing a test of an SDK. An application is created to run against the SDK. The output of the SDK is verified.