IP Library Granted Patent US 11,625,319
Granted Patent B2
US 11,625,319 · App. 17/347,494 · Granted Apr 11, 2023

Systems and methods for workflow based application testing in cloud computing environments

Inventors: Saravanan Balasubramanian (Mountain View, CA); Navin Kumar Jammula (Mountain View, CA); Sumit Nagal (Mountain View, CA); Vijay Thomas (Mountain View, CA)
Assignee: INTUIT INC.
G06F11/3688G06F8/60G06F11/3664G06F11/3692G06F8/41
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 11,625,319
App. No.
17/347,494
Granted
Apr 11, 2023
Kind
B2
Abstract

A testing system and method for testing application code against various failure scenarios. The testing system and method generate a test workflow including test source code implementing a series of actions that affect an application component and or an infrastructure component included in application code. The testing system and method execute the test workflow to determine the performance of the application code during one or more failure scenarios caused by the series of actions included in the test workflow. Performance data generated by the test code is analyzed by a performance analysis service or method to identify limitations of the application code and build resiliency patterns that address the limitations and improve the performance of the application code.

Claims (36)

1. A computer implemented method of performing tests against services in a computing environment, the method comprising:

deploying application code to a first set of resources in the computing environment, the application code including multiple application components and multiple infrastructure components;

deploying a test workflow to a second set of resources in the computing environment, the test workflow including a series of actions that test the application code against a failure scenario;

building a testing environment including an application namespace and a test namespace, the application namespace including the first set of resources hosting the application code and the test namespace including the second set of resources hosting the test workflow, the application namespace further including multiple component resources that are accessed by the multiple application components and the multiple infrastructure components during execution of the application code;

executing the test workflow against the application code by performing the series of actions, at least one action in the series of actions affecting at least one of the multiple application components or the multiple infrastructure components; and

receiving performance data in response to the at least one action from the first set of resources.

2. The method of claim 1 , further comprising determining a performance of the application code during the failure scenario based on the performance data.

3. The method of claim 1 , further comprising modifying at least one of the multiple component resources based on the test workflow to affect the at least one of the multiple application components or the multiple infrastructure components included in the application code.

4. The method of claim 1 , further comprising:

generating a system response report including performance data for each action included in the series of actions; and

analyzing the system response report to identify a limitation of the application code.

5. The method of claim 4 , further comprising:

developing a resiliency pattern for the failure scenario based on the limitation; and

implementing the resiliency pattern in the application code to improve the performance of the application code during the failure scenario.

6. The method of claim 1 , wherein the series of actions in the test workflow are implemented in test source code and the method further comprises:

selecting the series of actions from a testing source code repository that includes multiple tests, wherein each test included in the multiple tests provides a particular failure scenario that targets at least one of the multiple application components or the multiple infrastructure components of the application code.

7. The method of claim 1 , wherein the performance data includes at least one of a crash, an error, a recovery time, or an application downtime generated by the application code in response to the at least one action affecting at least one of the multiple application components and or infrastructure components of the application code.

8. The method of claim 1 , further comprising testing the services in the computing environment by periodically executing the test workflow based on a pre-defined schedule.

9. A system for performing tests against services in a computing environment, the system comprising:

a memory including executable instructions; and

a processor configured to execute the executable instructions and cause the system to:

deploy application code to a first set of resources in the computing environment, the application code including multiple application components and multiple infrastructure components;

deploy a test workflow to a second set of resources in the computing environment, the test workflow including a series of actions that test the application code against a failure scenario;

build a testing environment including an application namespace and a test namespace, the application namespace including the first set of resources hosting the application code and the test namespace including the second set of resources hosting the test workflow, the application namespace further including multiple component resources that are accessed by the multiple application components and the multiple infrastructure components during execution of the application code;

execute the test workflow against the application code by performing the series of actions, at least one action in the series of actions affecting at least one of the multiple application components or the multiple infrastructure components; and

receive performance data in response to the at least one action from the first set of resources.

10. The system of claim 9 , wherein the processor is further configured to determine a performance of the application code during the failure scenario based on the performance data.

11. The system of claim 9 , wherein the processor is further configured to modify at least one of the multiple component resources based on the test workflow to affect at least one of the multiple application components or the multiple infrastructure components included in the application code.

12. The system of claim 9 , wherein the processor is further configured to generate a system response report including performance data for each action included in the series of actions; and

analyze the system response report to identify a limitation of the application code.

13. The system of claim 12 , wherein the processor is further configured to develop a resiliency pattern for the failure scenario based on the limitation; and

implement the resiliency pattern in the application code to improve the performance of the application code during the failure scenario.

14. The system of claim 9 , wherein the series of actions in the test workflow are implemented in test source code; and the processor is further configured to:

select the series of actions from a testing source code repository that includes multiple tests, wherein each test included in the multiple tests provides a particular failure scenario that targets at least one of the multiple application components or the multiple infrastructure components of the application code.

15. The system of claim 9 , wherein the performance data includes at least one of a crash, error, recovery time, or application downtime generated by the application code in response to the at least one action affecting at least one of the multiple application components and or infrastructure components of the application code.

16. The system of claim 9 , wherein the processor is further configured to test the services in the computing environment by periodically executing the test workflow based on a pre-defined schedule.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 15, 2021
From: BALASUBRAMANIAN, SARAVANAN; JAMMULA, NAVIN KUMAR; NAGAL, SUMIT; THOMAS, VIJAY
To: INTUIT INC.
Reel/Frame 056554/0411 →
Continuity (1)
Related Publication 20220398187A1 · Dec 15, 2022
Cited By (1)
US 12,430,237