Dynamic distribution of test execution
First Claim
1. A method for testing computing devices, the method comprising:
- providing a suite of test programs on a server for execution by a plurality of said computing devices that are coupled to said server;
distributing different ones of said test programs from said server to said computing devices for concurrent execution thereof by said computing devices;
receiving messages from said computing devices upon completion of said execution of said distributed test programs;
in response to receiving said messages, iterating said step of distributing test programs until all of said test programs in said suite have been executed;
in response to one of said computing devices being detached from said server, marking unexecuted ones of said test programs that were distributed to said one of said computing devices to indicate that these test programs were not executed by said one of said computing devices.
2 Assignments
0 Petitions
Accused Products
Abstract
Computing devices are tested by providing a suite of test programs on a server for execution by a plurality of identical computing devices that are coupled to the server. A respective unique identifier is assigned to each of the plurality of the computing devices, for use in communicating with the server. The test programs are downloaded from the server for execution by the computing devices coupled thereto, so that at different computing devices execute different test programs substantially simultaneously. The server receives messages from the computing devices with respect to execution of the test programs, each of the messages containing the respective unique identifier, and controls the execution of the test programs in the suite based on the messages. The server dynamically distributes the test programs to a changing population of the computing devices, optimizing the distribution so as to minimize the time to complete the suite.
-
Citations
31 Claims
-
1. A method for testing computing devices, the method comprising:
-
providing a suite of test programs on a server for execution by a plurality of said computing devices that are coupled to said server; distributing different ones of said test programs from said server to said computing devices for concurrent execution thereof by said computing devices; receiving messages from said computing devices upon completion of said execution of said distributed test programs;
in response to receiving said messages, iterating said step of distributing test programs until all of said test programs in said suite have been executed;in response to one of said computing devices being detached from said server, marking unexecuted ones of said test programs that were distributed to said one of said computing devices to indicate that these test programs were not executed by said one of said computing devices. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer software product, comprising a computer-readable storage medium in which computer program instructions are stored, which instructions, when read by a computer, cause the computer to perform a method for testing computing devices, the method comprising:
-
accessing a suite of test programs on a server for execution by a plurality of said computing devices that are coupled to said server; distributing different ones of said test programs from said server to said computing devices for concurrent execution thereof by said computing devices; receiving messages from said computing devices upon completion of said execution of said distributed test programs; in response to receiving said messages, iterating said step of distributing test programs until all of said test programs in said suite have been executed; in response to one of said computing devices being detached from said server, marking unexecuted ones of said test programs that were distributed to said one of said computing devices to indicate that these test programs were not executed by said one of said computing devices. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A method for testing computing devices, the method comprising:
- providing a suite of test programs on a server for execution by a plurality of said computing devices that are coupled to said server;
receiving requests at said server from said computing devices requesting said server to provide test programs to said computing devices;
assigning a respective unique identifier to each of said computing devices, for use in communicating with said server;
making respective allocations comprising different ones of said test programs for said computing devices;
distributing said different ones of said test programs from said server to said computing devices for concurrent execution thereof by said computing devices;
receiving messages at said server from said computing devices upon completion said execution of said distributed test programs, wherein each of said messages includes a request to determine a next test to execute at the corresponding computing device and also includes said respective unique identifier;
in response to receiving said messages, iterating said step of distributing test programs until all of said test programs in said suite have been executed;
detaching an attached one of said computing devices from said server; and
marking unexecuted ones of said test programs that were distributed to said one of said computing devices to indicate that these test programs were not executed by said one of said computing devices. - View Dependent Claims (16, 17, 18)
- providing a suite of test programs on a server for execution by a plurality of said computing devices that are coupled to said server;
-
19. A computer software product, comprising a computer-readable storage medium in which computer program instructions are stored, which instructions, when read by a computer, cause the computer to perform a method for testing computing devices, the method comprising:
- accessing a suite of test programs that are stored on a server for execution by a plurality of said computing devices that are coupled to said server;
receiving requests at said server from said computing devices requesting said server to provide test programs to said computing devices;
assigning a respective unique identifier to each of said plurality of said computing devices, for use in communicating with said server;
making respective allocations comprising different ones of said test programs for said computing devices;
distributing said different ones of said test programs from said server to said computing devices for concurrent execution thereof by said computing devices;
receiving messages at said server from said computing devices upon completion said execution of said distributed test programs, wherein each of said messages includes a request to determine a next test to execute at the corresponding computing device and also includes said respective unique identifier;
in response to receiving said messages, iterating said step of distributing test programs until all of said test programs in said suite have been executed detaching one of said computing devices from said server; and
marking unexecuted ones of said test programs that were distributed to said one of said computing devices to indicate that these test programs were not executed by said one of said computing devices. - View Dependent Claims (20, 21, 22)
- accessing a suite of test programs that are stored on a server for execution by a plurality of said computing devices that are coupled to said server;
-
23. A server for testing computing devices, comprising:
-
a communication interface for coupling a plurality of said computing devices thereto; and a processor configured to access a suite of test programs for execution by said computing devices that are coupled to said server; wherein said processor is configured to distribute different ones of said test programs via said communication interface to said computing devices for concurrent execution thereof by said computing devices; wherein said processor is configured to receive messages via said communication interface from said computing devices indicating completion of said execution of said distributed test programs; wherein, in response to receiving said messages, said processor is configured to distribute remaining ones of said test programs iteratively to said computing devices for execution thereof until all of said test programs in said suite have been executed; wherein, in response to one of said computing devices being detached from said server, said processor is configured to mark unexecuted ones of said test programs that were distributed to said one of said computing devices to indicate that these test programs were not executed by said one of said computing devices. - View Dependent Claims (24, 25, 26, 27, 28)
-
-
29. A server for testing computing devices, comprising:
- a communication interface for coupling a plurality of said computing devices thereto; and
a processor configured to access a suite of test programs for execution by said computing devices that are coupled to said server;
wherein said processor is configured to receive requests from said computing devices requesting said server to provide test programs to said computing devices;
wherein said processor is configured to assign a respective unique identifier to each of said computing devices for use in communicating with said server;
wherein said processor is configured to make respective allocations comprising different ones of said test programs for said computing devices;
wherein said processor is configured to distribute said different ones of said test programs from said server to said computing devices for concurrent execution thereof by said computing devices;
wherein said processor is configured to receive messages from said computing devices indicating completion of said execution of said distributed test programs, wherein each of said messages includes a request to determine a next test to execute at the corresponding computing device and also includes said respective unique identifier;
wherein, in response to receiving said messages, said processor is configured to distribute remaining ones of said test programs iteratively to said computing devices for execution thereof until all of said test programs in said suite have been executed;
wherein, in response to one of said computing devices being detached from said server, said processor is configured to mark unexecuted ones of said test programs that were distributed to said one of said computing devices to indicate that these test programs were not executed by said one of said computing devices. - View Dependent Claims (30, 31)
- a communication interface for coupling a plurality of said computing devices thereto; and
Specification