IP Library Granted Patent US 9,135,149
Granted Patent B2
US 9,135,149 · App. 13/347,947 · Granted Sep 15, 2015

Test case arrangment and execution

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 9,135,149
App. No.
13/347,947
Granted
Sep 15, 2015
Kind
B2
Abstract

Systems and methods for generating and traversing test cases trees are provided. A test case tree indicates an order of execution for multiple test cases, where setup and tear down or equivalent steps are not required before and after execution of each test case in the tree. The tree may allow for generation of virtual test cases to encompass multiple test cases which ordinarily would have mutually exclusive execution requirements.

Claims (53)

1. A computer-implemented method comprising:

obtaining, by a computer system, a tree comprising a plurality of test case nodes, each of the plurality of test case nodes identifying one of a plurality of test cases to be executed by the computer system;

identifying a first test case of the plurality of test cases;

executing the first test case, the first test case causing the computer system to be in a first state upon completion of the first test case;

logging a result of the execution of the first test case;

identifying a second test case of the plurality of test cases, the second test case beginning from the first state;

prior to changing the state of the computer system from the first state, executing the second test case, the second test case causing the computer system to be in a second state upon completion of the second test case;

identifying a third test case of the plurality of test cases, the third test case beginning from the first state and not being executable from the second state;

accessing a virtual copy equivalent to the first test case, the virtual copy being generated prior to execution of the second test case and generating the state of the virtual copy prior to obtaining the tree comprising the plurality of test case nodes;

executing the third test case from the virtual copy; and

logging a result of the execution of the third test case.

2. A method according to claim 1 , further comprising:

identifying a third test case of the plurality of test cases, the third test case beginning from the second state;

prior to changing the state of the computer system, executing the third test case, the third test case causing the computer system to be in a third state upon completion of the third test case; and

logging a result of the execution of the third test case.

3. A method according to claim 1 , wherein at least one of the plurality of test cases executes from the same state as at least one other of the plurality of test cases, and places the computer system into a different state than the at least one other of the plurality of test cases after execution.

4. A method according to claim 1 , wherein at least one of the plurality of test case nodes is a virtual node.

5. A computer-implemented method comprising:

receiving, by a computer system, a description of a plurality of test cases, each test case being executable when the computer system is in a first state and causing the computer system to be in a state different from the first state, upon execution;

identifying, by a processor, a first test case of the plurality of test cases for which the different state is suitable for execution of a second test case of the plurality of test cases;

identifying a third test case of the plurality of test cases for which the different state is suitable for execution of the third test case;

generating a virtual test case corresponding to the different state and generating a state of the virtual test case prior to obtaining a test case tree; and

constructing a test case tree comprising nodes corresponding to the first test case, the second test case, and the third test case, wherein traversal of the tree by a processor allows the processor to execute each of the first and second test cases without requiring a clean-up step to be performed between each execution.

6. A method according to claim 5 , further comprising storing information with the test case tree indicating when one or more virtual test cases should be generated during traversal of the tree by a processor.

7. A method according to claim 5 , further comprising storing information for one or more nodes in the test case tree indicating the hierarchical position of the one or more nodes within the test case tree.

8. A method according to claim 5 , wherein the first state for each of the plurality of test cases is different from the first state for each other of the plurality of test cases.

9. A system comprising:

a computer-readable medium storing a tree comprising a plurality of test case nodes, each of the plurality of test case nodes identifying one of a plurality of test cases to be executed by the computer system;

a processor configured to:

obtain the tree;

identify a first test case of the plurality of test cases;

execute the first test case, the first test case causing the computer system to be in a first state upon completion of the first test case;

log a result of the execution of the first test case;

identify a second test case of the plurality of test cases, the second test case beginning from the first state;

prior to changing the state of the computer system from the first state, execute the second test case, the second test case causing the computer system to be in a second state upon completion of the second test case;

identify a third test case of the plurality of test cases, the third test case beginning from the first state and not being executable from the second state;

access a virtual copy equivalent to the first test case, the virtual copy being generated prior to execution of the second test case and generate a state of the virtual copy prior to obtaining the tree comprising the plurality of test case nodes;

execute the third test case from the virtual copy; and

log a result of the execution of the third test case.

10. A system according to claim 9 , said processor further configured to:

identify a third test case of the plurality of test cases, the third test case beginning from the second state;

prior to changing the state of the computer system, execute the third test case, the third test case causing the computer system to be in a third state upon completion of the third test case; and

log a result of the execution of the third test case.

11. A system according to claim 9 , wherein at least one of the plurality of test cases executes from the same state as at least one other of the plurality of test cases, and places the computer system into a different state than the at least one other of the plurality of test cases after execution.

12. A system according to claim 9 , wherein at least one of the plurality of test case nodes is a virtual node.

13. A system comprising:

a processor configured to:

receive a description of a plurality of test cases, each test case being executable when the computer system is in a first state and causing the computer system to be in a state different from the first state, upon execution;

identify a first test case of the plurality of test cases for which the different state is suitable for execution of a second test case of the plurality of test cases;

identify a third test case of the plurality of test cases for which the different state is suitable for execution of the third test case;

generate a virtual test case corresponding to the different state and generate a state of the virtual test case prior to obtaining a test case tree; and

construct a test case tree comprising nodes corresponding to the first test case, the second test case, and the third test case, wherein traversal of the tree by a processor allows the processor to execute each of the first and second test cases without requiring a clean-up step to be performed between each execution.

14. A system according to claim 13 , wherein the first state for each of the plurality of test cases is different from the first state for each other of the plurality of test cases.

Assignments (9)
SECURITY INTEREST Recorded Sep 6, 2023
From: BCC SOFTWARE, LLC; DMT SOLUTIONS GLOBAL CORPORATION
To: SILVER POINT FINANCE, LLC
Reel/Frame 064819/0445 →
SECURITY AGREEMENT Recorded Aug 30, 2023
From: BCC SOFTWARE, LLC; DMT SOLUTIONS GLOBAL CORPORATION
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 064784/0295 →
MERGER Recorded Aug 29, 2022
From: SATORI SOFTWARE LLC
To: BCC SOFTWARE, LLC
Reel/Frame 060929/0537 →
ENTITY CONVERSION Recorded Mar 15, 2021
From: SATORI SOFTWARE INC.
To: SATORI SOFTWARE LLC
Reel/Frame 055598/0870 →
RELEASE OF SECURITY INTEREST Recorded Dec 29, 2020
From: ABACUS FINANCE GROUP, LLC
To: SATORI SOFTWARE LLC (F/K/A SATORI SOFTWARE INC.)
Reel/Frame 054767/0037 →
SECURITY INTEREST Recorded Jun 24, 2019
From: SATORI SOFTWARE INC.
To: ABACUS FINANCE GROUP, LLC, AS AGENT
Reel/Frame 049568/0235 →
CHANGE OF NAME Recorded Mar 11, 2019
From: QUADIENT DATA USA INC.
To: SATORI SOFTWARE INC.
Reel/Frame 048566/0904 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 25, 2019
From: NEOPOST TECHNOLOGIES
To: QUADIENT DATA USA INC.
Reel/Frame 048143/0294 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 11, 2012
From: PERIN, ROBERT W.; BLUE, GARRET
To: NEOPOST TECHNOLOGIES
Reel/Frame 027516/0560 →