US 9,811,451 B1
Distributed software testing
Carlos Alejandro Arguelles, Shoreline, WA (US); and David Robert Griffin, Seattle, WA (US)
Assigned to Amazon Technologies, Inc., Seattle, WA (US)
Filed by Amazon Technologies, Inc., Seattle, WA (US)
Filed on Sep. 17, 2015, as Appl. No. 14/857,252.
Int. Cl. G06F 9/45 (2006.01); G06F 11/36 (2006.01)
CPC G06F 11/3688 (2013.01) 20 Claims
OG exemplary drawing
 
1. An apparatus, comprising:
a processor; and
a non-transitory computer-readable storage medium having instructions stored thereupon which are executable by the processor and which, when executed, cause the apparatus to:
receive a request to perform a plurality of tests on software, the request comprising an indication of testing preferences;
determine, based at least in part on the testing preferences, a number of test instances to utilize for performing the plurality of tests on the software;
responsive to determining the number of the test instances, automatically cause the number of the test instances to be provisioned by an on-demand computing service executing in a service provider network, wherein the test instances include one or more of a virtual machine, or a container;
cause a test runner to be deployed to the test instances;
cause the software to be deployed to the test instances;
place the plurality of tests on a queue provided by a queue service executing in the service provider network, wherein the test runner dequeues the plurality of tests from the queue and performs the plurality of tests on the software in parallel on the test instances;
determine that the plurality of tests have completed; and
cause the test instances to be de-provisioned by the on-demand computing service in response to determining that the plurality of tests have completed.