IP Library Granted Patent US 11,099,237
Granted Patent B2
US 11,099,237 · App. 16/749,775 · Granted Aug 24, 2021

Test prioritization and dynamic test case sequencing

Inventors: Sunder Ranganathan Nochilur (Karnataka, IN); Mahesh Venkataraman (Bangalore, IN); Kulkarni Girish (Bangalore, IN); Mallika Fernandes (Bangalore, IN); Jothi Gouthaman (Chennai, IN); Venugopal S. Shenoy (Bangalore, IN); Kishore P. Durg (Bangalore, IN)
Assignee: Accenture Global Solutions Limited
G01R31/31835G06F8/10G06F11/008G06F11/3438G06F11/3476G06F11/3616G06F11/3664G06F11/3676G06F11/3684G06F11/3688G06F11/3692G06F11/3696G06F15/76G06F16/9024G06N5/02G06N20/00G05B23/0229G06F2201/865
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,099,237
App. No.
16/749,775
Granted
Aug 24, 2021
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for a touchless testing platform employed to, for example, create automated testing scripts, sequence test cases, and implement defect solutions. In one aspect, a method includes receiving a log file and testing results generated from a code base for an application; processing the log file through a pattern-mining algorithm to determine a usage pattern of code modules within the code base; clustering defects from the testing results based on a respective functionality of the application reported within each of the defects; generating testing prioritizations for test cases for the application by assigning weightages to the test cases based on the clusters of defects and the usage pattern of the code modules within the code base; sequencing a set of the test cases based on the test prioritizations; and transmitting the sequence to a test execution engine.

Claims (56)

1. A computer-implemented method executed by one or more processors, the method comprising:

receiving testing results generated from a code base for an application, where the testing results describe defects that occurred during testing of the code base for the application;

determining semantic similarities between textual descriptions of respective functionality of the application reported within the defects;

determining code module similarities between code modules of the code base that caused the defects;

clustering defects from the testing results based on a both the semantic similarities and the code module similarities;

generating testing prioritizations for test cases for the application based on the clusters of defects and usage data that indicates frequencies that code modules of the code base are used, wherein the testing prioritization prioritizes testing of test cases from different clusters of the defects in accordance with the frequencies that the code modules of the code base that caused the defects are used;

sequencing a set of the test cases based on the test prioritizations; and

transmitting the sequenced set of test cases to a test execution engine.

2. The method of claim 1 , wherein the usage data comprises a usage pattern of code modules within the code base.

3. The method of claim 2 , the usage pattern includes sequences that the code modules were executed and a frequency that each of the sequences were executed.

4. The method of claim 2 , comprising:

generating, based on the usage pattern, a representation of code module execution, a distribution of data across service types, or test case utilization based on actual usages in production.

5. The method of claim 2 , comprising:

mapping the clusters of defects to clusters of test cases to determine test coverage for the code base, wherein priorities are assigned to the test cases based on the mapping and according to the test coverage.

6. The method of claim 5 , comprising:

identifying gaps in test coverage based on the mapping and the determined test coverage.

7. The method of claim 1 , wherein the testing prioritizations include a priority for each test case, wherein a priority is assigned to each test case according to the usage data and the associated cluster of defects.

8. The method of claim 1 , comprising:

before generating the testing prioritization, determining lines of code that are exercised by each of the test cases, wherein priorities are assigned to the test cases based on the respective lines of code that are exercised.

9. The method of claim 8 , wherein the lines of code exercised by each test case are determined based on execution data from an execution of the test cases against the application captured by an agent installed on an application server that is running the application.

10. The method of claim 1 , comprising:

before generating the testing prioritization, determining user behaviors on the application based on an analysis of a log file, wherein priorities are assigned based on similarity between the respective test case and the determined user behaviors.

11. The method of claim 1 , comprising:

before generating the testing prioritization, processing the testing results to determine an effectiveness metric for each test case, wherein the effectiveness metric indicates an effectiveness of a test case for defect discovery, wherein priorities are assigned to the test cases based on the effectiveness metric.

12. The method of claim 1 , wherein the defects are clustered based on semantics generated using text analytics or context generated using knowledge mapping.

13. The method of claim 1 , comprising,

determining churn data based on an analysis of configuration and coding changes to the code base;

processing testing results, the churn data, and the code base through an Artificial Intelligence (AI) model, the AI model being trained using training data comprising resolutions to the defects in the code base; and

determining a likelihood of failure for functionalities of the code base, wherein a priority is assigned to the test cases based on the likelihood of failure for the functionalities of the code base.

14. The method of claim 1 , comprising:

determining a resolution for a defect reported based on a result of an execution a testing script assigned to one of the sequenced set of test cases; and

implementing the resolution in the code base.

15. One or more non-transitory computer-readable storage media coupled to one or more processors and having instructions stored thereon which, when executed by the one or more processors, cause the one or more processors to perform operations comprising:

receiving testing results generated from a code base for an application, where the testing results describe defects that occurred during testing of the code base for the application;

determining semantic similarities between textual descriptions of respective functionality of the application reported within the defects;

determining code module similarities between code modules of the code base that caused the defects;

clustering defects from the testing results based on both the semantic similarities and the code module similarities;

generating testing prioritizations for test cases for the application based on the clusters of defects and usage data that indicates frequencies that code modules of the code base are used, wherein the testing prioritization prioritizes testing of test cases from different clusters of the defects in accordance with the frequencies that the code modules of the code base that caused the defects are used;

sequencing a set of the test cases based on the test prioritizations; and

transmitting the sequenced set of test cases to a test execution engine.

16. The medium of claim 15 , wherein the usage data comprises a usage pattern of code modules within the code base.

17. The medium of claim 15 , the usage pattern includes sequences that the code modules were executed and a frequency that each of the sequences were executed.

18. The medium of claim 15 , comprising:

generating, based on the usage pattern, a representation of code module execution, a distribution of data across service types, or test case utilization based on actual usages in production.

19. The medium of claim 15 , comprising:

mapping the clusters of defects to clusters of test cases to determine test coverage for the code base, wherein priorities are assigned to the test cases based on the mapping and according to the test coverage.

20. A system, comprising:

one or more processors; and

a computer-readable storage device coupled to the one or more processors and having instructions stored thereon which, when executed by the one or more processors, cause the one or more processors to perform operations comprising:

receiving testing results generated from a code base for an application, where the testing results describe defects that occurred during testing of the code base for the application;

determining semantic similarities between textual descriptions of respective functionality of the application reported within the defects;

determining code module similarities between code modules of the code base that caused the defects;

clustering defects from the testing results based on both the semantic similarities and the code module similarities;

generating testing prioritizations for test cases for the application based on the clusters of defects and usage data that indicates frequencies that code modules of the code base are used, wherein the testing prioritization prioritizes testing of test cases from different clusters of the defects in accordance with the frequencies that the code modules of the code base that caused the defects are used;

sequencing a set of the test cases based on the test prioritizations; and

transmitting the sequenced set of test cases to a test execution engine.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 10, 2020
From: RANGANATHAN, SUNDER NOCHILUR; VENKATARAMAN, MAHESH; GIRISH, KULKARNI; FERNANDES, MALLIKA; GOUTHAMAN, JOTHI; SHENOY, VENUGOPAL S.; DURG, KISHORE P.
To: ACCENTURE GLOBAL SOLUTIONS LIMITED
Reel/Frame 052133/0525 →
Priority Claims (3)
IN 201711046829 PRV · Dec 27, 2017 · national
IN 201711046829 · Mar 5, 2018 · national
IN 201814009794 · Mar 16, 2018 · national
Continuity (2)
Continuation 16209103 · Dec 4, 2018
Related Publication 20200158780A1 · May 21, 2020
Cited By (6)
US 12,292,819 US 12,298,889 US 12,326,801 US 12,481,570 US 12,596,637 US 12,647,270