Generic API Simulation Service for Frontend Testing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Developing and testing frontend web applications are hindered when backend applications are not yet developed or are not ready to handle communications, as predefined responses lack realism and cannot simulate real-world issues like network delays or loading times.

Innovation Solution

A simulation service with a generic API that receives and processes requests from frontend web applications, simulating actions such as creating, retrieving, and deleting entries for arbitrary entities and properties, without relying on predefined responses, allowing frontend applications to test functionality independently of backend systems.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If predefined responses are used for testing frontend web applications, then testing can proceed without a developed backend application, but the testing accuracy and realism deteriorate because predefined responses cannot simulate real-world issues like network delays or loading times

Engineering Contradiction:
Improvedevelopment timeVSAvoidtesting accuracy
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

A simulation service is introduced as an intermediary component between the frontend web application and the backend application. This simulation service receives requests from the frontend, processes them with realistic delays and behaviors, and returns responses that mimic actual backend behavior. This allows testing to proceed with improved realism and accuracy without requiring the actual backend to be ready.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of manufacture

If predefined responses are used for testing, then specific test cases can be validated, but the system cannot identify issues that arise in real-world situations involving loading time or network delays

Engineering Contradiction:
Improveease of testingVSAvoidtesting realism
Core Design Contradiction:
Ease of manufactureVSMeasurement precision

Solution Approach 1:

The simulation service creates realistic copies of backend behavior by implementing the same data processing logic, validation rules, and response formats as the actual backend application. It processes requests through the same data storage access and business logic layers, generating responses that are functionally equivalent to what the real backend would produce, thereby maintaining testing realism.

Inventive Principle:
Principle #26Copying

3Adaptability or versatility

If a generic API simulation service is implemented to support arbitrary entities and properties, then testing flexibility and independence from backend systems improve, but system complexity increases

Engineering Contradiction:
Improvetesting flexibilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The simulation service is designed as a universal testing infrastructure that can handle multiple entity types (users, products, orders, etc.) and various properties through a single generic API interface. It uses configurable schemas and dynamic data models to adapt to different testing scenarios without requiring separate implementation for each entity type, thereby achieving versatility without proportionally increasing complexity.

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

Data Source

PatentEP4009175A1Simulation service providing a generic API endpoint
Publication Date: 2022.06.08 SAP SE
  • EP4009175A1 patent drawingFigure 1
  • EP4009175A1 patent drawingFigure 2
  • EP4009175A1 patent drawingFigure 3~4

AI summary

Technologies are described for simulating requests to backend applications using a generic application programming interface (API). The requests can be received, from frontend web applications, by a simulation service that operates the generic API. For example, the simulation service can receive and process actions to create entries for entities, actions to return entries for entities, actions to delete entries for entities and/or other actions. The simulation service can perform the requested actions and return results. The simulation service can support arbitrary entities and entity and without using definitions of predefined entities or properties.