IP Library › Granted Patent US 12,197,309
Granted Patent B2
US 12,197,309 · App. 17/552,472 · Granted Jan 14, 2025

Cloud agnostic shared load testing platform

Inventors: Gaurav Mazumdar (Bangalore, IN); Santhosh Reddy Mereddy (Nalgonda District, IN)
Assignee: SAP SE
G06F11/3612G06F11/3688G06F11/3692
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,197,309
App. No.
17/552,472
Granted
Jan 14, 2025
Kind
B2
Abstract

According to some embodiments, a system and method are provided comprising a product including multiple components, wherein the components are at least one of software stacks and services; a memory storing processor-executable program code; and a processing unit to execute the processor-executable code in order to cause the system to: receive an indication of two or more components to test with a respective load testing tool; receive a test configuration for each component; execute, via the load testing tool, a load test for each component using the respective test configuration to output a test result, wherein execution of the load test for at least two of the components occurs simultaneously; generate an aggregated report including the test result from each load test; and transmit the aggregated report to an end user. Numerous other aspects are provided.

Claims (72)

1. A system comprising:

a single product including multiple components, wherein each of the multiple components is one of a software stack and a service;

a memory storing processor-executable program code; and

a hardware processing unit to execute the processor-executable program code in order to cause the system to:

determine two or more load testing tools are registered, wherein a load testing tool is adapted for execution for each respective component of the single product;

generate a continuous integration/continuous delivery (CI/CD) pipeline script for each load testing tool, wherein the CI/CD pipeline script:

includes steps to detect a change in a current version of the load testing tool as compared to a stored version of the load testing tool, build code and run tests to integrate the code into a new version of the load testing tool,

automatically obtains updates for the respective load testing tool; and

provide a plurality of containerized load testing tools including a first containerized load testing tool and a second containerized load testing tool, wherein the first containerized load testing tool and the second containerized load testing tool are different types of load testing tools;

deploy an updated version of each of the first containerized load testing tool and the second containerized load testing tool per the CI/CD pipeline script in a case an update is available;

receive an indication of two or more components of the single product to test with a respective containerized load testing tool of the plurality of containerized load testing tools;

receive a test configuration for each component of the single product;

execute a first non-functional load test via the first containerized load testing tool, testing a first load on the first component;

execute a second non-functional load test via the second containerized load testing tool, testing a second load on the second component, wherein the second load is different from the first load,

wherein each non-functional load test is executed using the respective test configuration to output a test result,

wherein execution of the first non-functional load test and the second non-functional load test for the two or more components of the single product occurs simultaneously and on a same worker node, and the simultaneous execution tests a response time and capacity of the two or more components of the single product to multiple users accessing the two or more components of the single product simultaneously;

generate an aggregated report including the test result from each load test; and

transmit the aggregated report to an end user.

2. The system of claim 1 , wherein the multiple components of the single product are at least two of SOAP and REST web services, UI applications, Databases, File transfer protocol, Mobile application, Multi-browser load, secure and non-secure protocols, proprietary text/binary protocol, WebRTC, HTML5, AJAX, Android and WPF.

3. The system of claim 1 , further comprising processor-executable program code in order to cause the system to, prior the provision of the plurality of containerized load testing tools:

build a container image for each of the two or more load testing tools, forming a containerized load testing tool; and

automatically update each container image as updates are available.

4. The system of claim 1 , wherein the test result includes an analysis that is a comparison of a test result to a user-defined time threshold value.

5. The system of claim 1 , further comprising a scheduler component adapted to schedule the simultaneous execution of the load tests.

6. The system of claim 1 , wherein the aggregated report includes a link to the test results of each load test.

7. The system of claim 1 , wherein the test configuration is received by a shared load generation module stored on a cloud platform.

8. The system of claim 1 further comprising a cluster adapted to execute the load test for each component of the single product.

9. The system of claim 8 , wherein the cluster includes a plurality of worker nodes on which a poller service, scheduler service and execution jobs run.

10. A computer-implemented method comprising:

determining two or more load testing tools are registered, wherein a load testing tool is adapted for execution for each respective component of a single product including multiple components;

generating a continuous integration/continuous delivery (CI/CD) pipeline script for each load testing tool, wherein the CI/CD pipeline script:

includes steps to detect a change in a current version of the load testing tool as compared to a stored version of the load testing tool,

builds code and runs tests to integrate the code into a new version of the load testing tool, and

automatically obtains updates for the respective load testing tool;

providing a plurality of containerized load testing tools including a first containerized load testing tool and a second containerized load testing tool, wherein the first containerized load testing tool and the second containerized load testing tool are different types of load testing tools;

deploying an updated version of each of the first containerized load testing tool and the second containerized load testing tool per the CI/CD pipeline script in a case an update is available;

receiving an indication of a plurality of components of a single product to test with a respective containerized load testing tool of the plurality of containerized load testing tools;

receiving a test configuration for each component of the single product;

executing a first non-functional load test via the first containerized load testing tool, testing a first load on the first component;

executing a second non-functional load test via the second containerized load testing tool, testing a second load on the second component, wherein the second load is different from the first load,

wherein each non-functional load test is executed using a respective test configuration to output a test result,

wherein execution of the first non-functional load test and the second non-functional load test for the two or more components of the single product occurs simultaneously and on a same worker node, and the simultaneous execution tests a response time and capacity of the two or more components of the single product to multiple users accessing the two or more components of the single product simultaneously;

generating an aggregated report including the test result from each load test; and

transmitting the aggregated report to an end user.

11. The computer-implemented method of claim 10 , wherein at least two or more components of the single product are at least two of SOAP and REST web services, UI applications, Databases, File transfer protocol, Mobile application, Multi-browser load, secure and non-secure protocols, proprietary text/binary protocol, WebRTC, HTML5, AJAX, Android and WPF.

12. The computer-implemented method of claim 10 , further comprising, prior to providing the plurality of containerized load testing tools:

building a container image for each of the two or more load testing tools, forming a containerized load testing tool; and

automatically updating each container image as updates are available.

13. The computer-implemented method of claim 10 , wherein the test result includes an analysis that is a comparison of a test result to a user-defined time threshold value.

14. The computer-implemented method of claim 10 , wherein simultaneous execution of the two or more load tests is scheduled via a scheduler component.

15. The computer-implemented method of claim 10 , wherein the aggregated report includes a link to the test results of each load test.

16. A non-transitory, computer readable medium having executable instructions stored therein to perform a method, the method comprising:

determining two or more load testing tools are registered, wherein a load testing tool is adapted for execution for each respective component of a single product including multiple components;

generating a continuous integration/continuous delivery (CI/CD) pipeline script for each load testing tool, wherein the CI/CD pipeline script:

includes steps to detect a change in a current version of the load testing tool as compared to a stored version of the load testing tool,

builds code and runs tests to integrate the code into a new version of the load testing tool, and

automatically obtains updates for the respective load testing tool;

providing a plurality of containerized load testing tools including a first containerized load testing tool and a second containerized load testing tool, wherein the first containerized load testing tool and the second containerized load testing tool are different types of load testing tools;

deploying an updated version of each of the first containerized load testing tool and the second containerized load testing tool per the CI/CD pipeline script in a case an update is available;

receiving an indication of two or more components of a single product to test with a respective containerized load testing tool of the plurality of containerized load testing tools;

receiving a test configuration for each component of the single product;

executing a first non-functional load test via the first containerized load testing tool, testing a first load on the first component;

executing a second non-functional load test via the second containerized load testing tool, testing a second load on the second component, wherein the second load is different from the first load,

wherein each non-functional load test is executed using a respective test configuration to output a test result,

wherein execution of the first non-functional load test and the second non-functional load test for the two or more components of the single product occurs simultaneously and on a same worker node, and the simultaneous execution tests a response time and capacity of the two or more components of the single product to multiple users accessing the two or more components of the single product simultaneously;

generating an aggregated report including the test result from each load test; and

transmitting the aggregated report to an end user.

17. The medium of claim 16 , wherein the multiple components of the single product are at least two of SOAP and REST web services, UI applications, Databases, File transfer protocol, Mobile application, Multi-browser load, secure and non-secure protocols, proprietary text/binary protocol, WebRTC, HTML5, AJAX, Android and WPF.

18. The medium of claim 16 , further comprising executable instructions stored therein to perform a method, the method comprising, prior to providing the plurality of containerized load testing tools:

building a container image for each of the two or more load testing tools, forming a containerized load testing tool; and

automatically updating each container image as updates are available.

19. The system of claim 1 , wherein the aggregated report includes a link for each load testing tool and selection of the link outputs both: (i) an output result of the executed non-functional load test; and (ii) one or more suggested next steps.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2021
From: MAZUMDAR, GAURAV; MEREDDY, SANTHOSH REDDY
To: SAP SE
Reel/Frame 058383/0303 →
Continuity (1)
Related Publication 20230195596A1 · Jun 22, 2023
References Cited (6)
US 9032373B1 · Gupta · 2015 [cited by examiner]
US 20030012141A1 · Gerrevink · 2003 [cited by examiner]
US 20030069957A1 · Malmskog · 2003 [cited by examiner]
US 20040205565A1 · Gupta · 2004 [cited by examiner]
US 20140068335A1 · Bromley · 2014 [cited by examiner]
US 20150039941A1 · Kalyanasundram · 2015 [cited by examiner]