# US 12,117,927 B2 · Method and system for scalable performance testing in cloud computing environments

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,117,927 B2
- Document ID: US12117927B2
- Status: Granted
- Kind: B2
- Application number: 18/489,046
- Filed: 2023-10-18
- Published: 2024-02-08
- Granted: 2024-10-15
- Earliest claimed: 2021-02-26
- Assignees: Intuit Inc.
- Applicants: Intuit Inc.
- Inventors: Phanindra Padala; Saravanan Balasubramanian; Jesse Raymond Suen; Navin Kumar Jammula; Sumit Nagal
- Web page: https://patentgrep.com/patent/US12117927B2

## CPC

- G06F 11/3688: {for test execution, e.g. scheduling of test suites}
- G06F 11/3698: Environments for analysis, debugging or testing of software
- G06F 9/5027: {the resource being a machine, e.g. CPUs, Servers, Terminals}
- G06F 11/3414: {Workload generation, e.g. scripts, playback}
- G06F 11/3419: {by assessing time}
- G06F 11/3433: {for load management (allocation of a server based on load conditions G06F9/505; load rebalancing G06F9/5083; redistributing the load in a network by a load balancer H04L67/1029)}
- G06F 11/3495: {for systems}
- G06F 11/3692: {for test results analysis}
- G06F 11/3696: {Methods or tools to render software testable}
- G06F 2201/815: Virtual
- G06F 2201/87: Monitoring of transactions
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Certain embodiments of the present disclosure provide techniques for performing performance tests against services in a computing environment. The method generally includes deploying application code to an application namespace hosted on a first set of resources in the computing environment. Testing code is deployed to an infrastructure namespace hosted on a second set of resources in the computing environment. A request to test the application code is received. The request generally includes information identifying a load to be generated in testing the application code. A plurality of container instances implementing the test code are instantiated based on the identified load to be generated to test the application code. A test is executed against the application code through the instantiated plurality of container instances.

## Claims

### Claim 1

A method for performance testing computing services, comprising:
receiving a request to test application code, the request including information identifying an amount of load generated by the request in testing the application code;
calculating one or more minimal sets of resource pod configurations for the request based on the amount of load generated by the request, wherein the one or more minimal sets of resource pod configurations for the request are calculated based on a maximum amount of load that can be generated by each of a plurality of resource pod configurations and the amount of load indicated in the request, wherein the one or more minimal sets of resource pod configurations comprise a minimal set of one or more virtual compute instances (VCIs), the minimal set of one or more VCIs being selected using a resource minimization strategy that selects a lowest cost configuration of VCIs from a plurality of configurations, the plurality of configurations including configurations selected from a plurality of VCIs having a plurality of different supported transactions per second, each respective resource pod configuration of the one or more minimal sets of resource pod configurations being associated with a respective pod-level maximum load and including one or more VCIs;
instantiating a plurality of instances implementing test code for the request using the one or more minimal sets of resource pod configurations;
executing the test code using the plurality of instances;
retrieving test results generated by each of the plurality of instances;
generating a consolidated test result by merging the test results generated by each of the plurality of instances, the consolidated test result including information about a success of executing the test code; and
deploying the application code based on determining that the consolidated test results meet a threshold for the application code.

### Claim 2 (depends on 1)

The method of claim 1, wherein the consolidated test is generated by merging the test results generated by each of the plurality of instances, the consolidated test result including information about a total number of tests executed against the application code, a total number of tests that were executed successfully by the application code, or a percentage of successfully executed tests.

### Claim 3 (depends on 2)

The method of claim 2, wherein the test results comprise, for each instance of the plurality of instances, a number of tests executed against the application code, a responsiveness data, or correctness data.

### Claim 4 (depends on 2)

The method of claim 2, further comprising: committing the consolidated test result to a test report repository.

### Claim 5 (depends on 2)

The method of claim 2, wherein the application code is deployed based on determining that the consolidated test results meet a threshold performance level comprising at least one of a threshold average response time and a threshold response correctness level.

### Claim 6 (depends on 1)

The method of claim 1, wherein each respective configuration of the one or more minimal sets of resource pod configurations specifies an amount of memory and an amount of processing power corresponding to the maximum amount of load the respective configuration is capable of generating over a time period, a number of read requests to be executed over the time period, and a number of write requests to be executed over the time period.

### Claim 7

A system, comprising:
a memory comprising executable instructions; and
a processor configured to execute the executable instructions and cause the system to perform a method comprising:
receiving a request to test application code, the request including information identifying an amount of load generated by the request in testing the application code;
calculating one or more minimal sets of resource pod configurations for the request based on the amount of load generated by the request, wherein the one or more minimal sets of resource pod configurations for the request are calculated based on a maximum amount of load that can be generated by each of a plurality of resource pod configurations and the amount of load indicated in the request, wherein the one or more minimal sets of resource pod configurations comprise a minimal set of one or more virtual compute instances (VCIs). the minimal set of one or more VCIs being selected using a resource minimization strategy that selects a lowest cost configuration of VCIs from a plurality of configurations the plurality of configurations including configurations selected from a plurality of VCIs having a plurality of different supported transactions per second, each respective resource pod configuration of the one or more minimal sets of resource pod configurations being associated with a respective pod-level maximum load and including one or more VCIs;
instantiating a plurality of instances implementing test code for the request using the one or more minimal sets of resource pod configurations;
executing the test code using the plurality of instances;
retrieving test results generated by each of the plurality of instances;
generating a consolidated test result by merging the test results generated by each of the plurality of instances, the consolidated test result including information about a success of executing the test code; and
deploying the application code based on determining that the consolidated test results meet a threshold for the application code.

### Claim 8 (depends on 7)

The method of claim 7, wherein the consolidated test is generated by merging the test results generated by each of the plurality of instances, the consolidated test result including information about a total number of tests executed against the application code, a total number of tests that were executed successfully by the application code, or a percentage of successfully executed tests.

### Claim 9 (depends on 8)

The method of claim 8, wherein the test results comprise, for each instance of the plurality of instances, a number of tests executed against the application code, a responsiveness data, or correctness data.

### Claim 10 (depends on 8)

The method of claim 8, further comprising: committing the consolidated test result to a test report repository.

### Claim 11 (depends on 8)

The method of claim 8, wherein the application code is deployed based on determining that the consolidated test results meet a threshold performance level comprising at least one of a threshold average response time and a threshold response correctness level.

### Claim 12 (depends on 7)

The method of claim 7, wherein each respective configuration of the one or more minimal sets of resource pod configurations specifies an amount of memory and an amount of processing power corresponding to the maximum amount of load the respective configuration is capable of generating over a time period, a number of read requests to be executed over the time period, and a number of write requests to be executed over the time period.

### Claim 13

A non-transitory computer readable medium storing instruction executable by a processor to perform a method for performance testing computing services, the method comprising:
receiving a request to test application code, the request including information identifying an amount of load generated by the request in testing the application code;
calculating one or more minimal sets of resource pod configurations for the request based on the amount of load generated by the request, wherein the one or more minimal sets of resource pod configurations for the request are calculated based on a maximum amount of load that can be generated by each of a plurality of resource pod configurations and the amount of load indicated in the request, wherein the one or more minimal sets of resource pod configurations comprise a minimal set of one or more virtual compute instances (VCIs). the minimal set of one or more VCIs being selected using a resource minimization strategy that selects a lowest cost configuration of VCIs from a plurality of configurations, the plurality of configurations including configurations selected from a plurality of VCIs having a plurality of different supported transactions per second, each respective resource pod configuration of the one or more minimal sets of resource pod configurations being associated with a respective pod-level maximum load and including one or more VCIs;
instantiating a plurality of instances implementing test code for the request using the one or more minimal sets of resource pod configurations;
executing the test code using the plurality of instances;
retrieving test results generated by each of the plurality of instances;
generating a consolidated test result by merging the test results generated by each of the plurality of instances, the consolidated test result including information about a success of executing the test code; and
deploying the application code based on determining that the consolidated test results meet a threshold for the application code.

### Claim 14 (depends on 13)

The method of claim 13, wherein the consolidated test is generated by merging the test results generated by each of the plurality of instances, the consolidated test result including information about a total number of tests executed against the application code, a total number of tests that were executed successfully by the application code, or a percentage of successfully executed tests and the application code is deployed based on determining that the consolidated test results meet a threshold performance level comprising at least one of a threshold average response time and a threshold response correctness level.

### Claim 15 (depends on 14)

The method of claim 14, further comprising: committing the consolidated test result to a test report repository.

### Claim 16 (depends on 14)

The method of claim 14, wherein the test results comprise, for each instance of the plurality of instances, a number of tests executed against the application code, a responsiveness data, or correctness data.

### Claim 17 (depends on 13)

The method of claim 13, wherein each respective configuration of the one or more minimal sets of resource pod configurations specifies an amount of memory and an amount of processing power corresponding to the maximum amount of load the respective configuration is capable of generating over a time period, a number of read requests to be executed over the time period, and a number of write requests to be executed over the time period.
