Software application build testing
AssigneeSap SE
InventorsJingun Hong, Dong Won Hwang
Life of this patent
Estimating the term…
Abstract
Various examples are directed to systems and methods for testing software. A testing system may use test case data describing a first test case failed by a first build of the software application, the first build generated by a first commit operation of the plurality of commit operations to execute a fault localization operation, the fault localization operation to identify a first suspect program element of a first build. The testing system may use the first suspect program element and commit data to select a second commit operation from the plurality of commit operations. The testing system may determine an error-inducing commit operation from the plurality of commit operations and executing a corrective action.
Claims20
A system for testing software, the system comprising:
- a hardware processor programmed to perform operations comprising:
- accessing first time period commit data for a software application, the first time period commit data describing a plurality of commit operations executed on the software application;
- accessing test case data describing a first test case failed by a first build of the software application, the first build generated by a first commit operation of the plurality of commit operations;
- using the test case data to execute a fault localization operation, the fault localization operation to identify a first suspect program element of the first build;
- using the first suspect program element and the first time period commit data to select a second commit operation from the plurality of commit operations, the second commit operation being executed before the first commit operation;
- executing at least one test case on a second build of the software application, the second build generated by the second commit operation;
- using a result of executing the at least one test case on the second build to select a third commit operation of the plurality of commit operations;
- executing the at least one test case on a third build of the software application, the third build generated by the third commit operation;
- based at least in part on a result of executing the at least one test case on the third build, determining an error-inducing commit operation from the plurality of commit operations;
- and
- executing a corrective action based on the error-inducing commit operation.
A method of testing software, the method comprising:
- accessing first time period commit data for a software application, the first time period commit data describing a plurality of commit operations executed on the software application;
- accessing test case data describing a first test case failed by a first build of the software application, the first build generated by a first commit operation of the plurality of commit operations;
- using the test case data to execute a fault localization operation, the fault localization operation to identify a first suspect program element of the first build;
- using the first suspect program element and the first time period commit data to select a second commit operation from the plurality of commit operations, the second commit operation being executed before the first commit operation;
- executing at least one test case on a second build of the software application, the second build generated by the second commit operation;
- using a result of executing the at least one test case on the second build to select a third commit operation of the plurality of commit operations;
- executing the at least one test case on a third build of the software application, the third build generated by the third commit operation;
- based at least in part on a result of executing the at least one test case on the third build, determining an error-inducing commit operation from the plurality of commit operations;
- and
- executing a corrective action based on the error-inducing commit operation.
A non-transitory machine-readable medium comprising instructions thereon that, when executed by at least one processor, cause the at least one processor to perform operations comprising:
- accessing first time period commit data for a software application, the first time period commit data describing a plurality of commit operations executed on the software application;
- accessing test case data describing a first test case failed by a first build of the software application, the first build generated by a first commit operation of the plurality of commit operations;
- using the test case data to execute a fault localization operation, the fault localization operation to identify a first suspect program element of the first build;
- using the first suspect program element and the first time period commit data to select a second commit operation from the plurality of commit operations, the second commit operation being executed before the first commit operation;
- executing at least one test case on a second build of the software application, the second build generated by the second commit operation;
- using a result of executing the at least one test case on the second build to select a third commit operation of the plurality of commit operations;
- executing the at least one test case on a third build of the software application, the third build generated by the third commit operation;
- based at least in part on a result of executing the at least one test case on the third build, determining an error-inducing commit operation from the plurality of commit operations;
- and
- executing a corrective action based on the error-inducing commit operation.
Dependencies are inferred from the claim text.