IP Library › Granted Patent US 10,817,411
Granted Patent B2
US 10,817,411 · App. 16/161,710 · Granted Oct 27, 2020

Automated testcase build engine and prediction-based test system

Inventor: Arockiaraj Durairaj (Bangalore, IN)
Assignee: Dell Products L. P.
G06F11/3688G06F11/3684G06F11/3692G06N20/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,817,411
App. No.
16/161,710
Granted
Oct 27, 2020
Kind
B2
Abstract

In some examples, a computing device may predict, using a machine learning module, scenarios and transactions associated with a usage of a software package. The computing device may select at least a portion of the scenarios and the transactions to cover a predetermined percentage of a predicted usage of the software package. The computing device may select a subset of unit test cases (e.g., created by software designers to test software units that are components of the software package) and execute the test cases to generate test results to determine whether the software package is ready to be deployed to customers. The computing device may train the machine learning module using at least one of the test results, the portion of the scenarios and the transactions, or the test cases. The test results may be evaluated to determine an effectiveness of the set of test cases.

Claims (84)

1. A method comprising:

performing, by one or more processors, an analysis of transaction data associated with a business;

determining, by the one or more processors and based on the analysis, types of business transactions including historical patterns and seasonal patterns associated with the business;

predicting, by a machine learning module executed by the one or more processors, a plurality of scenarios associated with a usage of a software package based at least in part on the types of business transactions;

predicting, by the machine learning module executed by the one or more processors, one or more transactions associated with the usage of the software package in each scenario of the plurality of scenarios;

selecting, by the one or more processors, at least one scenario of the plurality of scenarios to cover a predetermined percentage of a predicted usage of the software package;

selecting, by the one or more processors, at least one transaction of the one or more transactions to cover a predetermined percentage of a predicted usage of the software package;

selecting, by the one or more processors, a subset of test cases from a set of unit test cases to cover the at least one scenario and the at least one transaction;

executing, by the one or more processors, the subset of test cases to generate test results; and

determining, by the one or more processors, that the test results indicate that the software package is ready to be deployed to customers.

2. The method of claim 1 , wherein one or more of the unit test cases are created by a software designer to test a unit of software that comprises a component of the software package.

3. The method of claim 1 , further comprising:

training the machine learning module using at least one of the test results, the at least one scenario, the at least one transaction, or the set of test cases.

4. The method of claim 1 , wherein the test cases are executed by a test case engine.

5. The method of claim 1 , further comprising:

evaluating the test results to determine an effectiveness of the set of test cases.

6. A computing device comprising:

one or more processors; and

one or more non-transitory computer readable media storing instructions executable by the one or more processors to perform operations comprising:

performing an analysis of transaction data associated with a business;

determining, based on the analysis, types of business transactions including historical patterns and seasonal patterns associated with the business;

predicting, by a machine learning module, a plurality of scenarios associated with a usage of a software package;

predicting, by the machine learning module, one or more transactions associated with the usage of the software package in each of the plurality of scenarios;

selecting at least one scenario of the plurality of scenarios to cover a predetermined percentage of a predicted usage of the software package;

selecting at least one transaction of the one or more transactions in each of the plurality of scenarios;

selecting a subset of test cases from a set of unit test cases to cover the at least one scenario and the at least one transaction;

executing the subset of test cases to generate test results; and

determining that the test results indicate that the software package is ready to be deployed to customers.

7. The computing device of claim 6 , wherein one or more of the unit test cases are created by a software designer to test a unit of software that comprises a component of the software package.

8. The computing device of claim 6 , further comprising:

training the machine learning module using at least one of the test results, the at least one scenario, the at least one transaction, or the set of test cases.

9. The computing device of claim 6 , wherein the test cases are executed by a test case engine.

10. One or more non-transitory computer readable media storing instructions executable by one or more processors to perform operations comprising:

performing an analysis of transaction data associated with a business;

determining, based on the analysis, types of business transactions including historical patterns and seasonal patterns associated with the business;

predicting, by a machine learning module, a plurality of scenarios associated with a usage of a software package;

predicting, by the machine learning module, one or more transactions associated with the usage of the software package in each of the plurality of scenarios;

selecting at least one scenario of the plurality of scenarios to cover a predetermined percentage of a predicted usage of the software package;

selecting at least one transaction of the one or more transactions to cover a predetermined percentage of a predicted usage of the software package;

selecting a subset of test cases from a set of unit test cases to cover the at least one scenario and the at least one transaction;

executing the subset of test cases to generate test results; and

determining that the test results indicate that the software package is ready to be deployed to customers.

11. The one or more non-transitory computer readable media of claim 10 , wherein one or more of the unit test cases are created by a software designer to test a unit of software that comprises a component of the software package.

12. The one or more non-transitory computer readable media of claim 10 , wherein the operations further comprise:

training the machine learning module using at least one of the test results, the at least one scenario, the at least one transaction, or the set of test cases.

13. The one or more non-transitory computer readable media of claim 10 , wherein the test cases are executed by a test case engine.

14. The one or more non-transitory computer readable media of claim 10 , further comprising:

evaluating the test results to determine an effectiveness of the set of test cases.

15. The method of claim 1 , further comprising:

generating, based on a set of rules, one or more desired outcomes;

generating one or more additional transactions based at least in part on:

the plurality of scenarios; and

one or more desired outcomes; and

selecting at least one additional transaction of the one or more additional transactions to provide different coverage than the subset of test cases.

16. The method of claim 1 , further comprising:

generating a report based on the test results, the report specifying:

a number of test cases in the subset of test cases that were executed;

a percentage of business scenarios covered by the subset of test cases;

a number of errors caused by executing the subset of test cases;

a pass/fail ratio of executing the subset of test cases.

17. The computing device of claim 6 , the operations further comprising:

generating, based on a set of rules, one or more desired outcomes;

generating one or more additional transactions based at least in part on:

the plurality of scenarios; and

one or more desired outcomes; and

selecting at least one additional transaction of the one or more additional transactions to provide different coverage than the subset of test cases.

18. The computing device of claim 6 , the operations further comprising:

generating a report based on the test results, the report specifying:

a number of test cases in the subset of test cases that were executed;

a percentage of business scenarios covered by the subset of test cases;

a number of errors caused by executing the subset of test cases;

a pass/fail ratio of executing the subset of test cases.

19. The one or more non-transitory computer readable media of claim 10 , wherein the operations further comprise:

generating, based on a set of rules, one or more desired outcomes;

generating one or more additional transactions based at least in part on:

the plurality of scenarios; and

one or more desired outcomes; and

selecting at least one additional transaction of the one or more additional transactions to provide different coverage than the subset of test cases.

20. The one or more non-transitory computer readable media of claim 10 , wherein the operations further comprise:

generating a report based on the test results, the report specifying:

a number of test cases in the subset of test cases that were executed;

a percentage of business scenarios covered by the subset of test cases;

a number of errors caused by executing the subset of test cases;

a pass/fail ratio of executing the subset of test cases.

Assignments (4)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 17, 2018
From: DURAIRAJ, AROCKIARAJ
To: DELL PRODUCTS L. P.
Reel/Frame 047199/0568 →
Continuity (1)
Related Publication 20200117583A1 · Apr 16, 2020