IP Library Granted Patent US 10,534,698
Granted Patent B2
US 10,534,698 · App. 15/685,964 · Granted Jan 14, 2020

Stateless self-sufficient test agents

Inventors: Ashish Patel (Fremont, CA); Christopher Tammariello (San Mateo, CA); Michael Bartoli (San Francisco, CA); Tuhin Kanti Sharma (San Mateo, CA); Vaishali Nandal (Menlo Park, CA)
Assignee: salesforce.com, inc.
G06F11/3688G06F11/3664
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,698
App. No.
15/685,964
Granted
Jan 14, 2020
Kind
B2
Abstract

A web server, such as one operating with a test agent in a database system receives a request for executing a test. The request is sent by a test master to an endpoint of the web server. In response to receiving the request by the web server, without exchanging information between the test agent and the test master, the test agent performs a series of operations as follows. A complete set of test steps is determined for the test. A complete set of test data used to execute the complete set of test steps is determined. The complete set of test steps for the test is executed with the complete set of test data. A final test execution status is generated for the test. The test agent can make the final test execution status for the test available for the test master to retrieve by way of the web server.

Claims (43)

1. A method, comprising:

receiving, from a test master by a web server operating with a test agent, a request for executing a test against a set of software and hardware components located in one or more data centers separate from the test master, the web server and the test agent, wherein the request is sent by the test master to an endpoint of the web server;

in response to receiving the request by the web server, without exchanging further information between the test agent and the test master, the test agent performing:

determining a complete set of test steps for the test against the set of software and hardware components and a complete set of test data used to execute the complete set of test steps;

executing the complete set of test steps for the test against the set of software and hardware components with the complete set of test data;

generating a final test execution status for the test against the set of software and hardware components; and

causing, by the test agent, the final test execution status for the test to be available for one or more test monitors to retrieve by way of the web server;

wherein the final test execution status for the test indicates whether the test has been successfully executed by the test agent.

2. The method as recited in claim 1 , wherein the endpoint of the web server represents a Hypertext Transfer Protocol (HTTP) endpoint.

3. The method as recited in claim 2 , wherein the test master communicates with the test agent by way of the web server in a Representational State Transfer (REST) framework; and wherein the endpoint of the web server represents a HTTP-based RESTful endpoint.

4. The method as recited in claim 1 , wherein the request for executing the test comprises: a Universal Resource Locator (URL), one or more Representational State Transfer (REST) data elements, and a standard Hypertext Transfer Protocol (HTTP) method.

5. The method as recited in claim 4 , wherein the standard HTTP method represents one of: an HTTP POST method, or an HTTP PUT method.

6. The method as recited in claim 1 , wherein the final test execution status for the test is sent to the test master in one of: a response to the request for executing the test, or a response to a subsequent request sent by the test master based on one of an HTTP GET method or an HTTP LIST method.

7. The method as recited in claim 1 , wherein the request for executing the test causes the web server to invoke an Application Programming Interface (API) call exposed by a test execution engine of the test agent, and wherein the test execution engine is to schedule and carry out executing the test.

8. The method as recited in claim 1 , wherein the web server is implemented as a part of the test agent.

9. One or more non-transitory computer readable media storing a program of instructions that is executable by a device to perform:

receiving, from a test master by a web server operating with a test agent, a request for executing a test against a set of software and hardware components located in one or more data centers separate from the test master, the web server and the test agent, wherein the request is sent by the test master to an endpoint of the web server;

in response to receiving the request by the web server, without exchanging further information between the test agent and the test master, the test agent performing:

determining a complete set of test steps for the test against the set of software and hardware components and a complete set of test data used to execute the complete set of test steps;

executing the complete set of test steps for the test against the set of software and hardware components with the complete set of test data;

generating a final test execution status for the test against the set of software and hardware components; and

causing, by the test agent, the final test execution status for the test to be available for one or more test monitors to retrieve by way of the web server;

wherein the final test execution status for the test indicates whether the test has been successfully executed by the test agent.

10. The computer readable media as recited in claim 9 , wherein the endpoint of the web server represents a Hypertext Transfer Protocol (HTTP) endpoint.

11. The computer readable media as recited in claim 9 , wherein the request for executing the test comprises: a Universal Resource Locator (URL), one or more Representational State Transfer (REST) data elements, and a standard Hypertext Transfer Protocol (HTTP) method.

12. The computer readable media as recited in claim 9 , wherein the final test execution status for the test is sent to the test master in one of: a response to the request for executing the test, or a response to a subsequent request sent by the test master based on one of an HTTP GET method or an HTTP LIST method.

13. The computer readable media as recited in claim 9 , wherein the request for executing the test causes the web server to invoke an Application Programming Interface (API) call exposed by a test execution engine of the test agent, and wherein the test execution engine is to schedule and carry out executing the test.

14. The computer readable media as recited in claim 9 , wherein the web server is implemented as a part of the test agent.

15. 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, from a test master by a web server operating with a test agent, a request for executing a test against a set of software and hardware components located in one or more data centers separate from the test master, the web server and the test agent, wherein the request is sent by the test master to an endpoint of the web server;

in response to receiving the request by the web server, without exchanging further information between the test agent and the test master, the test agent performing:

determining a complete set of test steps for the test against the set of software and hardware components and a complete set of test data used to execute the complete set of test steps;

executing the complete set of test steps for the test against the set of software and hardware components with the complete set of test data;

generating a final test execution status for the test against the set of software and hardware components; and

causing, by the test agent, the final test execution status for the test to be available for one or more test monitors to retrieve by way of the web server;

wherein the final test execution status for the test indicates whether the test has been successfully executed by the test agent.

16. The system as recited in claim 15 , wherein the endpoint of the web server represents a Hypertext Transfer Protocol (HTTP) endpoint.

17. The system as recited in claim 15 , wherein the request for executing the test comprises: a Universal Resource Locator (URL), one or more Representational State Transfer (REST) data elements, and a standard Hypertext Transfer Protocol (HTTP) method.

18. The system as recited in claim 15 , wherein the final test execution status for the test is sent to the test master in one of: a response to the request for executing the test, or a response to a subsequent request sent by the test master based on one of an HTTP GET method or an HTTP LIST method.

19. The system as recited in claim 15 , wherein the request for executing the test causes the web server to invoke an Application Programming Interface (API) call exposed by a test execution engine of the test agent, and wherein the test execution engine is to schedule and carry out executing the test.

20. The system as recited in claim 15 , wherein the web server is implemented as a part of the test agent.

Assignments (2)
CHANGE OF NAME Recorded Nov 21, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069431/0203 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 25, 2017
From: PATEL, ASHISH; TAMMARIELLO, CHRISTOPHER; BARTOLI, MICHAEL; SHARMA, TUHIN KANTI; NANDAL, VAISHALI
To: SALESFORCE.COM, INC.
Reel/Frame 043404/0244 →
Continuity (1)
Related Publication 20190065352A1 · Feb 28, 2019