US 11,816,023 B1
Test conflict guard for parallel software testing
Shaktiraj Chauhan, Normal, IL (US); and Nate Shepherd, Bloomington, IL (US)
Assigned to State Farm Mutual Automobile Insurance Company, Bloomington, IL (US)
Filed by State Farm Mutual Automobile Insurance Company, Bloomington, IL (US)
Filed on May 28, 2021, as Appl. No. 17/333,989.
Claims priority of provisional application 63/152,781, filed on Feb. 23, 2021.
Int. Cl. G06F 11/36 (2006.01); G06F 8/41 (2018.01); G06F 8/70 (2018.01)
CPC G06F 11/3688 (2013.01) [G06F 8/44 (2013.01); G06F 8/70 (2013.01); G06F 11/3684 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A computer-implemented method, comprising:
identifying, by one or more processors of a computing device, a plurality of test cases associated with a software application;
determining, by the one or more processors, at a first time, and by analyzing source code associated with the plurality of test cases without executing the plurality of test cases, that the plurality of test cases includes at least two related test cases configured to use common data in a database;
blocking, by the one or more processors, initiation of testing comprising execution of the plurality of test cases, in response to determining at the first time that the plurality of test cases includes the at least two related test cases;
determining, by the one or more processors, at a second time, and by re-analyzing the source code, without executing the plurality of test cases, in response to at least one change to the source code, that the plurality of test cases:
includes independent test cases configured to use distinct data in the database; and
no longer includes the at least two related test cases;
unblocking, by the one or more processors, the initiation of the testing, wherein the unblocking permits the execution of the plurality of test cases in response to determining that the plurality of test cases includes the independent test cases and no longer includes the at least two related test cases; and
initiating, by the one or more processors, and at a third time following the unblocking, the testing by:
distributing individual test cases, of the plurality of test cases among a plurality of test sets; and
executing the plurality of test sets in parallel.