Distributed testing for computing features
First Claim
1. A computer-implemented method comprising:
- distributing a feature testing tool to one or more client computing systems;
distributing one or more computing feature builds from a managing computing system to the client computing systems;
distributing one or more data sets from the managing computing system to the client computing systems,wherein the data sets are selected for distribution based on their priority in a cyclical queue of data sets,wherein the managing computing system responds to erroneous results received from a first client computing system by assigning a mandate for a data set associated with the erroneous results to be sent to a second client computing system which has a different hardware-software configuration than that of the client computing system that originally reported the erroneous results,wherein the different hardware-software configuration comprises at least one of a different type of central processing unit, a different clock speed, a different amount of random access memory (RAM), a different operating system, a different operating system version, a different set of concurrently loaded software, a different set of concurrently running software, and a different set of concurrently running processes,wherein the managing computing system receives results from the second client computing system, and, if the erroneous results were not reproduced on the second client computing system, responds by sending the data set associated with the erroneous results back to the client computing system that originally reported the erroneous results, andwherein the managing computing system responds to receiving a reproduction of the erroneous results by providing the data set associated with the erroneous results, along with information about how the erroneous results were produced and reproduced, including whether the erroneous results could be reproduced with the different hardware-software configuration, to an investigation queue;
running the feature testing tool on a given one of the client computing systems during times when the feature testing tool determines that the client computing system is not otherwise in active use, wherein the feature testing tool prompts the computing feature build to process one of the data sets, and collects results from the processing of the data set, including any erroneous results; and
providing to the managing computing system the results from the computing feature build processing the data sets on the client computing systems.
2 Assignments
0 Petitions
Accused Products
Abstract
A new method is provided for using distributed computing for computing process testing. The method includes distributing a feature testing tool, computing feature builds, and data sets to client computing systems. The feature testing tool is run on the client computing systems during times when the client computing system is not otherwise in active use. The feature testing tool prompts the computing feature build to process the data sets, and collects results from the processing of the data set, including any erroneous results. The results from processing the data sets on the client computing systems are provided to a managing computing system. The managing computing system may try to reproduce the erroneous results on other client computing systems with alternate hardware-software configurations, to send erroneous results to an investigation queue to isolate their cause, and to report useful information on the erroneous results to developers working on the computing feature.
-
Citations
18 Claims
-
1. A computer-implemented method comprising:
-
distributing a feature testing tool to one or more client computing systems; distributing one or more computing feature builds from a managing computing system to the client computing systems; distributing one or more data sets from the managing computing system to the client computing systems, wherein the data sets are selected for distribution based on their priority in a cyclical queue of data sets, wherein the managing computing system responds to erroneous results received from a first client computing system by assigning a mandate for a data set associated with the erroneous results to be sent to a second client computing system which has a different hardware-software configuration than that of the client computing system that originally reported the erroneous results, wherein the different hardware-software configuration comprises at least one of a different type of central processing unit, a different clock speed, a different amount of random access memory (RAM), a different operating system, a different operating system version, a different set of concurrently loaded software, a different set of concurrently running software, and a different set of concurrently running processes, wherein the managing computing system receives results from the second client computing system, and, if the erroneous results were not reproduced on the second client computing system, responds by sending the data set associated with the erroneous results back to the client computing system that originally reported the erroneous results, and wherein the managing computing system responds to receiving a reproduction of the erroneous results by providing the data set associated with the erroneous results, along with information about how the erroneous results were produced and reproduced, including whether the erroneous results could be reproduced with the different hardware-software configuration, to an investigation queue; running the feature testing tool on a given one of the client computing systems during times when the feature testing tool determines that the client computing system is not otherwise in active use, wherein the feature testing tool prompts the computing feature build to process one of the data sets, and collects results from the processing of the data set, including any erroneous results; and providing to the managing computing system the results from the computing feature build processing the data sets on the client computing systems. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A computing system comprising a processor capable of executing instructions from a memory and configured to:
-
distribute a natural language testing utility to one or more remote computing devices having a variety of different hardware-software configurations;
iteratively distribute test versions of a natural language feature to the remote computing devices;iteratively distribute corpus segments from a cyclical queue of corpus segments to the remote computing devices to test the natural language feature on wherein the corpus segments are selected for distribution based on their priority in the cyclical queue of corpus segments, wherein a managing computing system responds to erroneous results received from a first remote computing device by assigning a mandate for a corpus segment associated with the erroneous results to be sent to a second remote computing system which has a different hardware-software configuration than that of the client computing system that originally reported the erroneous results, and wherein the different hardware-software configuration comprises at least one of a different type of central processing unit, a different clock speed, a different amount of random access memory (RAM), a different operating system, a different operating system version, a different set of concurrently loaded software, a different set of concurrently running software, and a different set of concurrently running processes; iteratively receive test results from the remote computing devices; record whether the test results include no bugs in a fresh corpus segment, an original bug in a fresh corpus segment, no bugs in a corpus segment sent to a different-configuration remote computing device to try to reproduce a bug, a reproduction of a bug in a corpus segment sent to a different-configuration remote computing device, or a reproduction of a bug sent back to the original remote computing device on which it occurred after failure to reproduce it on a different-configuration remote computing device; send data segments with reproduced bugs to an investigation queue and run the natural language feature iteratively on increasingly smaller divisions or sequences of divisions of the data segments until the bug is isolated; and provide information on the isolated bugs to support debugging the natural language feature. - View Dependent Claims (18)
-
Specification