IP Library Granted Patent US 9,910,764
Granted Patent B2
US 9,910,764 · App. 14/312,171 · Granted Mar 6, 2018

Automated software testing

Inventor: Seth McLaughlin (Palo Alto, CA)
Assignee: LinkedIn Corporation
G06F11/3688G06F11/3664G06F11/3668
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,910,764
App. No.
14/312,171
Granted
Mar 6, 2018
Kind
B2
Abstract

Disclosed in some examples are systems, machine readable mediums and methods which automate testing of web-based application code by automatically generating test harnesses based on a specified configuration and test script, hosting the test harness, causing the test harness to be run to test the code, and delivering the test results to the user. In some examples, the specified conditions may specify one or more test environments corresponding to an execution environment. This allows users greater flexibility in support of testing libraries and support of testing environments. The end users of the software under test will be provided software that is better tested for many different environments.

Claims (53)

1. A method of testing software, the method comprising:

using one or more computer processors to perform operations of:

receiving a command from a user to test the software using a configuration selected from a plurality of configurations, the configuration specifying a test environment and a test system, wherein the test system is any computing device capable of simulating the test environment;

receiving a test case in a test case file written in accordance with one of a plurality of compatible test frameworks;

automatically generating a test harness for the software test from the received test case and the software under test, the test harness executing the received test case by calling unmodified code for the software under test according to conditions specified in the received test case, the test harness comprising the unmodified code for the software under test and code for at least one test case, wherein the test harness code and the unmodified code for the software under test are two different coding languages;

hosting the generated test harness at a determined resource locator;

causing the test system to request the generated test harness;

receiving a request from the test system to provide the generated test harness, and responsive to receiving the request, providing the generated test harness and the configuration specified by the test environment to the test system and causing the test system to run the software test according to the test case in the configuration specified by the test environment;

receiving a software test result from the test system; and

displaying the software test result to the user.

2. The method of claim 1 , wherein the software comprises an application written in a scripting language.

3. The method of claim 2 , wherein the test environment specifies a selection of a type of Internet browser and wherein the test system executes the generated test harness in an instance of the selected type of Internet browser to run the software test.

4. The method of claim 1 , wherein the test system is located on a remote server.

5. The method of claim 4 , wherein the remote server uses a virtual machine to simulate the selected testing environment.

6. The method of claim 1 , wherein the test system is executed by the one or more processors.

7. The method of claim 1 , further comprising:

receiving a second test case written in accordance with a different one of the plurality of compatible test frameworks; and

wherein when the test harness is generated, the test harness includes both the test case and the second test case.

8. A system for testing software, the system comprising:

one or more processors configured to:

receive a command from a user to test the software using a configuration selected from a plurality of configurations, the configuration specifying a test environment and a test system, wherein the test system is any computing device capable of simulating the test environment;

receive a test case in a test case file written in accordance with one of a plurality of compatible test frameworks;

automatically generate a test harness for the software test from the received test case and the software under test, the test harness executing the received test case by calling unmodified code for the software under test according to conditions specified in the received test case, the test harness comprising the unmodified code for the software under test and code for at least one test case, wherein the test harness code and the unmodified code for the software under test are two different coding languages;

host the generated test harness at a determined resource locator;

cause the test system to request the generated test harness;

receive a request from the test system to provide the generated test harness, and responsive to receiving the request, provide the generated test harness and the configuration specified by the test environment to the test system and causing the test system to run the software test according to the test case in the configuration specified by the test environment;

receive a software test result from the test system; and

cause a display of the software test result to the user.

9. The system of claim 8 , wherein the software comprises an application written in a scripting language.

10. The system of claim 8 , wherein the test environment specifies a selection of a type of Internet browser and wherein the test system executes the generated test harness in an instance of the selected type of Internet browser to run the software test.

11. The system of claim 8 , wherein the test system is located on a remote server.

12. The system of claim 11 , wherein the remote server uses a virtual machine to simulate the selected testing environment.

13. The system of claim 8 , wherein the test system is executed by the one or more processors.

14. The system of claim 8 , wherein the one or more processors are further configured to:

receive a second test case written in accordance with a different one of the plurality of compatible test frameworks; and

wherein when the test harness is generated, the test harness includes both the test case and the second test case.

15. A non-transitory machine readable medium that stores instructions which when performed by a machine, cause the machine to test software by performing operations comprising:

receiving a command from a user to test the software using a configuration selected from a plurality of configurations, the configuration specifying a test environment and a test system, wherein the test system is any computing device capable of simulating the test environment;

receiving a test case in a test case file written in accordance with one of a plurality of compatible test frameworks;

automatically generating a test harness for the software test from the received test case and the software under test, the test harness executing the received test case by calling unmodified code for the software under test according to conditions specified in the received test case, the test harness comprising the unmodified code for the software under test and code for at least one test case, wherein the test harness code and the unmodified code for the software under test are two different coding languages;

hosting the generated test harness at a determined resource locator;

causing the test system to request the generated test harness;

receiving a request from the test system to provide the generated test harness, and responsive to receiving the request, providing the generated test harness and the configuration specified by the test environment to the test system and causing the test system to run the software test according to the test case in the configuration specified by the test environment;

receiving a software test result from the test system; and

displaying the software test result to the user.

16. The machine readable medium of claim 15 , wherein the software comprises an application written in a scripting language.

17. The machine readable medium of claim 15 , wherein the test environment specifies a selection of a type of Internet browser and wherein the test system executes the generated test harness in an instance of the selected type of Internet browser to run the software test.

18. The machine readable medium of claim 15 , wherein the test system is located on a remote server.

19. The machine readable medium of claim 18 , wherein the remote server uses a virtual machine to simulate the selected testing environment.

20. The machine readable medium of claim 15 , wherein the test system is executed by the machine.

21. The machine readable medium of claim 15 , wherein the operations comprise:

receiving a second test case written in accordance with a different one of the plurality of compatible test frameworks; and

wherein when the test harness is generated, the test harness includes both the test case and the second test case.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 1, 2017
From: LINKEDIN CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 044746/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 9, 2014
From: MCLAUGHLIN, SETH
To: LINKEDIN CORPORATION
Reel/Frame 033696/0531 →
Continuity (2)
Provisional Application 61838780 · Jun 24, 2013
Related Publication 20140380281A1 · Dec 25, 2014