IP Library Granted Patent US 11,880,295
Granted Patent B2
US 11,880,295 · App. 17/521,565 · Granted Jan 23, 2024

Web service test and analysis platform

Inventors: Arjun Shetty (San Jose, CA); Sandeep Bansal (San Ramon, CA)
Assignee: Salesforce, Inc.
G06F11/3664G06F11/3696
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,880,295
App. No.
17/521,565
Granted
Jan 23, 2024
Kind
B2
Abstract

A method for testing a web service is disclosed, the method including testing, by a testing application executing on a client computing system, a web service running at least partially on a server computing system. The testing includes directing a web browser of the client computing system to simulate user interaction with the web service to perform a particular operation that includes a particular set of sub-operations. The directing includes issuing one or more requests to perform the particular set of sub-operations. The testing also includes recording test information based on responses received from the web service in response to performing the particular set of sub-operations. The test information includes latency information for at least one of the sub-operations of the particular set. The method also includes presenting, by the client computing system, a user interface having a graphical element depicting an analysis of the recorded test information.

Claims (40)

1. A method comprising:

receiving, by a web service executing on a server computer system, a request, from a client computing system, to perform a test operation by the web service, wherein the web service includes a plurality of modules, and wherein the request includes a plurality of sub-operations, one or more of which is not visible to the client computing system;

enabling, by the web service, a test controller in the server computer system;

assigning, by the test controller, ones of the plurality of sub-operations to respective ones of the plurality of modules;

recording, by the test controller, test information associated with the ones of the plurality of modules based on performance of the respective sub-operations, wherein the test information includes latency information for performance of at least one of the one or more sub-operations; and

sending, by the test controller to the client computing system, the recorded test information, wherein the recorded test information includes references to the plurality of sub-operations and respective ones of the modules.

2. The method of claim 1 , wherein the requested test operation includes a single operation that includes the plurality of sub-operations.

3. The method of claim 2 , further comprising determining, by the test controller, the plurality of sub-operations that comprise the single operation.

4. The method of claim 1 , further comprising producing, by one or more of the respective modules based on performance of the respective sub-operations, intermediate results that are provided to the test controller, but not to the client computing system.

5. The method of claim 1 , further comprising activating, by the server computer system, the test controller in response to the request.

6. The method of claim 1 , further comprising activating, by the server computer system, the test controller in place of a production controller in response to an earlier request from the client computing system to enter a test mode.

7. The method of claim 6 , further comprising sending, by the server computer system, code for a portion of the test controller to the client computing system.

8. The method of claim 1 , wherein the test operation includes a web search using a particular search phrase; and

wherein the plurality of sub-operations includes performing a plurality of web searches using different portions of the particular search phrase as a respective search term for ones of the sub-operations.

9. A non-transitory computer-readable medium having computer instructions stored thereon that are capable of being executed by a server computer system to cause operations comprising:

operating a web service that includes a plurality of modules for performing respective sub-operations included in a given operation;

receiving a request from a client computer system to perform a test operation by the web service;

assigning, using a test controller included in the server computer system, ones of the plurality of modules to perform respective ones of a plurality of sub-operations associated with the test operation, wherein performance of one or more of the plurality of sub-operations is not visible to the client computing system;

recording, using the test controller, test information indicative of performance of the respective sub-operations, wherein the test information includes latency information for performing at least one of the sub-operations; and

providing the recorded test information to the client computer system, wherein the recorded test information includes references to the associated sub-operations and the respective ones of the assigned modules.

10. The non-transitory computer-readable medium of claim 9 , further comprising producing, by one or more of the respective modules based on performance of the respective sub-operations, intermediate results that are provided to the test controller, but not to the client computing system.

11. The non-transitory computer-readable medium of claim 9 , further comprising activating the test controller in response to the request.

12. The non-transitory computer-readable medium of claim 9 , further comprising activating the test controller in place of a production controller in response to an earlier request from the client computer system to enter a test mode.

13. The non-transitory computer-readable medium of claim 9 , further comprising sending code for a portion of the test controller to the client computer system.

14. The non-transitory computer-readable medium of claim 9 , wherein the test operation includes a web search using a particular search phrase; and

wherein the plurality of sub-operations includes performing a plurality of web searches using different portions of the particular search phrase as a respective search term for ones of the sub-operations.

15. A method, comprising:

operating, by a server computer system, a web service that includes a plurality of modules assigned by a production controller to perform respective sub-operations included in a given operation received from a client computer system;

receiving, by the server computer system from the client computer system, a request to perform a test operation by the web service;

in response to the receiving, copying, by the server computer system to the client computer system, code for a test controller;

assigning, using the copied test controller code, ones of the plurality of modules to perform respective ones of a plurality of sub-operations associated with the test operation, wherein the production controller is excluded from the assigning;

recording, using the copied test controller code, test information indicative of performance of the respective sub-operations, wherein the test information includes latency information for performing at least one of the sub-operations; and

presenting, using the copied test controller code, the recorded test information on the client computer system, wherein the recorded test information includes references to the associated sub-operations and the respective assigned modules.

16. The method of claim 15 , wherein the assigning includes selecting, by the copied test controller code, the plurality of sub-operations from a set of sub-operations available in the web service.

17. The method of claim 15 , wherein an intermediate result between the plurality of modules and the production controller is not sent to the client computer system when the production controller assigns respective sub-operations; and

wherein an intermediate result between the plurality of modules and the test controller code is sent to the client computer system when the test controller code assigns respective sub-operations.

18. The method of claim 15 , wherein presenting the recorded test information includes sending the recorded test information to a test application executing on the client computer system.

19. The method of claim 15 , wherein presenting the recorded test information includes generating one or more timelines indicating a respective start time and a respective stop time for ones of the plurality of modules to perform the respective sub-operations.

20. The method of claim 15 , wherein the test operation includes a web search using a particular search phrase; and

wherein the plurality of sub-operations includes performing a plurality of web searches using different portions of the particular search phrase as a respective search term for ones of the sub-operations.

Assignments (2)
CHANGE OF NAME Recorded Nov 29, 2023
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 065710/0125 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 8, 2021
From: SHETTY, ARJUN; BANSAL, SANDEEP
To: SALESFORCE.COM, INC.
Reel/Frame 058051/0028 →
Continuity (2)
Continuation 16743775 · Jan 15, 2020
Related Publication 20220066912A1 · Mar 3, 2022