FORECASTING A QUALITY OF A SOFTWARE RELEASE USING MACHINE LEARNING
First Claim
1. A method comprising:
- retrieving, by one or more processors, test results associated with a software package comprising a plurality of features, the test results created by executing a plurality of test cases to test the plurality of features;
parsing, by the one or more processors, the test results to create parsed data;
determining, by the one or more processors and based on the parsed data, a software feature index associated with a quality of the plurality of features at a particular point in time of a development cycle;
determining, by the one or more processors and based on the parsed data, a defect index associated with the defects identified by the test cases;
determining, by the one or more processors and based on the parsed data, a test coverage index indicating a pass rate of the plurality of test cases;
determining, by the one or more processors and based on the parsed data, a release reliability index associated with results of executing regression test cases included in the test cases;
determining, by the one or more processors and based on the parsed data, an operational quality index associated with resources and an environment associated with the software package;
determining, by the one or more processors, a release index based at least in part on the software feature index, the defect index, the test coverage index, the release reliability index, and the operational quality index;
repeatedly determining a release index at different points in time of a development cycle to create a time series of release indexes, the release index determined based at least in part on the software feature index, the defect index, the test coverage index, the release reliability index, and the operational quality index;
based at least in part on determining that the time series of the release indexes is stationary, selecting a machine learning algorithm to forecast a release status of the software package; and
forecasting, based on the machine learning algorithm, a release status of the software package.
5 Assignments
0 Petitions
Accused Products
Abstract
In some examples, a server may retrieve and parse test results associated with testing a software package. The server may determine a weighted sum of a software feature index associated with a quality of the plurality of features, a defect index associated with the defects identified by the test cases, a test coverage index indicating a pass rate of the plurality of test cases, a release release reliability index associated with results of executing regression test cases included in the test cases, and an operational quality index associated with resources and an environment associated with the software package. The server may use a machine learning algorithm, such as a time series forecasting algorithm, to forecast a release status of the software package. The server may determine, based on the release status, whether the software package is to progress from a current phase to a next phase of a development cycle.
14 Citations
20 Claims
-
1. A method comprising:
-
retrieving, by one or more processors, test results associated with a software package comprising a plurality of features, the test results created by executing a plurality of test cases to test the plurality of features; parsing, by the one or more processors, the test results to create parsed data; determining, by the one or more processors and based on the parsed data, a software feature index associated with a quality of the plurality of features at a particular point in time of a development cycle; determining, by the one or more processors and based on the parsed data, a defect index associated with the defects identified by the test cases; determining, by the one or more processors and based on the parsed data, a test coverage index indicating a pass rate of the plurality of test cases; determining, by the one or more processors and based on the parsed data, a release reliability index associated with results of executing regression test cases included in the test cases; determining, by the one or more processors and based on the parsed data, an operational quality index associated with resources and an environment associated with the software package; determining, by the one or more processors, a release index based at least in part on the software feature index, the defect index, the test coverage index, the release reliability index, and the operational quality index; repeatedly determining a release index at different points in time of a development cycle to create a time series of release indexes, the release index determined based at least in part on the software feature index, the defect index, the test coverage index, the release reliability index, and the operational quality index; based at least in part on determining that the time series of the release indexes is stationary, selecting a machine learning algorithm to forecast a release status of the software package; and forecasting, based on the machine learning algorithm, a release status of the software package. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computing device comprising:
-
one or more processors; and one or more non-transitory computer readable media storing instructions executable by the one or more processors to perform operations comprising; retrieving test results associated with a software package comprising a plurality of features, the test results created by executing a plurality of test cases to test the plurality of features; parsing the test results to create parsed data; determining, based on the parsed data, a software feature index associated with a quality of the plurality of features; determining, based on the parsed data, a defect index associated with the defects identified by the test cases; determining, based on the parsed data, a test coverage index indicating a pass rate of the plurality of test cases; determining, based on the parsed data, a release reliability index associated with results of executing regression test cases included in the test cases; determining, based on the parsed data, an operational quality index associated with resources and an environment associated with the software package; determining a release index based at least in part on the software feature index, the defect index, the test coverage index, the release reliability index, and the operational quality index; repeatedly determining a release index at different points in time of a development cycle to create a time series of release indexes, the release index determined based at least in part on the software feature index, the defect index, the test coverage index, the release reliability index, and the operational quality index; based at least in part on determining that the time series of the release indexes is stationary, selecting a machine learning algorithm to forecast a release status of the software package; and forecasting, based on the machine learning algorithm, a release status of the software package. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. One or more non-transitory computer readable media storing instructions executable by one or more processors to perform operations comprising:
-
retrieving test results associated with a software package comprising a plurality of features, the test results created by executing a plurality of test cases to test the plurality of features; parsing the test results to create parsed data; determining, based on the parsed data, a software feature index associated with a quality of the plurality of features; determining, based on the parsed data, a defect index associated with the defects identified by the test cases; determining, based on the parsed data, a test coverage index indicating a pass rate of the plurality of test cases; determining, based on the parsed data, a release reliability index associated with results of executing regression test cases included in the test cases; determining, based on the parsed data, an operational quality index associated with resources and an environment associated with the software package; determining, a release index based at least in part on the software feature index, the defect index, the test coverage index, the release reliability index, and the operational quality index; repeatedly determining a release index at different points in time of a development cycle to create a time series of release indexes, the release index determined based at least in part on the software feature index, the defect index, the test coverage index, the release reliability index, and the operational quality index; based at least in part on determining that the time series of the release indexes is stationary, selecting a machine learning algorithm to forecast a release status of the software package; and forecasting, based on the machine learning algorithm, a release status of the software package. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification