Automated API Load Test Generation

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, especially when testing multiple APIs, as developers must envision and write tests for various scenarios, making it difficult to identify potential instability issues before deployment.

Innovation Solution

An automated system that generates load tests based on API specifications, using a test service that analyzes the API architecture and parameters to create executable tests, reducing the burden on developers and enabling rapid generation of test suites.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual test suite generation is used, then developers can create customized tests for specific scenarios, but the process becomes time-consuming and complex

Engineering Contradiction:
ImproveAPI reliabilityVSAvoidtest generation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system enables self-service automated test generation by allowing the test generation service to automatically create load tests based on API specifications without requiring manual test scenario envisioning or test code writing by developers

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system performs preliminary action by generating comprehensive load test suites automatically from API specifications before deployment, enabling developers to identify potential instability issues early in the development process rather than manually creating tests later

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If manual test suite generation is used, then tests can be customized for specific scenarios, but the complexity of the process increases

Engineering Contradiction:
Improvetest scenario coverageVSAvoidtest generation complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system introduces an intermediary test generation service that acts as a mediator between API specifications and load test execution, automatically translating API specifications into executable load tests without requiring developers to manually envision test scenarios or write test code

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system uses copying by generating test suites that replicate and simulate various load scenarios based on API specifications, allowing comprehensive scenario coverage through automated test case generation rather than manual creation

Inventive Principle:
Principle #26Copying

3Productivity

If automated test generation is implemented, then test generation time is reduced, but manual parameter definition is still required

Engineering Contradiction:
Improvetest generation efficiencyVSAvoidparameter definition effort
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The system enables self-service by allowing the test generation service to automatically extract and define test parameters from API specifications without requiring manual parameter definition, automatically configuring load tests based on the API's endpoints, methods, and data models

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11755468B2Automated generation of load tests for API testing
Publication Date: 2023.09.12 SALESFORCE INC
  • US11755468B2 patent drawing
  • US11755468B2 patent drawing
  • US11755468B2 patent drawing

AI summary

Disclosed herein are system, method, and computer-readable medium embodiments for providing the ability to automate the process of generating load tests used for benchmarking APIs. Rather than having to manually generate load tests for a web service API, a test developer can interact with a test service through a web browser and provide the service an API specification and testing parameters. The test service can analyze the API specification, automatically identified endpoints of the API, and generate load tests according to the expected input/output structures of the endpoints. The automatic load test generation can proceed by referring to a library of test instructions and extracting the portions of the test instructions that work for the identified endpoints.