Automated Test Suite Generation from API Metadata

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Manual generation of test suites for RESTful web service APIs is time-consuming and complex, requiring developers to envision and write tests for every possible use case, especially when testing multiple APIs.

Innovation Solution

A system comprising a web browser, test suite generator, and unit test that logs interactions with RESTful web services and generates test suites based on interaction files and API specifications, allowing for automated and rapid development of test cases.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If test suites are generated manually using tools like Apache JMeter or JUnit, then test coverage can be achieved, but the process becomes time-consuming and complex

Engineering Contradiction:
Improvetest coverageVSAvoidtime to generate test suites
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The system performs preliminary action by automatically generating test suites from API specifications before actual testing begins. The test suite generator parses API specs and pre-generates comprehensive test cases, eliminating the need for manual test creation during the testing phase. This preliminary automated generation resolves the contradiction by providing complete test coverage while significantly reducing the time investment required.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses copying by generating test suites through automated parsing of API specifications rather than manual creation. The test generator creates copies of test patterns based on the API structure, automatically replicating appropriate test cases for each endpoint, parameter, and scenario defined in the specification. This copying approach maintains comprehensive coverage while eliminating time-consuming manual effort.

Inventive Principle:
Principle #26Copying

2Reliability

If developers manually define test parameters and conditions for each API, then comprehensive testing is possible, but the complexity increases exponentially when testing multiple APIs

Engineering Contradiction:
Improvetesting completenessVSAvoidtest development complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The test suite generator implements universality by creating a single automated system that handles multiple APIs through a unified approach. Rather than requiring separate manual test definitions for each API, the system universally parses API specifications and generates appropriate test suites for any number of APIs using the same automated process. This multi-functional capability maintains testing completeness while dramatically reducing the complexity that would otherwise grow exponentially with each additional API.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The system applies self-service by enabling the test suite generation process to define its own test parameters and conditions automatically. The generator parses API specifications and self-determines the appropriate test cases, parameters, and validation rules without requiring developer intervention for each API. This self-service mechanism ensures comprehensive testing while keeping the system's operational complexity manageable regardless of the number of APIs being tested.

Inventive Principle:
Principle #25Self-service

3Productivity

If automated test generation is implemented, then rapid test suite creation is achieved, but manual definition of test parameters is still required

Engineering Contradiction:
Improvetest suite generation speedVSAvoidease of test parameter definition
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The system fully implements self-service by automatically extracting test parameters, validation rules, and test conditions directly from the API specifications. The generator parses the specification structure and self-determines all necessary test parameters without requiring manual definition. This complete automation achieves rapid test suite generation while simultaneously improving ease of operation, as developers simply need to provide the API specification rather than manually configuring test parameters.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11163672B2Test suite generation from metadata
Publication Date: 2021.11.02 SALESFORCE INC
  • US11163672B2 patent drawing
  • US11163672B2 patent drawing
  • US11163672B2 patent drawing

AI summary

Disclosed herein are system, method, and computer program product embodiments for providing the ability to generate unit tests for a web service from a logged interaction with the web service and an API specification for the web service. Rather than having to manually generate tests for the web service, a test developer may interact with the web service through a web browser and record a log of these interactions. The log is then matched to a definition of the API specification, and a test is created. The test developer can either run this test against the web service, or use the test as a foundation for developing and refining the test further.