IP Library Granted Patent US 10,534,699
Granted Patent B2
US 10,534,699 · App. 16/173,077 · Granted Jan 14, 2020

Method, device and computer program product for executing test cases

Inventors: Shuo Lv (Beijing, CN); Deric Wenjun Wang (Beijing, CN)
Assignee: EMC IP Holding Company LLC
G06F11/3688G06F11/3612G06F11/3664G06F11/3684G06N5/02
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,534,699
App. No.
16/173,077
Granted
Jan 14, 2020
Kind
B2
Abstract

Embodiments of the present disclosure relate to a method and device for executing test cases. The method comprises obtaining a set of test cases to be executed, and determining a test platform type and a test script associated with each test case in the set of test cases based on a knowledge base. The method further comprises dividing the set of test cases into a plurality of test subsets or test suites based on the test platform type, and executing test cases in each test subset using the respective test environment and test script. In embodiments of the present disclosure, the plurality of test suites are generated automatically based on the knowledge base, and the respective test environment and test script are used for executing each test suite. Accordingly, embodiments of the present disclosure can implement automatic generation and execution of the test suites, and can improve the operation efficiency for test cases.

Claims (82)

1. A method for executing a test case, comprising:

obtaining a set of test cases to be executed, the set of test cases being divided into one or more test subsets;

for a test case in the set of test cases:

determining a test platform type and a test script associated with the test case based on a knowledge base;

determining, based on the test platform type, a test subset to which the test case belongs;

executing the test case in the test subset based on the test script; and

obtaining running information of the test script based on the knowledge base, the running information including runtime information of the test script and being used for the execution of the test case;

wherein the set of test cases is divided into the one or more test subsets based on the test platform type and the runtime information such that differences in runtime among all of the test subsets are within a threshold range.

2. The method according to claim 1 , wherein the obtaining a set of test cases to be executed comprises:

obtaining, based on a set of components to be tested, the set of test cases by querying the knowledge base.

3. The method according to claim 1 , wherein the executing the test case in the test subset comprises:

executing, by a plurality of test execution engines, the plurality of test subsets in parallel.

4. The method according to claim 1 , wherein the executing the test case in the test subset comprises:

instantiating a test environment for the test platform type based on the test platform type; and

executing, in the test environment, a plurality of test scripts associated with a plurality of test cases in the test subset sequentially.

5. The method according to claim 4 , wherein the executing a plurality of test scripts associated with a plurality of test cases in the test subset sequentially comprises:

in response to a plurality of faults including a first fault and a second fault occurring during the execution of the test subset, adjusting a first test case associated with the first fault to be after a second test case associated with the second fault in order;

re-executing, for the adjusted plurality of faults, test cases associated with the plurality of faults.

6. The method according to claim 1 , further comprising:

after completion of the execution of the test subset, collecting a test result from a running log; and

generating a test report based on the collected test result.

7. The method according to claim 1 , wherein the method is used for automatic regression test, and the knowledge base is built by collecting historically executed test cases.

8. A device for executing a test case, comprising:

a processing unit; and

a memory coupled to the processing unit and storing instructions thereon, the instructions, when executed by the processing unit, perform the following acts:

obtaining a set of test cases to be executed, the set of test cases being divided into one or more test subsets;

for a test case in the set of test cases:

determining a test platform type and a test script associated with the test case based on a knowledge base;

determining, based on the test platform type, a test subset to which the test case belongs;

executing the test case in the test subset based on the test script; and

obtaining running information of the test script based on the knowledge base, the running information including runtime information of the test script and being used for the execution of the test case;

wherein the set of test cases is divided into the one or more test subsets based on the test platform type and the runtime information such that differences in runtime among all of the test subsets are within a threshold range.

9. The device according to claim 8 , wherein the obtaining a set of test cases to be executed comprises:

obtaining, based on a set of components to be tested, the set of test cases by querying the knowledge base.

10. The device according to claim 8 , wherein the executing the test case in the test subset comprises:

executing, by a plurality of test execution engines, the plurality of test subsets in parallel.

11. The device according to claim 8 , wherein the executing the test case in the test subset comprises:

instantiating a test environment for the test platform type based on the test platform type; and

executing, in the test environment, a plurality of test scripts associated with a plurality of test cases in the test subset sequentially.

12. The device according to claim 11 , wherein the executing a plurality of test scripts associated with a plurality of test cases in the test subset sequentially comprises:

in response to a plurality of faults including a first fault and a second fault occurring during the execution of the test subset, adjusting a first test case associated with the first fault to be after a second test case associated with the second fault in order;

re-executing, for the adjusted plurality of faults, test cases associated with the plurality of faults.

13. The device according to claim 8 , the acts further comprising:

after completion of the execution of the test subset, collecting a test result from a running log; and

generating a test report based on the collected test result.

14. The device according to claim 8 , wherein the device is used for automatic regression test, and the knowledge base is built by collecting historically executed test cases.

15. A computer program product that is tangibly stored on a non-transient computer readable medium and includes machine-executable instructions, the machine-executable instructions, when executed, for executing a test case by performing the steps of:

obtaining a set of test cases to be executed, the set of test cases being divided into one or more test subsets;

for a test case in the set of test cases:

determining a test platform type and a test script associated with the test case based on a knowledge base;

determining, based on the test platform type, a test subset to which the test case belongs;

executing the test case in the test subset based on the test script; and

obtaining running information of the test script based on the knowledge base, the running information including runtime information of the test script and being used for the execution of the test case;

wherein the set of test cases is divided into the one or more test subsets based on the test platform type and the runtime information such that differences in runtime among all of the test subsets are within a threshold range.

16. The computer program product of claim 15 , wherein the obtaining a set of test cases to be executed comprises:

obtaining, based on a set of components to be tested, the set of test cases by querying the knowledge base.

17. A method for executing a test case, comprising:

obtaining a set of test cases to be executed, the set of test cases being divided into one or more test subsets;

for a test case in the set of test cases:

determining a test platform type and a test script associated with the test case based on a knowledge base;

determining, based on the test platform type, a test subset to which the test case belongs; and

executing the test case in the test subset based on the test script;

wherein the executing the test case in the test subset comprises:

instantiating a test environment for the test platform type based on the test platform type; and

executing, in the test environment, a plurality of test scripts associated with a plurality of test cases in the test subset sequentially; and

wherein the executing a plurality of test scripts associated with a plurality of test cases in the test subset sequentially comprises:

in response to a plurality of faults including a first fault and a second fault occurring during the execution of the test subset, adjusting a first test case associated with the first fault to be after a second test case associated with the second fault in order; and

re-executing, for the adjusted plurality of faults, test cases associated with the plurality of faults.

18. A device for executing a test case, comprising:

a processing unit; and

a memory coupled to the processing unit and storing instructions thereon, the instructions, when executed by the processing unit, perform the following acts:

obtaining a set of test cases to be executed, the set of test cases being divided into one or more test subsets;

for a test case in the set of test cases:

determining a test platform type and a test script associated with the test case based on a knowledge base;

determining, based on the test platform type, a test subset to which the test case belongs; and

executing the test case in the test subset based on the test script;

wherein the executing the test case in the test subset comprises:

instantiating a test environment for the test platform type based on the test platform type; and

executing, in the test environment, a plurality of test scripts associated with a plurality of test cases in the test subset sequentially; and

wherein the executing a plurality of test scripts associated with a plurality of test cases in the test subset sequentially comprises:

in response to a plurality of faults including a first fault and a second fault occurring during the execution of the test subset, adjusting a first test case associated with the first fault to be after a second test case associated with the second fault in order; and

re-executing, for the adjusted plurality of faults, test cases associated with the plurality of faults.

Assignments (10)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052216/0758) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0680 →
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 →
RELEASE OF SECURITY INTEREST AF REEL 052243 FRAME 0773 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0152 →
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 26, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052243/0773 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Mar 24, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052216/0758 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 5, 2019
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 051202/0485 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 5, 2019
From: LV, SHUO
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 050276/0278 →
KEY EMPLOYMENT AGREEMENT Recorded Sep 5, 2019
From: WANG, DEREK
To: EMC CORPORATION
Reel/Frame 050276/0304 →
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 →