IP Library Granted Patent US 11,288,172
Granted Patent B2
US 11,288,172 · App. 16/862,831 · Granted Mar 29, 2022

Test case optimization and prioritization

Inventors: Sandeep Bhat (Pleasanton, CA); Rohit Shrikant Patwardhan (Pune Maharashtra, IN); Rahul Ghanashyam Joglekar (Pune, IN)
Assignee: Accenture Global Solutions Limited
G06F11/3684G06F11/3688G06F11/3692G06F40/42G06K9/6256G06N20/20
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,288,172
App. No.
16/862,831
Granted
Mar 29, 2022
Kind
B2
Abstract

Methods, systems, and apparatuses, including computer programs encoded on computer-storage media, for prioritizing test cases. Processes may include obtaining test artifacts that were generated based on testing one or more legacy versions of a software application using multiple test cases, generating a risk index based at least on the test artifacts that were generated based on testing the one or more legacy versions of the software application using the multiple test cases, and training an ensemble model that is configured to identify likely unnecessary or redundant test cases in connection with in testing an updated version of the software application, based at least on the risk index.

Claims (54)

1. A computer-implemented method comprising:

obtaining test artifacts that were generated based on testing one or more legacy versions of a software application using multiple test cases;

generating a risk index based at least on the test artifacts that were generated based on testing the one or more legacy versions of the software application using the multiple test cases, wherein generating the risk index based at least on the test artifacts that were generated based on testing the one or more legacy versions of the software application using the multiple test cases comprises:

aggregating, for a particular functional area or module of the software application: a count of test cases that are associated with the particular functional area or module of the software application, a count of defects that are associated with the particular functional area or module of the software application, a value that represents a ratio of the count of test cases that are associated with the particular functional area or module of the software application to the count of defects that are associated with the particular functional area or module of the software application, and a count of defects that are associated with the particular functional area or module of the software application and that are indicated as high priority;

training an ensemble model that is configured to identify likely unnecessary or redundant test cases in connection with in testing an updated version of the software application, based at least on the risk index; and

generating, using the ensemble model, a score for each of the multiple test cases in connection with testing the updated version of the software application; and

outputting data identifying one or more of the multiple test cases and, for each test case, the score in connection with testing the updated version of the software application.

2. The method of claim 1 , wherein the risk index is generated for each functional area or module of the software application.

3. The method of claim 1 , wherein obtaining the test artifacts comprises generating the test artifacts based on a test case execution history of executing the multiple test cases on the one or more legacy versions of the software application.

4. The method of claim 1 , wherein the test artifacts comprise:

data indicating a number of times each test case was executed,

data indicating a priority that was assigned to each test case,

data indicating a number of times that each test case passed,

data indicating a number of times that each test case failed,

data indicating an execution status of each test case a first time that the test case was executed, and

data indicating a sequence number associated with each test case that failed.

5. The method of claim 1 , further comprising:

training, using the test artifacts, a natural language processing model to predict, for a given textual description associated with a given test case, whether the given test case is likely to pass or fail,

wherein the ensemble model is trained further based on predictions that are generated for the multiple test cases using the natural language processing model.

6. The method of claim 5 , wherein the natural language processing model is trained using pre-processed versions of original textual descriptions associated with test cases, and wherein the pre-processing the original textual descriptions comprises applying lowercase conversions, removing numbers, removing punctuation, removing stop words, removing extra whitespace, and applying word stemming or lemmatization.

7. The method of claim 1 , wherein the ensemble model is trained further based directly on a subset of the test artifacts.

8. The method of claim 7 , wherein the subset of the test artifacts that are used directly to train the ensemble model comprise data indicating a number of times each test case was executed, data indicating a number of times each test case passed, data indicating a number of times each test case filed, data indicating an execution status of each test case when the test case was first executed, and data indicating a sequence number associated with each test case that failed.

9. The method of claim 1 , wherein the ensemble model is trained further based on tunable parameters that define desired model metrics and a resource budget.

10. The method of claim 1 , wherein outputting data identifying one or more of the multiple test cases and, for each test case, the score in connection with testing the updated version of the software application comprises generating and providing, for output, a ranked list of test cases on a user interface.

11. The method of claim 1 , comprising executing the multiple test cases on the updated version of the software application in a prioritized order according to the score.

12. A non-transitory, computer-readable medium storing one or more instructions executable by a processor to perform operations comprising:

obtaining test artifacts that were generated based on testing one or more legacy versions of a software application using multiple test cases;

generating a risk index based at least on the test artifacts that were generated based on testing the one or more legacy versions of the software application using the multiple test cases, wherein generating the risk index based at least on the test artifacts that were generated based on testing the one or more legacy versions of the software application using the multiple test cases comprises:

aggregating, for a particular functional area or module of the software application: a count of test cases that are associated with the particular functional area or module of the software application, a count of defects that are associated with the particular functional area or module of the software application, a value that represents a ratio of the count of test cases that are associated with the particular functional area or module of the software application to the count of defects that are associated with the particular functional area or module of the software application, and a count of defects that are associated with the particular functional area or module of the software application and that are indicated as high priority;

training an ensemble model that is configured to identify likely unnecessary or redundant test cases in connection with in testing an updated version of the software application, based at least on the risk index; and

generating, using the ensemble model, a score for each of the multiple test cases in connection with testing the updated version of the software application; and

outputting data identifying one or more of the multiple test cases and, for each test case, the score in connection with testing the updated version of the software application.

13. The medium of claim 12 , wherein the risk index is generated for each functional area or module of the software application.

14. The medium of claim 12 , wherein obtaining the test artifacts comprises generating the test artifacts based on a test case execution history of executing the multiple test cases on the one or more legacy versions of the software application.

15. The medium of claim 12 , wherein the test artifacts comprise:

data indicating a number of times each test case was executed,

data indicating a priority that was assigned to each test case,

data indicating a number of times that each test case passed,

data indicating a number of times that each test case failed,

data indicating an execution status of each test case a first time that the test case was executed, and

data indicating a sequence number associated with each test case that failed.

16. The medium of claim 12 , wherein the operations further comprise:

training, using the test artifacts, a natural language processing model to predict, for a given textual description associated with a given test case, whether the given test case is likely to pass or fail,

wherein the ensemble model is trained further based on predictions that are generated for the multiple test cases using the natural language processing model.

17. The medium of claim 12 , wherein the natural language processing model is trained using pre-processed versions of original textual descriptions associated with test cases, and wherein the pre-processing the original textual descriptions comprises applying lowercase conversions, removing numbers, removing punctuation, removing stop words, removing extra whitespace, and applying word stemming or lemmatization.

18. A system comprising:

one or more computers; and

one or more computer memory devices interoperably coupled with the one or more computers storing one or more instructions that, when executed by the one or more computers, perform one or more operations comprising:

obtaining test artifacts that were generated based on testing one or more legacy versions of a software application using multiple test cases;

generating a risk index based at least on the test artifacts that were generated based on testing the one or more legacy versions of the software application using the multiple test cases, wherein generating the risk index based at least on the test artifacts that were generated based on testing the one or more legacy versions of the software application using the multiple test cases comprises:

aggregating, for a particular functional area or module of the software application: a count of test cases that are associated with the particular functional area or module of the software application, a count of defects that are associated with the particular functional area or module of the software application, a value that represents a ratio of the count of test cases that are associated with the particular functional area or module of the software application to the count of defects that are associated with the particular functional area or module of the software application, and a count of defects that are associated with the particular functional area or module of the software application and that are indicated as high priority;

training an ensemble model that is configured to identify likely unnecessary or redundant test cases in connection with in testing an updated version of the software application, based at least on the risk index; and

generating, using the ensemble model, a score for each of the multiple test cases in connection with testing the updated version of the software application; and

outputting data identifying one or more of the multiple test cases and, for each test case, the score in connection with testing the updated version of the software application.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 2, 2020
From: BHAT, SANDEEP; PATWARDHAN, ROHIT SHRIKANT; JOGLEKAR, RAHUL GHANASHYAM
To: ACCENTURE GLOBAL SOLUTIONS LIMITED
Reel/Frame 053108/0827 →
Priority Claims (1)
IN 202011014116 · Mar 30, 2020 · national
Continuity (1)
Related Publication 20210303450A1 · Sep 30, 2021