IP Library Granted Patent US 11,249,878
Granted Patent B2
US 11,249,878 · App. 16/664,739 · Granted Feb 15, 2022

Runtime expansion of test cases

Inventors: Ashish Patel (Fremont, CA); Tuhin Kanti Sharma (San Mateo, CA); Christopher Tammariello (San Mateo, CA); Michael Bartoli (San Francisco, CA)
Assignee: salesforce.com, inc.
G06F11/3612G06F11/3664G06F11/3684G06F11/3688
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,249,878
App. No.
16/664,739
Granted
Feb 15, 2022
Kind
B2
Abstract

Test case data is received for individual test cases. The test case data includes sets of test case specific elements. A test case base object is generated to represent a generic test case. The test case base object includes a set of test case specific properties. The test case base object is expanded into individual test case specific objects that represent the individual test cases. Each individual test case specific object is generated by setting the set of test case specific properties to a respective set of test case specific values as indicated in the sets of test case specific elements. The individual test case objects are used to execute the individual test cases against one or more systems under test.

Claims (44)

1. A method, comprising:

receiving test case data, defined by a user, the test case data identifying a set of dependent and independent test steps for each of a plurality of individual test cases, the test case data identifying a time interval for a specific test step in a specific set of dependent and independent test steps for a specific test case in the plurality of individual test cases;

where the plurality of individual test cases is used to test with a plurality of applications;

generating, based on the test case data, a test case base object that represents a generic test case, the test case base object including a set of test case specific properties to be populated by test case specific values;

wherein said generating, based on the test case data, a test case base object includes (1) identifying, from the plurality of applications, a set of zero or more test case common properties that are common to the plurality of applications, (2) identifying, from the plurality of applications, a set of one or more test case specific properties that vary among the plurality of applications;

expanding the test case base object into a plurality of individual test case specific objects that represents the plurality of individual test cases;

wherein the test case generic object implements at least a test execution method, wherein the test execution method is cloned by the plurality of individual test case specific objects; and

wherein the test execution method, when invoked through the plurality of individual test case specific objects, performs same test checks across all test cases in the plurality of individual test cases; and

using the plurality of individual test case specific objects to execute the plurality of individual test cases against one or more systems under test, each individual test case specific object in the plurality of individual test case specific objects representing a respective test case in the plurality of test cases.

2. The method as recited in claim 1 , wherein a final test status of the specific test case is determined to have failed in response to determining that the specific test step in the specific test case is not successfully completed in the time interval as specified in the test case data.

3. The method as recited in claim 1 , wherein the test case data specifies a beginning time at which a second specific test step in the specific test case is scheduled to begin.

4. The method as recited in claim 3 , wherein a final test status of the specific test case is determined to have failed in response to determining that the second specific test step in the specific test case fails to begin at the beginning time as specified in the test case data.

5. The method as recited in claim 1 , wherein the test case data is specified in a JavaScript object notation (JSON) file.

6. The method as recited in claim 1 , wherein the plurality of applications is accessed through different endpoints of one or more web servers in the one or more systems.

7. One or more non-transitory computer readable media storing a program of

instructions that is executable by a device to perform:

receiving test case data, defined by a user, the test case data identifying a set of dependent and independent test steps for each of a plurality of individual test cases, the test case data identifying a time interval for a specific test step in a specific set of dependent and independent test steps for a specific test case in the plurality of individual test cases;

where the plurality of individual test cases is used to test with a plurality of applications;

generating, based on the test case data, a test case base object that represents a generic test case, the test case base object including a set of test case specific properties to be populated by test case specific values;

wherein said generating, based on the test case data, a test case base object includes (1) identifying, from the plurality of applications, a set of zero or more test case common properties that are common to the plurality of applications, (2) identifying, from the plurality of applications, a set of one or more test case specific properties that vary among the plurality of applications;

expanding the test case base object into a plurality of individual test case specific objects that represents the plurality of individual test cases;

wherein the test case generic object implements at least a test execution method, wherein the test execution method is cloned by the plurality of individual test case specific objects; and

wherein the test execution method, when invoked through the plurality of individual test case specific objects, performs same test checks across all test cases in the plurality of individual test cases; and

using the plurality of individual test case specific objects to execute the plurality of individual test cases against one or more systems under test, each individual test case specific object in the plurality of individual test case specific objects representing a respective test case in the plurality of test cases.

8. The medium as recited in claim 7 , wherein a final test status of the specific test case is determined to have failed in response to determining that the specific test step in the specific test case is not successfully completed in the time interval as specified in the test case data.

9. The medium as recited in claim 7 , wherein the test case data specifies a beginning time at which a second specific test step in the specific test case is scheduled to begin.

10. The medium as recited in claim 9 , wherein a final test status of the specific test case is determined to have failed in response to determining that the second specific test step in the specific test case fails to begin at the beginning time as specified in the test case data.

11. The medium as recited in claim 7 , wherein the test case data is specified in a JavaScript object notation (JSON) file.

12. The medium as recited in claim 7 , wherein the plurality of applications is accessed through different endpoints of one or more web servers in the one or more systems.

13. A system, comprising:

one or more computing processors;

one or more non-transitory computer readable media storing a program of instructions that is executable by the one or more computing processors to perform:

receiving test case data, defined by a user, the test case data identifying a set of dependent and independent test steps for each of a plurality of individual test cases, the test case data identifying a time interval for a specific test step in a specific set of dependent and independent test steps for a specific test case in the plurality of individual test cases;

where the plurality of individual test cases is used to test with a plurality of applications;

generating, based on the test case data, a test case base object that represents a generic test case, the test case base object including a set of test case specific properties to be populated by test case specific values;

wherein said generating, based on the test case data, a test case base object includes (1) identifying, from the plurality of applications, a set of zero or more test case common properties that are common to the plurality of applications, (2) identifying, from the plurality of applications, a set of one or more test case specific properties that vary among the plurality of applications;

expanding the test case base object into a plurality of individual test case specific objects that represents the plurality of individual test cases;

wherein the test case generic object implements at least a test execution method, wherein the test execution method is cloned by the plurality of individual test case specific objects; and

wherein the test execution method, when invoked through the plurality of individual test case specific objects, performs same test checks across all test cases in the plurality of individual test cases; and

using the plurality of individual test case specific objects to execute the plurality of individual test cases against one or more systems under test, each individual test case specific object in the plurality of individual test case specific objects representing a respective test case in the plurality of test cases.

14. The system as recited in claim 13 , wherein a final test status of the specific test case is determined to have failed in response to determining that the specific test step in the specific test case is not successfully completed in the time interval as specified in the test case data.

15. The system as recited in claim 13 , wherein the test case data specifies a beginning time at which a second specific test step in the specific test case is scheduled to begin.

16. The system as recited in claim 15 , wherein a final test status of the specific test case is determined to have failed in response to determining that the second specific test step in the specific test case fails to begin at the beginning time as specified in the test case data.

17. The system as recited in claim 13 , wherein the test case data is specified in a JavaScript object notation (JSON) file.

Assignments (2)
CHANGE OF NAME Recorded Dec 18, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069717/0452 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 25, 2021
From: PATEL, ASHISH; SHARMA, TUHIN KANTI; TAMMARIELLO, CHRISTOPHER; BARTOLI, MICHAEL
To: SALESFORCE.COM, INC.
Reel/Frame 055019/0160 →
Cited By (1)
US 12,554,627