IP Library Granted Patent US 12664073
Granted Patent B2
US 12664073 · App. 18/374,093 · Granted Jun 23, 2026

One regression detection testing method

Inventors: Changxu Jiang (Chengdu, CN); Robin Fei Wang (Chengdu, CN); Huijuan Fan (Chengdu, CN)
Assignee: Dell Products L.P.
G06F11/368G06F11/3676G06F11/3688
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12664073
App. No.
18/374,093
Granted
Jun 23, 2026
Kind
B2
Abstract

Methods, system, and non-transitory processor-readable storage medium for a regression detection testing system are provided herein. An example method includes receiving a pull request to merge software code changes and parsing a pull request code difference file to identify a plurality of software modules and software functions. A test case attribute associated with a test case is queried to identify a software module associated with the test case. If the plurality of software modules and software functions comprises the software module, the test case is added to a first plurality of test cases. If the plurality of software modules and software functions comprises at least one software function, and the test case comprises that software function, the test case is added to a second plurality of test cases. At least one of the first and the second plurality of test cases are executed on a test system.

Claims (59)

1 . A method comprising:

receiving, by a code management tool associated with a software test lifecycle system, a pull request to merge software code changes with a software project repository on an information system;

automatically parsing, by a regression detection testing system integrated with the code management tool, a pull request code difference file in real-time upon receiving the pull request to identify the software code changes and generate a dataset comprising elements, wherein each element comprises functions having software code changes in a respective software module, wherein the software code changes comprise a plurality of software modules and software functions;

for each test case in a plurality of test cases, iteratively querying, by the regression detection testing system, a dynamically maintained test case attribute that records real-time coverage mapping of software modules and functions associated with the each test case, the test case attribute associated with the each test case to identify at least one software module associated with the each test case;

if the plurality of software modules and software functions comprises the at least one software module, adding the each test case to a first plurality of test cases;

if the plurality of software modules and software functions comprises at least one software function, and the each test case comprises the at least one software function, adding the each test case to a second plurality of test cases; and

executing, by the software test life cycle system, at least one of the first plurality of test cases and the second plurality of test cases on a test system to perform targeted regression testing on the software code changes, wherein the regression detection testing system performs impact analysis to automatically select between the first plurality of test cases and the second plurality of test cases based on determining whether the software code changes impact more modules or more functions in the pull request, wherein the method is implemented by at least one processing device comprising a processor coupled to a memory.

2 . The method of claim 1 further comprising:

completing the pull request to merge the software code changes with the software project repository.

3 . The method of claim 1 wherein a dataset identifies the software code changes, wherein each element in the dataset comprises a subset of the plurality of software functions and wherein each of the subset is associated with a respective software module in the plurality of software modules.

4 . The method of claim 1 wherein receiving, by the code management tool associated with the software test lifecycle system, the pull request to merge software code changes comprises:

receiving a request to execute the targeted regression testing on the software code changes.

5 . The method of claim 1 wherein parsing, by the regression detection testing system, the pull request code difference file to identify the software code changes comprises:

creating the pull request code difference file by analyzing the software code changes in the pull request.

6 . The method of claim 1 wherein querying, by the regression detection testing system, the test case attribute comprises:

identifying each of the software modules associated with the each test case.

7 . The method of claim 1 wherein querying, by the regression detection testing system, the test case attribute comprises:

executing a code coverage analysis tool on a plurality of test case groups associated with a product code integration branch associated with the code management tool to identify whether the each test case provides coverage on at least one of the at least one software module and the at least one software function, wherein the plurality of test case groups comprises the each test case; and

updating the test case attribute when the test case provides the coverage, wherein the code coverage analysis tool integrates with a pull request workflow to automatically update the test case attribute in real-time as test cases are executed.

8 . The method of claim 7 wherein executing the code coverage analysis tool on the plurality of test case groups comprises:

executing the code coverage analysis tool to determine a test coverage difference between a baseline code coverage result and a test execution cycle coverage result.

9 . The method of claim 7 wherein executing the code coverage analysis tool on the plurality of test case groups comprises:

executing the code coverage analysis tool on the plurality of test case groups associated with the product code integration branch associated with the code management tool.

10 . The method of claim 1 wherein querying the test case attribute comprises:

updating the test case attribute when the each test case comprises the at least one software module.

11 . The method of claim 10 further comprising:

updating the test case attribute when the at least one software module comprises the at least one software function.

12 . The method of claim 1 wherein querying, by the regression detection testing system, the test case attribute comprises:

updating the test case attribute when the each test case is created.

13 . The method of claim 1 wherein querying the test case attribute comprises:

updating the test case attribute when the each test case is modified.

14 . The method of claim 1 wherein if the plurality of software modules and software functions comprises the at least one software module, adding the each test case to the first plurality of test cases comprises:

prior to adding the each test case to the first plurality of test cases, determining the at least one software module associated with the each test case comprises at least a first software function.

15 . The method of claim 1 wherein executing the at least one of the first plurality of test cases and the second plurality of test cases comprises:

selecting at least one of the first plurality of test cases and the second plurality of test cases based on the pull request, wherein selecting comprises performing automated impact analysis comparing module-level changes versus function-level changes in the pull request to determine optimal test execution strategy.

16 . The method of claim 15 wherein selecting the at least one of the first plurality of test cases and the second plurality of test cases based on the pull request comprises:

determining the software code changes impact more product code changes in software modules than in the software functions in the plurality of software modules and software functions; and

selecting the first plurality of test cases to execute on the test system.

17 . The method of claim 15 wherein selecting the at least one of the first plurality of test cases and the second plurality of test cases based on the pull request comprises:

determining the software code changes impact more product code changes in software functions than in the software modules in the plurality of software modules and software functions; and

selecting the second plurality of test cases to execute on the test system.

18 . The method of claim 15 wherein selecting the at least one of the first plurality of test cases and the second plurality of test cases based on the pull request comprises:

determining not to execute the first plurality of test cases; and

in response to determining not to execute the first plurality of test cases, selecting the second plurality of test cases to execute on the test system.

19 . A system comprising:

at least one processing device comprising a processor coupled to a memory;

the at least one processing device being configured:

to receive, by a code management tool associated with a software test lifecycle system, a pull request to merge software code changes with a software project repository on an information system;

to automatically parse, by a regression detection testing system integrated with the code management tool, a pull request code difference file in real-time upon receiving the pull request to identify the software code changes and to generate a dataset comprising elements, wherein each element comprises functions having software code changes in a respective software module, wherein the software code changes comprise a plurality of software modules and software functions;

for each test case in a plurality of test cases, to iteratively query, by the regression detection testing system, a dynamically maintained test case attribute that records real-time coverage mapping of software modules and functions associated with the each test case, the test case attribute associated with the each test case to identify at least one software module associated with the each test case;

if the plurality of software modules and software functions comprises the at least one software module, to add the each test case to a first plurality of test cases;

if the plurality of software modules and software functions comprises at least one software function, and the each test case comprises the at least one software function, to add the each test case to a second plurality of test cases; and

to execute, by the software test life cycle system, at least one of the first plurality of test cases and the second plurality of test cases on a test system to perform targeted regression testing on the software code changes, wherein the regression detection testing system performs impact analysis to automatically select between the first plurality of test cases and the second plurality of test cases based on determining whether the software code changes impact more modules or more functions in the pull request.

20 . A computer program product comprising a non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code when executed by at least one processing device causes said at least one processing device:

to automatically parse, by a regression detection testing system integrated with the code management tool, a pull request code difference file in real-time upon receiving the pull request to identify the software code changes and to generate a dataset comprising elements, wherein each element comprises functions having software code changes in a respective software module, wherein the software code changes comprise a plurality of software modules and software functions;

for each test case in a plurality of test cases, to iteratively query, by the regression detection testing system, a dynamically maintained test case attribute that records real-time coverage mapping of software modules and functions associated with the each test case, the test case attribute associated with the each test case to identify at least one software module associated with the each test case;

if the plurality of software modules and software functions comprises the at least one software module, to add the each test case to a first plurality of test cases;

if the plurality of software modules and software functions comprises at least one software function, and the each test case comprises the at least one software function, to add the each test case to a second plurality of test cases; and

to execute, by the software test life cycle system, at least one of the first plurality of test cases and the second plurality of test cases on a test system to perform targeted regression testing on the software code changes, wherein the regression detection testing system performs impact analysis to automatically select between the first plurality of test cases and the second plurality of test cases based on determining whether the software code changes impact more modules or more functions in the pull request.