IP Library › Granted Patent US 10,515,002
Granted Patent B2
US 10,515,002 · App. 15/864,610 · Granted Dec 24, 2019

Utilizing artificial intelligence to test cloud applications

Inventors: Paresh Takawale (Pune, IN); Dnyaneshwar Gangaram Dhumal (Pune, IN); Garima Gupta (Pune, IN); Mukul Dilip Patidar (Pune, IN)
Assignee: Accenture Global Solutions Limited
G06F11/3684G06F8/30G06F11/3676G06F11/3688G06F11/3692G06N5/022G06N5/046G06N20/00
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 10,515,002
App. No.
15/864,610
Filed
Jan 8, 2018
Granted
Dec 24, 2019
Kind
B2
Examiner
VO, TED T
Art Unit
2191
USPC
717/124
Abstract

A device receives application information associated with a cloud application provided in a cloud computing environment, and utilizes a first AI model to generate test cases and test data based on the application information. The device utilizes a second AI model to generate optimized test cases and optimized test data based on the test cases and the test data, and utilizes a third AI model to generate test classes based on the optimized test cases and the optimized test data. The device executes the test classes to generate results, and utilizes a fourth AI model to generate an analysis of the results, recommendations for the cloud application based on the analysis of the results, or a code coverage report associated with the cloud application. The device automatically causes an action to be performed based on the analysis of the results, the recommendations, or the code coverage report.

Claims (145)

1. A device, comprising:

one or more memories; and

one or more processors, communicatively coupled to the one or more memories, to:

receive application information associated with a cloud application provided in a cloud computing environment,

the application information including source code for the cloud application;

utilize a first artificial intelligence model to automatically generate test cases based on a static code analysis of the cloud application, control flow information derived from the source code for the cloud application, and patterns in test data;

utilize a second artificial intelligence model to generate optimized test cases and optimized test data based on the test cases and the test data,

where the one or more processors, when utilizing the second artificial intelligence model to generate the optimized test cases and the optimized test data, are to:

select a representative set of test cases, from the test cases, as the optimized test cases when the representative set of test cases provides a same code coverage as all of the test cases,

 where the same code coverage is a degree to which the source code for the cloud application is tested and certified when all test classes are executed; and

indicate a time to execute the optimized test cases based on usage of network resources by the test cases;

utilize a third artificial intelligence model to generate the test classes based on the optimized test cases and the optimized test data;

execute the test classes to generate results;

utilize a fourth artificial intelligence model to generate at least one of:

an analysis of the results,

one or more recommendations for the cloud application based on the analysis of the results, or

a code coverage report associated with the cloud application; and

automatically cause an action to be performed based on the at least one of the analysis of the results, the one or more recommendations, or the code coverage report,

the action being associated with the cloud application.

2. The device of claim 1 , where the application information includes one or more of:

metadata associated with the cloud application,

training data for the first artificial intelligence model, or

defect data associated with the cloud application.

3. The device of claim 1 , where each of the test cases includes one or more of:

a test case identifier,

the test data,

a test sequence,

an expected result,

an actual result, or

status information.

4. The device of claim 1 , where the one or more processors, when utilizing the second artificial intelligence model to generate the optimized test cases and the optimized test data, are to:

remove a first particular test case from the test cases when the first particular test case cannot be used for testing the cloud application;

remove a second particular test case from the test cases when the second particular test case is a duplicate of another one of the tests cases; and

remove a third particular test case from the test cases when the third particular test case provides a same coverage as another one of the test cases,

the test cases, with the first particular test case, the second particular test case, and the third particular test case removed, representing the optimized test cases.

5. The device of claim 1 , where the one or more processors, when utilizing the third artificial intelligence model to generate the test classes, are to:

cluster the optimized test cases and the optimized test data to generate clustered test cases and clustered test data; and

utilize the clustered test cases, the clustered test data, and the application information, to generate the test classes,

each test class including one or more of the clustered test cases.

6. The device of claim 1 , where the one or more processors, when utilizing the fourth artificial intelligence model to generate the at least one of the analysis of the results, the one or more recommendations, or the code coverage report, are to:

compare the results with predicted results for the test classes; and

generate the at least one of the analysis of the results, the one or more recommendations, or the code coverage report based on comparing the results with the predicted results.

7. The device of claim 1 , where each of the first artificial intelligence model, the second artificial intelligence model, the third artificial intelligence model, and the fourth artificial intelligence model includes a machine learning model.

8. A non-transitory computer-readable medium storing instructions, the instructions comprising:

one or more instructions that, when executed by one or more processors, cause the one or more processors to:

receive, from a user device, a request to test a cloud application provided in a cloud computing environment;

receive application information associated with the cloud application based on the request,

the application information including source code for the cloud application;

utilize a first machine learning model to automatically generate test cases based on a static code analysis of the cloud application, control flow information derived from the source code for the cloud application, and patterns in test data;

utilize a second machine learning model to generate optimized test cases based on the test cases,

where the one or more instructions that cause the one or more processors to utilize the second machine learning model to generate the optimized test cases, cause the one or more processors to:

select a representative set of test cases, from the test cases, as the optimized test cases when the representative set of test cases provides a same code coverage as all of the test cases,

 where the same code coverage is a degree to which the source code for the cloud application is tested and certified when all test classes are executed; and

indicate a time to execute the optimized test cases based on usage of network resources by the test cases;

utilize a third machine learning model to generate the test classes based on the optimized test cases;

execute the test classes to generate results;

utilize a fourth machine learning model to generate an analysis of the results; and

automatically cause an action to be performed based on the analysis of the results,

the action being associated with the cloud application and including at least one of:

correcting an error in the cloud application,

providing a recommendation to correct the error in the cloud application, or

generating code to improve the cloud application.

9. The non-transitory computer-readable medium of claim 8 , where the instructions further comprise:

one or more instructions that, when executed by the one or more processors, cause the one or more processors to:

utilize the fourth machine learning model to generate:

one or more recommendations for the cloud application based on the analysis of the results, and

a code coverage report associated with the cloud application; and

provide the analysis of the results, the one or more recommendations, and the code coverage report for display to the user device.

10. The non-transitory computer-readable medium of claim 8 , where the application information includes one or more of:

metadata associated with the cloud application,

training data for the first machine learning model, or

defect data associated with the cloud application.

11. The non-transitory computer-readable medium of claim 8 , where the one or more instructions, that cause the one or more processors to utilize the second machine learning model to generate the optimized test cases, cause the one or more processors to:

remove particular test cases from the test cases when one of:

the particular test cases cannot be used for testing the cloud application,

the particular test cases are duplicates of other ones of the tests cases, or

the particular test cases provide a same coverage as the test cases,

the test cases, with the particular test cases removed, representing the optimized test cases.

12. The non-transitory computer-readable medium of claim 8 , where the one or more instructions, that cause the one or more processors to utilize the third machine learning model to generate the test classes, cause the one or more processors to:

cluster the optimized test cases to generate clustered test cases; and

utilize the clustered test cases and the application information to generate the test classes, each of the test classes including one or more of the clustered test cases.

13. The non-transitory computer-readable medium of claim 8 , where the cloud application includes one of:

an information as a service (IaaS) cloud application,

a platform as a service (PaaS) cloud application, or

a software as a service (SaaS) cloud application.

14. The non-transitory computer-readable medium of claim 8 , where the one or more instructions, that cause the one or more processors to utilize the fourth machine learning model to generate the analysis of the results, cause the one or more processors to:

compare the results with predicted results for the test classes; and

generate the analysis of the results based on comparing the results with the predicted results.

15. A method, comprising:

receiving, by a device, application information associated with a cloud application provided in a cloud computing environment,

the application information including one or more of:

source code for the cloud application,

metadata associated with the cloud application,

training data, or

defect data associated with the cloud application;

utilizing, by the device, a first artificial intelligence model to automatically generate test cases based on a static code analysis of the cloud application, control flow information derived from the source code for the cloud application, and patterns in test data,

each of the test cases including one or more of:

a test case identifier,

test data,

a test sequence,

an expected result,

an actual result, or

status information;

utilizing, by the device, a second artificial intelligence model to generate optimized test cases based on the test cases,

where utilizing the second artificial intelligence model to generate the optimized test cases includes:

selecting a representative set of test cases, from the test cases, as the optimized test cases when the representative set of test cases provides a same code coverage as all of the test cases,

where the same code coverage is a degree to which the source code for the cloud application is tested and certified when all test classes are executed; and

indicating a time to execute the optimized test cases based on usage of network resources by the test cases;

utilizing, by the device, a third artificial intelligence model to generate the test classes based on the optimized test cases;

executing, by the device, the test classes to generate results;

utilizing, by the device, a fourth artificial intelligence model to generate:

an analysis of the results, and

one or more recommendations for the cloud application based on the analysis of the results; and

automatically causing, by the device, an action to be performed based on the analysis of the results or the one or more recommendations,

the action being associated with the cloud application.

16. The method of claim 15 , further comprising:

providing the analysis of the results and the one or more recommendations for display.

17. The method of claim 15 , where the cloud application includes one of:

an information as a service (IaaS) cloud application,

a platform as a service (PaaS) cloud application, or

a software as a service (SaaS) cloud application.

18. The method of claim 15 , where utilizing the second artificial intelligence model to generate the optimized test cases includes:

removing particular test cases from the test cases when one of:

the particular test cases cannot be used for testing the cloud application,

the particular test cases are duplicates of other ones of the tests cases, or

the particular test cases provide a same coverage as the test cases,

the test cases, with the particular test cases removed, representing the optimized test cases.

19. The method of claim 15 , where utilizing the third artificial intelligence model to generate the test classes includes:

combining the optimized test cases into groups of test cases; and

utilizing the groups of test cases and the application information to generate the test classes,

each of the test classes including one or more of the groups of test cases.

20. The method of claim 15 , further comprising:

providing one or more chat bots to assist with utilizing at least one of:

the first artificial intelligence model,

the second artificial intelligence model,

the third artificial intelligence model, or

the fourth artificial intelligence model.

21. The method of claim 15 , where the application information comprises historic information relating to previous application defects.

22. The method of claim 15 , where the application information comprises organization information relating to a structure of an organization.

23. The method of claim 15 , where the first artificial intelligence model includes one or more of:

a pattern analysis model,

a predictive analysis model, or

a data mining model.

24. The method of claim 15 , where the second artificial intelligence model includes:

a regression analysis model.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 8, 2018
From: TAKAWALE, PARESH; DHUMAL, DNYANESHWAR GANGARAM; GUPTA, GARIMA; PATIDAR, MUKIL DILIP
To: ACCENTURE GLOBAL SOLUTIONS LIMITED
Reel/Frame 044563/0444 →
Continuity (1)
Related Publication 20190213115A1 · Jul 11, 2019
Cited By (8)
US 12,321,708 US 12,417,166 US 12,443,515 US 12,499,241 US 12,517,812 US 12,591,505 US 12,596,637 US 12,699,645