Definition-Driven Test Agent for REST API Validation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing solutions for testing REST APIs, such as Google's Advanced REST client, are cumbersome and time-consuming due to the manual entry of complex JSON or XML data, which can be error-prone and inefficient for developers and QA personnel.

Innovation Solution

A definition-driven test agent that parses service specification files to prompt users for resource selection and request payload inputs, converts these inputs into JSON or XML data, submits them to a web services host via HTTP REST requests, and presents the response in a user-friendly format, minimizing manual data entry and errors.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If manual entry of complex JSON or XML data is used to test REST APIs, then the testing process can be performed with existing tools, but the process becomes time-consuming and error-prone

Engineering Contradiction:
Improveease of testingVSAvoidtesting time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The system performs preliminary action by automatically generating JSON or XML data based on service specification files before the actual API testing. The test agent parses the specification files to understand the required data structure and automatically populates the request payloads, eliminating the need for manual data composition and reducing testing time while maintaining ease of operation.

Inventive Principle:
Principle #10Preliminary action

2Ease of operation

If manual entry of complex JSON or XML data is used to test REST APIs, then flexibility in data formatting is maintained, but the process becomes cumbersome and error-prone

Engineering Contradiction:
Improveease of testingVSAvoiddata entry accuracy
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The system implements feedback by validating the generated JSON or XML data against the service specification files. The test agent continuously references the specification to ensure data accuracy and consistency, providing automatic verification that prevents errors and maintains high reliability in data entry while keeping the interface simple for users.

Inventive Principle:
Principle #23Feedback

3Device complexity

If complex JSON or XML data is manually composed and submitted, then the testing can be performed with basic tools, but the complexity of data structure increases the burden on users

Engineering Contradiction:
Improvetesting tool simplicityVSAvoiddata composition difficulty
Core Design Contradiction:
Device complexityVSEase of operation

Solution Approach 1:

The system introduces an intermediary - the test agent - that sits between the user and the complex data composition task. This intermediary automatically handles the complex JSON or XML data generation by parsing service specification files and translating them into properly formatted request payloads, thereby maintaining tool simplicity while eliminating data composition difficulty for the user.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Adaptability or versatility

If existing testing solutions are used, then the testing process is accessible to developers and QA personnel, but the cumulative effect of manual data entry reduces overall productivity

Engineering Contradiction:
Improveaccessibility of testingVSAvoidtesting efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The system implements self-service by enabling the test agent to autonomously generate and validate test data without requiring user intervention in the complex data composition process. The agent parses service specification files, automatically constructs JSON or XML payloads, and prepares test requests, thereby maintaining accessibility for developers and QA personnel while significantly improving testing efficiency and productivity.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10223239B1Definition-driven test agent
Publication Date: 2019.03.05 EMC IP HLDG CO LLC
  • US10223239B1 patent drawing
  • US10223239B1 patent drawing
  • US10223239B1 patent drawing

AI summary

One embodiment is related to a method for testing representational state transfer (REST) application program interfaces (APIs), comprising: parsing service specification files; prompting, based on the service specification files, a user to select a resource to be tested and to provide relevant request payload field inputs; receiving resource selection and request payload field inputs from the user; converting the request payload field inputs into JavaScript Object Notation (JSON) and/or Extended Markup Language (XML) data; submitting the JSON and/or XML data to a web services host with a hypertext transfer protocol (HTTP) REST request; receiving a response from the web services host in a form of JSON and/or XML data; and presenting the response to the user.