Automated API Health Check Endpoint Discovery and Generation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Manual testing of RESTful web service APIs is time-consuming and complex, especially when dealing with multiple APIs, as developers must envision and write tests for various scenarios, making it difficult to identify potential malfunction points before deployment.

Innovation Solution

An automated system that uses an API specification to discover and generate health check endpoints, employing machine learning and similarity search algorithms to determine relevant endpoints and generate executable tests, reducing the burden on developers and enabling rapid test suite creation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual testing is used to test REST APIs, then developers can identify potential malfunction points, but the process becomes time-consuming and complex especially when dealing with multiple APIs

Engineering Contradiction:
ImproveAPI reliabilityVSAvoidtesting time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system enables automated self-testing of APIs by generating test suites automatically from API specifications. The test generation process does not require manual intervention for each test case, allowing the system to serve itself in creating and executing tests, thereby reducing developer time while maintaining reliability

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system performs preliminary analysis of API specifications to automatically generate test cases before actual API deployment or manual testing. By pre-generating comprehensive test suites from the API spec, the system eliminates the need for time-consuming manual test creation while ensuring thorough coverage of potential malfunction points

Inventive Principle:
Principle #10Preliminary action

2Ease of operation

If manual test suite generation is used, then developers can create customized tests, but the process requires envisioning and writing tests for various scenarios which is complex and burdensome

Engineering Contradiction:
Improvetest creation easeVSAvoidtesting process complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The system replaces the manual mechanical process of envisioning and writing test cases with an automated algorithmic system. The test generator automatically creates test suites from API specifications, substituting human cognitive effort with computational processes, thereby simplifying the operation while reducing the complexity burden on developers

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

Solution Approach 2:

The system extracts test case generation logic from the manual testing process and automates it separately. By taking out the complex task of test creation and handling it through automated analysis of API specifications, the system reduces the operational burden on developers while maintaining comprehensive test coverage

Inventive Principle:
Principle #2Taking out (Extraction)

3Productivity

If automated test generation is implemented, then the burden on developers is reduced and rapid test suite creation is enabled, but requires sophisticated algorithms for endpoint discovery

Engineering Contradiction:
Improvetest suite creation speedVSAvoidalgorithm complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system employs a universal test generation framework that can handle multiple API types and specifications through a single automated process. The algorithm is designed to be multi-functional, working with different API formats and styles, which enables rapid test suite creation across diverse APIs without requiring separate complex algorithms for each case

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

Solution Approach 2:

The system uses parameter-based configuration to adapt the test generation process to different API specifications. By changing parameters such as API endpoint patterns, test case templates, and validation rules based on the input specification, the system achieves high productivity without requiring fundamentally different algorithms for each API, thereby managing complexity through parameterization

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11734153B2Automated discovery of API endpoints for health check and automated health check generation
Publication Date: 2023.08.22 SALESFORCE INC
  • US11734153B2 patent drawing
  • US11734153B2 patent drawing
  • US11734153B2 patent drawing

AI summary

Disclosed herein are system, method, and computer-readable medium embodiments for providing the ability to automate identification of endpoints of an API for potential health checks based on machine learning and/or similarity search algorithms. The algorithms analyze an API specification according to the algorithm's training and/or search among reference APIs. Rather than having to manually generate health check tests for the web service, a test developer can interact with a test service through a web browser and provide the service an API specification. The test service then can automatically rank identified endpoints according to a ranking system as well as automate health checks by automatically preparing the health check code according to each identified endpoint.