IP Library Granted Patent US 11,327,873
Granted Patent B2
US 11,327,873 · App. 16/835,147 · Granted May 10, 2022

System and method for identification of appropriate test cases using artificial intelligence for software testing

Inventors: Gopinath Chenguttuvan (Chennai, IN); Balamurugan Kannan (Chennai, IN)
Assignee: Wipro Limited
G06F11/368G06F11/3684G06F11/3688G06N3/08
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,327,873
App. No.
16/835,147
Granted
May 10, 2022
Kind
B2
Abstract

A method and a system of selecting test cases from existing test cases for a new software testing requirement are disclosed. In an embodiment, the method may include determining a confidence score associated with each of existing test cases, based on comparing a new software testing requirement with the existing test cases using a Recurrent Neural Network (RNN) model, and selecting a set of test cases from the existing test cases based on the confidence score and a predetermined threshold confidence score. The method may further include predicting a defect slippage rate associated with each test case using a linear regression model, and shortlisting a sub-set of test cases from the set of test cases based on the predicted defect slippage rate associated with each test case and a predetermined threshold defect slippage rate.

Claims (67)

1. A method of selecting test cases from existing test cases for a new software testing requirement, the method comprising:

determining, by a test case selecting device, a confidence score associated with each of existing test cases, based on comparing a new software testing requirement with the existing test cases using a Recurrent Neural Network (RNN) model, wherein the confidence score is representative of an extent of relevance of an associated test case from the existing test cases with the new software testing requirement, wherein prior to determining the confidence score associated with each of the existing test cases, the method further comprises:

attempting to identify a relevant test case from the existing test cases for the new software testing requirement by comparing the new software testing requirement with the existing test cases using a Jaccard index; and

upon an unsuccessful attempt, determining the confidence score associated with each of the existing test cases based on comparing the new software testing requirement with the existing test cases using the RNN model;

selecting, by the test case selecting device, a set of test cases from the existing test cases based on the confidence score associated with each test case of the existing test cases and a predetermined threshold confidence score;

predicting, by the test case selecting device, a defect slippage rate associated with each test case from the set of test cases using a linear regression model, wherein the defect slippage rate is representative of a probability of occurrence of defects during execution of the associated test case;

shortlisting for the new software testing requirement, by the test case selecting device, a sub-set of test cases from the set of test cases based on the predicted defect slippage rate associated with each test case from the set of test cases and a predetermined threshold defect slippage rate; and

causing to execute each test case from the sub-set of test cases.

2. The method of claim 1 further comprising:

upon execution, receiving an execution output for each test case from the sub-set of test cases;

comparing the execution output for each test case from the sub-set of test cases with a predetermined output;

assigning a status to each test case from the sub-set of test cases, based on the comparison; and

providing the status assigned to each test case from the sub-set of test cases to a user.

3. The method of claim 1 further comprising:

causing to execute each test case from the sub-set of test cases;

upon execution, receiving one or more defects associated with each test case from the sub-set of test cases; and

determining an actual defect slippage rate associated with each test case from the sub-set of test cases, based on the one or more defects.

4. The method of claim 3 further comprising:

comparing the predicted defect slippage rate with the actual defect slippage rate associated with each test case from the sub-set of test cases; and

tuning one or more parameters of the RNN based on the comparison, to obtain an updated RNN model.

5. The method of claim 1 , wherein the linear regression model is based on at least one of input features comprising a complexity, lines of code (LOC), or a number of dependent modules.

6. The method of claim 1 , wherein determining the confidence score comprises converting the new software testing requirement into a vector, and feeding the vector into the RNN model.

7. A test case selecting device for selecting test cases from existing test cases for a new software testing requirement, the test case selecting device comprising:

a processor; and

a memory communicatively coupled to the processor, wherein the memory stores processor instructions, which, on execution, causes the processor to:

determine a confidence score associated with each of existing test cases, based on comparing a new software testing requirement with the existing test cases using a Recurrent Neural Network (RNN) model, wherein the confidence score is representative of an extent of relevance of an associated test case from the existing test cases with the new software testing requirement, wherein prior to determining the confidence score associated with each of the existing test cases, the processor instructions further cause the processor to:

attempt to identify a relevant test case from the existing test cases for the new software testing requirement by comparing the new software testing requirement with the existing test cases using a Jaccard index; and

upon an unsuccessful attempt, determine the confidence score associated with each of the existing test cases based on comparing the new software testing requirement with the existing test cases using the RNN model;

select a set of test cases from the existing test cases based on the confidence score associated with each test case of the existing test cases and a predetermined threshold confidence score;

predict a defect slippage rate associated with each test case from the set of test cases using a linear regression model, wherein the defect slippage rate is representative of a probability of occurrence of defects during execution of the associated test case;

shortlist, for the new software testing requirement, a sub-set of test cases from the set of test cases based on the predicted defect slippage rate associated with each test case from the set of test cases and a predetermined threshold defect slippage rate; and

execute each test case from the sub-set of test cases.

8. The test case selecting device of claim 7 , wherein the processor instructions further cause the processor to:

upon execution, receive an execution output for each test case from the sub-set of test cases;

compare the execution output for each test case from the sub-set of test cases with a predetermined output;

assign a status to each test case from the sub-set of test cases, based on the comparison; and

provide the status assigned to each test case from the sub-set of test cases to a user.

9. The test case selecting device of claim 7 , wherein the processor instructions further cause the processor to:

execute each test case from the sub-set of test cases;

upon execution, receive one or more defects associated with each test case from the sub-set of test cases; and

determine an actual defect slippage rate associated with each test case from the sub-set of test cases, based on the one or more defects.

10. The test case selecting device of claim 9 , wherein the processor instructions further cause the processor to:

compare the predicted defect slippage rate with the actual defect slippage rate associated with each test case from the sub-set of test cases; and

tune one or more parameters of the RNN based on the comparison, to obtain an updated RNN model.

11. The test case selecting device of claim 7 , wherein the linear regression model is based on at least one of input features comprising a complexity, lines of code (LOC), or a number of dependent modules.

12. The test case selecting device of claim 7 , wherein determining the confidence score comprises converting the new software testing requirement into a vector, and feeding the vector into the RNN model.

13. A non-transitory computer-readable storage medium having stored thereon, a set of computer-executable instructions causing a computer comprising one or more processors to perform steps comprising:

determining a confidence score associated with each of existing test cases, based on comparing a new software testing requirement with the existing test cases using a Recurrent Neural Network (RNN) model, wherein the confidence score is representative of an extent of relevance of an associated test case from the existing test cases with the new software testing requirement, wherein prior to determining the confidence score associated with each of the existing test cases, the set of computer-executable instructions causes the computer to perform further steps comprising:

attempting to identify a relevant test case from the existing test cases for the new software testing requirement by comparing the new software testing requirement with the existing test cases using a Jaccard index; and

upon an unsuccessful attempt, determining the confidence score associated with each of the existing test cases based on comparing the new software testing requirement with the existing test cases using the RNN model;

selecting a set of test cases from the existing test cases based on the confidence score associated with each test case of the existing test cases and a predetermined threshold confidence score;

predicting a defect slippage rate associated with each test case from the set of test cases using a linear regression model, wherein the defect slippage rate is representative of a probability of occurrence of defects during execution of the associated test case;

shortlisting, for the new software testing requirement, a sub-set of test cases from the set of test cases based on the predicted defect slippage rate associated with each test case from the set of test cases and a predetermined threshold defect slippage rate; and

causing to execute each test case from the sub-set of test cases.

14. The non-transitory computer-readable storage medium of claim 13 , wherein the set of computer-executable instructions causes the computer to perform further steps comprising:

upon execution, receiving an execution output for each test case from the sub-set of test cases;

comparing the execution output for each test case from the sub-set of test cases with a predetermined output;

assigning a status to each test case from the sub-set of test cases, based on the comparison; and

providing the status assigned to each test case from the sub-set of test cases to a user.

15. The non-transitory computer-readable storage medium of claim 13 , wherein the set of computer-executable instructions causes the computer to perform further steps comprising:

causing to execute each test case from the sub-set of test cases;

upon execution, receiving one or more defects associated with each test case from the sub-set of test cases; and

determining an actual defect slippage rate associated with each test case from the sub-set of test cases, based on the one or more defects.

16. The non-transitory computer-readable storage medium of claim 15 , wherein the set of computer-executable instructions causes the computer to perform further steps comprising:

comparing the predicted defect slippage rate with the actual defect slippage rate associated with each test case from the sub-set of test cases; and

tuning one or more parameters of the RNN based on the comparison, to obtain an updated RNN model.

17. The non-transitory computer-readable storage medium of claim 13 , wherein the linear regression model is based on at least one of input features comprising a complexity, lines of code (LOC), or a number of dependent modules, and wherein determining the confidence score comprises converting the new software testing requirement into a vector, and feeding the vector into the RNN model.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 30, 2020
From: CHENGUTTUVAN, GOPINATH; KANNAN, BALAMURUGAN
To: WIPRO LIMITED
Reel/Frame 052265/0657 →
Priority Claims (1)
IN 202041013487 · Mar 27, 2020 · national
Continuity (1)
Related Publication 20210303442A1 · Sep 30, 2021