主权项 |
1. A method for testing software, the method comprising:
receiving, by one or more computer processors, a series of two or more revisions to a set of software code; identifying, by one or more computer processors, a first revision and a second revision within the series of two or more revisions, wherein the first revision occurs immediately prior to the second revision; identifying, by one or more computer processors, a number of modifications between the first revision and the second revision based on one or more of: a number of added lines of source code, a number of changed lines of source code, and a number of deleted lines of source code; retrieving, by one or more computer processors, one or more historical data values, wherein the one or more historical data values tracks a number of times a failure occurs with the identified modifications for the series of two or more revisions; calculating, by one or more computer processors, one or more weighted values by applying predetermined weights to the one or more retrieved historical data values and the identified modifications for the series of two or more revisions; calculating, by one or more computer processors, overall revision scores for revisions included in the series of two or more revisions based on the one or more calculated weighted values; determining, by one or more computer processors, a highest overall revision score from the calculated overall revision scores; calculating, by one or more computer processors, a threshold as a percentage of the highest overall revision score; identifying, by one or more computer processors, one or more revisions from the series of two or more revisions with corresponding determined overall revision scores equal to or greater than the calculated threshold to be critical revisions; identifying, by one or more computer processors, one or more revisions from the series of two or more revisions with corresponding determined overall revision scores less than the calculated threshold to be trivial revisions; identifying, by one or more computer processors, one or more critical revisions; determining, by one or more computer processors, a critical revision from the identified one or more critical revisions; testing, by one or more computer processors, the determined critical revision; determining, by one or more computer processors, whether the tested critical revision passed; responsive to determining the tested critical revision failed; determining, by one or more processors, whether a previous untested critical revision remains in the identified one or more critical revisions; identifying, by one or more computer processors, the previous untested critical revision respective to the tested critical revision; and testing, by one or more computer processors, the identified previous untested critical revision. |