Proactive and selective regression testing based on historic test results

US10296446B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10296446-B2
Application numberUS-201514944271-A
CountryUS
Kind codeB2
Filing dateNov 18, 2015
Priority dateNov 18, 2015
Publication dateMay 21, 2019
Grant dateMay 21, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

In an approach to reducing regression test duration, one or more computer processors receive a first code change. The one or more computer processors retrieve one or more historic code changes relevant to the first code change. The one or more computer processors determine whether one or more failed test cases are relevant to the one or more historic code changes, where the one or more relevant failed test cases and the one or more historic code changes are stored in a table of test history. In response to determining the one or more historic code changes are relevant to one or more failed test cases, the one or more computer processors retrieve the one or more relevant failed test cases from the table of test history.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer program product for reducing regression test duration, the computer program product comprising: one or more computer readable storage device and program instructions stored on the one or more computer readable storage device, the stored program instructions comprising: program instructions to receive a first code change, wherein the first code change is a new code change to source code; program instructions to determine that one or more historic code changes are relevant to the first code change based, at least in part, on a positional overlap at a line level; program instructions to retrieve the one or more relevant historic code changes; program instructions to determine whether the one or more relevant historic code changes caused one or more test cases to fail in the past, wherein the one or more test cases that failed in the past and the one or more relevant historic code changes are stored in a table of test history; responsive to determining that the one or more relevant historic code changes caused the one or more test cases to fail in the past, program instructions to retrieve the one or more test cases that failed in the past from the table of test history; program instructions to test the first code change with the retrieved one or more test cases that failed in the past; program instructions to receive regression test results, wherein the regression test results include at least one failing test case; program instructions to query the table of test history for the at least one failing test case; and program instructions to determine whether at least one historic code change corresponding to the at least one failing test case is relevant to at least one current code change. 2. The computer program product of claim 1 , wherein the table of test history links one or more test cases that failed in the past to one or more historic code changes. 3. The computer program product of claim 2 , wherein the table of test history links corresponding metadata to the one or more test cases that failed in the past and the one or more relevant historic code changes, wherein the corresponding metadata includes at least one of: a date of occurrence, an associated defect, a severity of a failure, an identification of a coder that made a change, an age of an entry, a number of failing test cases attributed to a code change, a size of a code change, a scope of a code change, a level of experience of a submitting coder, and a time of day a change was submitted. 4. The computer program product of claim 1 , wherein the determined positional overlap is at one of a file level, an object level, or a component level. 5. The computer program product of claim 1 , wherein the program instructions to determine that at least one historic code change corresponding to the at least one failing test case is relevant to at least one current code change comprise program instructions to determine positional overlap of the at least one current code change to the at least one historic code change, wherein relevance is based on the determined positional overlap and is at one of a file level, a line level, an object level, or a component level. 6. The computer program product of claim 1 , wherein the table of test history explicitly links the one or more test cases that failed in the past to the one or more relevant historic code changes as rows in the table. 7. The computer program product of claim 1 , the stored program instructions further comprising, program instructions to rank the one or more test cases that failed in the past based, at least in part, on a level of relevance of the one or more relevant historic code changes. 8. A computer system for reducing regression test duration, the computer system comprising: one or more computer processors; one or more computer readable storage device; program instructions stored on the one or more computer readable storage device for execution by at least one of the one or more computer processors, the stored program instructions comprising: program instructions to receive a first code change, wherein the first code change is a new code change to source code; program instructions to determine that one or more historic code changes are relevant to the first code change based, at least in part, on a positional overlap at a line level; program instructions to retrieve the one or more relevant historic code changes; program instructions to determine whether the one or more relevant historic code changes caused one or more test cases to fail in the past, wherein the one or more test cases that failed in the past and the one or more relevant historic code changes are stored in a table of test history; responsive to determining that the one or more relevant historic code changes caused one or more test cases to fail in the past, program instructions to retrieve the one or more test cases that failed in the past from the table of test history; program instructions to test the first code change with the retrieved one or more test cases that failed in the past; program instructions to receive regression test results, wherein the regression test results include at least one failing test case; program instructions to query the table of test history for the at least one failing test case; and program instructions to determine whether at least one historic code change corresponding to the at least one failing test case is relevant to at least one current code change. 9. The computer system of claim 8 , wherein the table of test history links one or more test cases that failed in the past to one or more historic code changes. 10. The computer system of claim 9 , wherein the table of test history links corresponding metadata to the one or more test cases that failed in the past and the one or more relevant historic code changes, wherein the corresponding metadata includes at least one of: a date of occurrence, an associated defect, a severity of a failure, an identification of a coder that made a change, an age of an entry, a number of failing test cases attributed to a code change, a size of a code change, a scope of a code change, a level of experience of a submitting coder, and a time of day a change was submitted. 11. The computer system of claim 8 , wherein the determined positional overlap is at one of a file level, an object level, or a component level. 12. The computer system of claim 8 , wherein the program instructions to determine that at least one historic code change corresponding to the at least one failing test case is relevant to at least one current code change comprise program instructions to determine positional overlap of the at least one current code change to the at least one historic code change, wherein relevance is based on the determined positional overlap and is at one of a file level, a line level, an object level, or a component level. 13. The computer system of claim 8 , wherein the table of test history explicitly links the one or more test cases that failed in the past to the one or more relevant historic code changes as rows in the table. 14. The computer system of claim 8 , the stored program instructions further comprising, program instructions to rank the one or more test cases that failed in the past based, at least in part, on a level of relevance of the one or more relevant historic code changes.

Assignees

Inventors

Classifications

  • Test management · CPC title

  • for test version control, e.g. updating test cases to a new software version · CPC title

  • for test execution, e.g. scheduling of test suites · CPC title

  • for test results analysis · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10296446B2 cover?
In an approach to reducing regression test duration, one or more computer processors receive a first code change. The one or more computer processors retrieve one or more historic code changes relevant to the first code change. The one or more computer processors determine whether one or more failed test cases are relevant to the one or more historic code changes, where the one or more relevant…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F11/3688. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 21 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).