IP Library Granted Patent US 12,737,270
Granted Patent B2
US 12,737,270 · App. 18/500,736 · Granted Sep 15, 2026

System and methods for testing microservices

Inventors: Nithin Michael (San Francisco, CA); Ki Suh Lee (San Francisco, CA); Sacheth Hegde (San Francisco, CA); Per Pettersson (San Francisco, CA); Mia Casey (San Francisco, CA); Shiny Chimra (San Francisco, CA); Roshini Michael (San Francisco, CA); Jacob Poye (San Francisco, CA); Seema Kamath (San Francisco, CA); Sachin Katti (San Francisco, CA)
G06F11/28G06F8/656G06F9/44505G06F9/541G06F9/547G06F11/3684G06F11/3688G06F11/3692G06F11/3698
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,737,270
App. No.
18/500,736
Granted
Sep 15, 2026
Kind
B2
Abstract

Skyramp reduces or eliminates challenges encountered in testing of cloud native applications by providing an interactive testing product by which users can probe a set of microservices in insolation by mocking dependencies. Skyramp is configured for local integration, performance, and load testing, and works with any language. Skyramp reduces the burden of testing by making it easy to deploy (locally or remotely) any subset of the application or target by automatically mocking in the cluster the necessary dependencies, enabling interaction with targets by triggering any endpoints needed during the testing, and storing functional and performance tests for quick future access/use.

Claims (68)

1 . A computer-implemented method for testing an application, the method comprising:

deploying within a cluster at least one microservice of the application;

generating and executing in response to the deploying a test to test operation of the at least one microservice;

receiving by a device intermediary to the at least one microservice API service-level data from the at least one microservice and dynamically generating from the API service-level data a mock description;

generating at the device a mock is to use the mock description to mimic in the cluster endpoints of the at least one microservice when the test is executing, wherein the endpoints include endpoints of a dependent microservice; and

providing status and results of the test when executed on the at least one microservice.

2 . The method of claim 1 , wherein the at least one microservice includes a plurality of microservices.

3 . The method of claim 1 , wherein the at least one microservice includes sets of microservices.

4 . The method of claim 1 , wherein the dependent microservice includes at least one of an internal dependent microservice and an external dependent microservice.

5 . The method of claim 1 , wherein the deploying includes generating a target description file comprising configuration parameters for defining and controlling deployment and configuration of the at least one microservice.

6 . The method of claim 5 , wherein data of the target description file is received from a user.

7 . The method of claim 5 , wherein the deploying comprises using data of the target description file to automatically at least one of create, update and manage resources to deploy the at least one microservice to a target cluster namespace.

8 . The method of claim 5 , comprising customizing parameters in the target description file in accordance with deployment requirements.

9 . The method of claim 8 , comprising configuring the target description file to include a namespace parameter defining a target cluster namespace.

10 . The method of claim 8 , comprising configuring the target description file to include a containers section comprising deployment settings.

11 . The method of claim 10 , comprising configuring the containers section to include a debug section comprising parameters to control debugging of the executing at least one microservice in real-time.

12 . The method of claim 11 , wherein the debug section to immediately implement in real-time code changes made to the executing at least one microservice to overcome a test failure, wherein redeployments are precluded.

13 . The method of claim 8 , comprising configuring the target description file to include at least one of an includes parameter and an excludes parameter, wherein the includes parameter specifies endpoint services to include in the deployment, and the excludes parameter specifies endpoint services of the application to exclude in the deployment.

14 . The method of claim 13 , wherein the endpoint services comprise application programming interface (API) services.

15 . The method of claim 1 , wherein the mock is to mimic at least one of external dependencies and internal dependencies.

16 . The method of claim 1 , wherein the generating the mock includes configuring the mock to execute in-cluster during the test to create mock endpoint services of endpoints of the at least one microservice, wherein external dependencies are precluded during the test.

17 . The method of claim 1 , wherein the generating the mock includes configuring the mock to mimic a plurality of endpoint types.

18 . The method of claim 1 , wherein the generating the mock includes configuring the mock to automatically create mock configurations from corresponding API files of the at least one microservice.

19 . The method of claim 1 , wherein the generating the mock includes configuring the mock to include gRPC Remote Procedure Call (gRPC) mocking.

20 . The method of claim 1 , wherein the generating the mock includes configuring the mock via inputs from a programming language.

21 . The method of claim 1 , wherein the mock description comprises a mock configuration file to control mock behavior.

22 . The method of claim 21 , comprising configuring the mock configuration file to capture signatures for the endpoints to be mocked and corresponding static mock responses.

23 . The method of claim 21 , comprising automatically generating the mock configuration file from at least one of an OpenAPI specification, a protocol buffer API specification, and a JavaScript Object Notation-Remote Procedure Call (JSON-RPC) response file.

24 . The method of claim 21 , wherein the mock configuration file includes data to configure proxying.

25 . The method of claim 21 , wherein the mock configuration file includes data to configure at least one of delays and errors.

26 . The method of claim 1 , wherein the mock description comprises a response configuration file for the endpoints to be mocked, wherein the response configuration file defines response behavior of the endpoint.

27 . The method of claim 26 , wherein the response configuration file includes payload configuration data and dynamic response data.

28 . The method of claim 1 , wherein the mock description comprises an endpoint configuration file comprising networking-level API service details for the endpoints to be mocked.

29 . The method of claim 28 , wherein the endpoint configuration file comprises data defining individual ones of the endpoints.

30 . The method of claim 29 , wherein the endpoint configuration file comprises data specifying available methods of the endpoints, details of the methods, and behavior of the methods.

31 . The method of claim 29 , wherein the endpoint configuration file comprises data specifying API service definition file path and API service name, wherein the API service definition file includes data of the structure and methods of the API service.

32 . The method of claim 1 , wherein the generating the test comprises generating automatically a default test.

33 . The method of claim 1 , wherein the generating the test includes configuring the test via inputs from a programming language.

34 . The method of claim 1 , wherein the generating the test comprises generating the test to include a test description comprising instructions to test operation of the at least one microservice in the cluster.

35 . The method of claim 34 , wherein the test description comprises a test configuration file.

36 . The method of claim 35 , wherein the test configuration file is to define behavior of the test and includes test pattern configuration data and load testing configuration data.

37 . The method of claim 36 , wherein the test configuration file includes a definition of at least one test scenario.

38 . The method of claim 37 , wherein the test configuration file includes an override attribute to customize endpoints by specifying a mock to modify an endpoint defined in the mock configuration file.

39 . The method of claim 38 , wherein a mock section in the test configuration file includes identification of an overridden endpoint, specification of a method of the overridden endpoint to be modified, and at least one of customized data and a customized response to replace an original response from the overridden endpoint.

40 . The method of claim 37 , wherein the test configuration file includes load profile parameters to simulate heavy user traffic on the at least one microservice.

41 . The method of claim 40 , wherein the load profile parameters include at least one parameter to at least one of specify target requests per second for the at least one microservice, indicate total duration of a load test, and gradually increase a load on an endpoint of the at least one microservice.

42 . The method of claim 35 , wherein the test description comprises a scenario configuration file for each method of the at least one microservice.

43 . The method of claim 42 , wherein the scenario configuration file defines request behaviors for methods and specifies endpoint and method name.

44 . The method of claim 42 , wherein the scenario configuration file includes configuration data of at least one of scenarios, requests, payloads, overrides and parameters.

45 . The method of claim 44 , wherein the scenario configuration files include a scenario attribute to define test scenarios including end-user use cases to be tested.

46 . The method of claim 45 , wherein the scenario attribute includes a steps parameter including a list of actions to be executed at least one of sequentially and concurrently, wherein the scenario is to simulate usage patterns including load tests.

47 . The method of claim 45 , wherein the scenario attribute includes an assert parameter to verify that a response to a request from an endpoint matches an expected value.

48 . The method of claim 44 , wherein the scenario configuration file includes a requests attribute to define configurations for a request.

49 . The method of claim 44 , wherein the scenario configuration file includes attributes to define dynamic request behavior including custom request handling logic.

50 . The method of claim 44 , wherein the scenario configuration file includes configuration data for dynamic test scenarios in which a value returned from a request is used in a subsequent request.

51 . The method of claim 35 , wherein the test description comprises an endpoint configuration file.

52 . The method of claim 51 , wherein the endpoint configuration files define networking-level service details for an endpoint including at least one of name, port, alias, protocol, metadata related to endpoints of the service, and methods supported.

53 . The method of claim 52 , wherein the endpoint configuration files include a services attribute to list services available.

54 . The method of claim 52 , wherein the endpoint configuration files include an endpoints attribute to define individual endpoints by specifying available methods, service definition paths, and service names.

55 . The method of claim 52 , wherein the endpoint configuration files include a methods attribute to list methods available within each endpoint to specify details and expected behavior of each method.

56 . The method of claim 52 , wherein the endpoint configuration files include a defined attribute to specify a service definition file including path and name, wherein the service definition file defines a structure and methods of the service.

57 . The method of claim 1 , wherein the test is to specify API requests of endpoints, wherein the API requests are at least one of statically and dynamically generated via a script.

58 . The method of claim 1 , wherein the test includes at least one of a functional integration test, a performance test, and a load test.

59 . The method of claim 1 , wherein the test is to override mock configurations.

60 . The method of claim 1 , wherein the test is to validate responses received from the at least one microservice.

61 . The method of claim 1 , wherein the test is to chain request and response values throughout a life of the test.

62 . The method of claim 1 , wherein the test is to collect results and generate a report based on the results of the test.

63 . The method of claim 1 , comprising generating a dashboard to receive inputs for controlling the deploying, the test, and the mock, and for outputting information of the status and the results of the test.

Continuity (2)
Provisional Application 63421840 · Nov 2, 2022
Related Publication 20240143493A1 · May 2, 2024
References Cited (23)
US 10289538B1 · Dwivedi · 2019 [cited by examiner]
US 11245591B1 · Bar Oz · 2022 [cited by examiner]
US 12056042B2 · Shrikant Patwardhan · 2024 [cited by examiner]
US 12333280B2 · McGrath · 2025 [cited by examiner]
US 12393509B2 · Bruce · 2025 [cited by examiner]
US 12541384B2 · Desai · 2026 [cited by examiner]
US 20200004668A1 · Dwivedi · 2020 [cited by examiner]
US 20200366573A1 · White · 2020 [cited by examiner]
US 20210019194A1 · Bahl et al. · 2021 [cited by applicant]
US 20210117242A1 · Van De Groenendaal et al. · 2021 [cited by applicant]
US 20240028323A1 · Gopireddy · 2024 [cited by examiner]
Jindal, Anshul, Vladimir Podolskiy, and Michael Gerndt. “Performance modeling for cloud microservice applications.” Proceedings of the 2019 ACM/SPEC International Conference on Performance Engineering. 2019. pp. 25-32. … [cited by examiner]
Wu, Na, Decheng Zuo, and Zhan Zhang. “An extensible fault tolerance testing framework for microservice-based cloud applications.” Proceedings of the 4th international conference on communication and information processi… [cited by examiner]
Waseem, Muhammad, et al. “Testing microservices architecture-based applications: A systematic mapping study.” 2020 27th Asia-Pacific Software Engineering Conference (APSEC). IEEE, 2020. pp. 119-128. (Year: 2020). [cited by examiner]
Dähling, Stefan, Lukas Razik, and Antonello Monti. “Enabling scalable and fault-tolerant multi-agent systems by utilizing cloud-native computing.” Autonomous Agents and Multi-Agent Systems 35.1 (2021): pp. 1-10. (Year: … [cited by examiner]
Harsh, Piyush, et al. “Cloud enablers for testing large-scale distributed applications.” Proceedings of the 12th IEEE/ACM International Conference on Utility and Cloud Computing Companion. 2019. pp. 35-42. (Year: 2019). [cited by examiner]
Gan, Yu, et al. “An open-source benchmark suite for microservices and their hardware-software implications for cloud & edge systems.” Proceedings of the twenty-fourth international conference on architectural support fo… [cited by examiner]
GitHub. Helm, usage. Internet publication, last accessed via https://letsramp.github.io/helm/ on Aug. 15, 2025, 1 page. [cited by applicant]
GitHub. Letsramp, internet publication last accessed via https://github.com/letsramp/sample-microservices.git on Aug. 15, 2025, 8 pages. [cited by applicant]
International Search Report for PCT/US23/078530 mailed Feb. 14, 2024, 2 pages. [cited by applicant]
Skyramp. Publicly accessible installer, last accessed via https://skyramp.dev/installer.sh on Aug. 15, 2025, 10 pages. [cited by applicant]
Vocke, H. The Practical Test Pyramid, blog publication accessed via https://martinfowler.com/articles/practical-test-pyramid.html, published on Feb. 28, 2018, 44 pages. [cited by applicant]
Written Opinion for PCT/US23/078530 mailed Feb. 14, 2024, 11 pages. [cited by applicant]