Prioritization of continuous deployment pipeline tests
US-9652509-B2 · May 16, 2017 · US
US10733087B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10733087-B2 |
| Application number | US-201816163142-A |
| Country | US |
| Kind code | B2 |
| Filing date | Oct 17, 2018 |
| Priority date | Oct 17, 2018 |
| Publication date | Aug 4, 2020 |
| Grant date | Aug 4, 2020 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A computing system may include a software application configured to receive instructions to merge a source code update with a branch of a software product, provide instructions to merge the source code update into the branch, and select software tests to execute on the branch as updated based on a portion of the branch modified by the source code update and a predetermined checkpoint within a development cycle of the software product. The software application may also be configured to provide instructions to execute the software tests on the branch as updated and receive feedback data indicating results of the software tests. The software application may be additionally configured to determine that the feedback data indicates that the branch as updated passed at least a threshold number of the software tests, and, in response, provide instructions to merge the branch as updated with a production branch of the software product.
Opening claim text (preview).
What is claimed is: 1. A computing system comprising a memory and a processor, wherein the processor is configured to execute a software application disposed on a computational instance of a remote network management platform, wherein the software application is communicatively connected to (i) a testing server and (ii) a content management system, and wherein the memory stores instructions that when executed by the processor, cause the computing system to: receive instructions to merge a source code update with a first branch of a software product, wherein the first branch corresponds to a predetermined checkpoint within a development cycle of the software product; provide, to the content management system, instructions to update the first branch by merging the source code update into the first branch; select a plurality of software tests to execute on the first branch as updated based on (i) a portion of the first branch modified by the source code update and (ii) the predetermined checkpoint within the development cycle; provide instructions to the testing server to execute the plurality of software tests on the first branch as updated; receive feedback data from the testing server indicating results of the plurality of software tests; determine that the feedback data indicates that the first branch as updated passed at least a threshold number of the plurality of software tests; and in response to determining that the feedback data indicates that the first branch as updated passed at least the threshold number of the plurality of software tests, provide, to the content management system, instructions to merge the first branch as updated with a production branch of the software product such that subsequent branches created from the production branch include the source code update. 2. The computing system of claim 1 , wherein the first branch is a development branch corresponding to a push checkpoint at which the source code update is transmitted from a software development environment provided by the remote network management platform to the content management system, and wherein the selected plurality of software tests comprises unit tests configured to evaluate performance of a code unit of the software product, wherein the code unit includes therein the source code update. 3. The computing system of claim 1 , wherein the first branch is a staging branch corresponding to a staging checkpoint at which a development branch containing the source code update is requested to be merged with the production branch, and wherein the selected plurality of software tests comprises integration tests configured to evaluate performance of (i) code units of the software product that include therein the source code update and (ii) further code units of the software product that invoke the code units. 4. The computing system of claim 1 , wherein the plurality of software tests is a first plurality of software tests, and wherein the software application is further configured to: in response to merging the first branch as updated with the production branch, select a second plurality of software tests to execute on the production branch as merged with the first branch, wherein the second plurality of software tests contains more software tests than the first plurality of software tests; and provide instructions to the testing server to execute the second plurality of software tests on the production branch as merged with the first branch. 5. The computing system of claim 4 , wherein the instructions, when executed by the processor, cause the computing system to: receive additional feedback data from the testing server indicating results of the second plurality of software tests; determine that the additional feedback data indicates that the production branch as merged with the first branch passed at least a second threshold number of the second plurality of software tests; and in response to determining that the additional feedback data indicates that the production branch as merged with the first branch passed at least the second threshold number of the second plurality of software tests, provide instructions to release the production branch as merged with the first branch for manual testing. 6. The computing system of claim 1 , wherein the instructions, when executed by the processor, cause the computing system to: receive, from the testing server, additional feedback data indicating results of a plurality of additional software tests executed on a plurality of additional branches containing additional source code updates generated by a particular developer; and based on the additional feedback data, generate performance metrics indicating a performance of the particular developer in generating the additional source code updates. 7. The computing system of claim 1 , wherein the instructions, when executed by the processor, cause the computing system to: receive an indication of a minimum number of code reviewers by which the source code update is to be reviewed; and provide the instructions to update the first branch by merging the source code update into the first branch in response to at least the minimum number of code reviewers approving the source code update. 8. The computing system of claim 1 , wherein the instructions, when executed by the processor, cause the computing system to select the plurality of software tests to execute on the first branch as updated further based on target performance parameters, wherein the target performance parameters comprise one or more of (i) a maximum execution time of the plurality of software tests, (ii) a target code coverage of the first branch by the plurality of software tests, (iii) an extent of parallelizability of the plurality of software tests, or (iv) an extent of usage of computational resources of the testing server, wherein each checkpoint within the development cycle is associated with different values for the target performance parameters. 9. The computing system of claim 1 , wherein the instructions, when executed by the processor, cause the computing system to provide instructions to the testing server to execute the plurality of software tests on the first branch as updated by: providing, to the content management system, instructions configured to cause the content management system to, in response to merging the source code update into the first branch, transmit, to the testing server, instructions configured to cause the testing server to execute the plurality of software tests on the first branch as updated. 10. The computing system of claim 1 , wherein the testing server is configured to provide a plurality of different computational environments, and wherein the software application is configured to provide instructions to the testing server to execute the plurality of software tests on the first branch as updated by: selecting, based on the predetermined checkpoint within the development cycle, a particular computational environment of the plurality of different computational environments within which to execute the plurality of software tests; and providing instructions to the testing server to execute the plurality of software tests on the first branch within the particular computational environment. 11. The computing system of claim 1 , wherein the instructions, when executed by the processor, cause the computing system to provide the instructions to the testing server to execute the plurality of software tests on the first branch as updated by: determining, based on the portion of the first branch modified by the source code update, a subset of the software product to rebuild to incorporate the source code update into an upda
Environments for analysis, debugging or testing of software · CPC title
for coverage analysis · CPC title
for test execution, e.g. scheduling of test suites · CPC title
for performance assessment · CPC title
Performance evaluation by tracing or monitoring · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.