IP Library Granted Patent US 12,417,166
Granted Patent B2
US 12,417,166 · App. 18/194,255 · Granted Sep 16, 2025

Self diagnosing test suite using a double pair-wise combinatorial test solution

Inventors: Dale E. Blue (Poughkeepsie, NY); Andrew C. M. Hicks (Highland, NY); Ryan Thomas Rawlins (New Paltz, NY); Eitan Daniel Farchi (Pardes Hana, IL)
Assignee: International Business Machines Corporation
G06F11/3684G06F11/3692
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 12,417,166
App. No.
18/194,255
Granted
Sep 16, 2025
Kind
B2
Abstract

Techniques for testing and fault detection are disclosed. These techniques include generating a set of test cases for a system under test (SUT), the set of test cases based on attribute-value pairs modeled as input to the SUT. The techniques further include augmenting the set of test cases. This includes locating a missing counterpart for a first combination of values in a first test case in the set of test cases, based on identifying a number of instances of the first combination of values in the set of test cases, generating a new test case based on modifying the first test case to act as the missing counterpart, and adding the new test case to the set of test cases. The techniques further include identifying a fault for the SUT based on executing the augmented set of test cases.

Claims (86)

1. A method comprising:

generating a set of test cases for a system under test (SUT), the set of test cases based on attribute-value pairs modeled as input to the SUT;

augmenting the set of test cases, comprising:

locating a missing counterpart for a first combination of values in a first test case in the set of test cases, based on identifying a number of instances of the first combination of values in the set of test cases;

generating a new test case based on modifying the first test case to act as the missing counterpart; and

adding the new test case to the set of test cases; and

identifying a fault for the SUT based on executing the augmented set of test cases.

2. The method of claim 1 , wherein locating the missing counterpart for the first combination of values further comprises:

identifying the first combination of values in the first test case; and

determining that the set of test cases comprises an insufficient number of instances of test cases with the first combination of values.

3. The method of claim 2 ,

wherein the first combination of values comprises a first pair of values; and

wherein determining that the set of test cases comprises the insufficient number of instances of test cases comprises determining that the set of test cases comprises fewer than two instances of test cases with the first pair of values.

4. The method of claim 3 , wherein generating the new test case based on modifying the first test case to act as the missing counterpart further comprises:

modifying a value in the first test case, other than the first pair of values.

5. The method of claim 4 , further comprising:

augmenting the set of test cases by adding a second new test case, based on locating a second missing counterpart for a second combination of values, different from the first combination of values, in the first test case.

6. The method of claim 1 , wherein identifying the fault for the SUT based on executing the augmented set of test cases comprises determining a particular combination of values that causes the fault.

7. The method of claim 1 , wherein identifying the fault for the SUT based on executing the augmented set of test cases comprises:

identifying a second combination of values in a failing test case;

locating a counterpart test case for the failing test case, in the augmented set of test cases, wherein the counterpart test case comprises the same second combination of values as the failing test case; and

determining that the counterpart test case fails, and in response identifying the second combination of values as the fault.

8. The method of claim 1 , wherein identifying the fault for the SUT based on executing the augmented set of test cases comprises:

identifying a second combination of values in a failing test case;

locating a counterpart test case for the failing test case, in the augmented set of test cases, wherein the counterpart test case comprises the same second combination of values as the failing test case; and

determining that the counterpart test case succeeds, and in response identifying the second combination of values as not the fault.

9. A system, comprising:

a processor; and

a memory having instructions stored thereon which, when executed on the processor, performs operations comprising:

generating a set of test cases for a system under test (SUT), the set of test cases based on attribute-value pairs modeled as input to the SUT;

augmenting the set of test cases, comprising:

locating a missing counterpart for a first combination of values in a first test case in the set of test cases, based on identifying a number of instances of the first combination of values in the set of test cases;

generating a new test case based on modifying the first test case to act as the missing counterpart; and

adding the new test case to the set of test cases; and

identifying a fault for the SUT based on executing the augmented set of test cases.

10. The system of claim 9 , wherein locating the missing counterpart for the first combination of values further comprises:

identifying the first combination of values in the first test case; and

determining that the set of test cases comprises an insufficient number of instances of test cases with the first combination of values.

11. The system of claim 10 ,

wherein the first combination of values comprises a first pair of values; and

wherein determining that the set of test cases comprises the insufficient number of instances of test cases comprises determining that the set of test cases comprises fewer than two instances of test cases with the first pair of values.

12. The system of claim 11 , wherein generating the new test case based on modifying the first test case to act as the missing counterpart further comprises:

modifying a value in the first test case, other than the first pair of values.

13. The system of claim 9 , wherein identifying the fault for the SUT based on executing the augmented set of test cases comprises determining a particular combination of values that causes the fault.

14. The system of claim 9 , wherein identifying the fault for the SUT based on executing the augmented set of test cases comprises:

identifying a second combination of values in a failing test case;

locating a counterpart test case for the failing test case, in the augmented set of test cases, wherein the counterpart test case comprises the same second combination of values as the failing test case; and

determining that the counterpart test case fails, and in response identifying the second combination of values as the fault.

15. A computer readable storage medium having instructions stored thereon which, when executed by a processor, performs operations comprising:

generating a set of test cases for a system under test (SUT), the set of test cases based on attribute-value pairs modeled as input to the SUT;

augmenting the set of test cases, comprising:

locating a missing counterpart for a first combination of values in a first test case in the set of test cases, based on identifying a number of instances of the first combination of values in the set of test cases;

generating a new test case based on modifying the first test case to act as the missing counterpart; and

adding the new test case to the set of test cases; and

identifying a fault for the SUT based on executing the augmented set of test cases.

16. The computer readable storage medium of claim 15 , wherein locating the missing counterpart for the first combination of values further comprises:

identifying the first combination of values in the first test case; and

determining that the set of test cases comprises an insufficient number of instances of test cases with the first combination of values.

17. The computer readable storage medium of claim 16

wherein the first combination of values comprises a first pair of values; and

wherein determining that the set of test cases comprises the insufficient number of instances of test cases comprises determining that the set of test cases comprises fewer than two instances of test cases with the first pair of values.

18. The computer readable storage medium of claim 17 , wherein generating the new test case based on modifying the first test case to act as the missing counterpart further comprises:

modifying a value in the first test case, other than the first pair of values.

19. The computer readable storage medium of claim 15 , wherein identifying the fault for the SUT based on executing the augmented set of test cases comprises determining a particular combination of values that causes the fault.

20. The computer readable storage medium of claim 15 , wherein identifying the fault for the SUT based on executing the augmented set of test cases comprises:

identifying a second combination of values in a failing test case;

locating a counterpart test case for the failing test case, in the augmented set of test cases, wherein the counterpart test case comprises the same second combination of values as the failing test case; and

determining that the counterpart test case fails, and in response identifying the second combination of values as the fault.

21. A method comprising:

generating a set of test cases for a system under test (SUT), the set of test cases based on attribute-value pairs modeled as input to the SUT; and

augmenting the set of test cases, comprising:

locating a missing counterpart for a first combination of values in a first test case in the set of test cases, based on identifying a number of instances of the first combination of values in the set of test cases;

generating a new test case based on modifying the first test case to act as the missing counterpart; and

adding the new test case to the set of test cases.

22. The method of claim 21 , further comprising:

determining a particular combination of values that causes a fault for the SUT based on executing the augmented set of test cases.

23. A method, comprising:

generating a set of test cases for a system under test (SUT);

augmenting the set of test cases, comprising:

locating a plurality of missing counterparts for a plurality of respective combinations of values in a first one or more test cases in the set of test cases, based on identifying a number of instances of the respective combinations of values in the set of test cases;

generating a plurality of new test cases based on modifying the one or more first test cases to act as the missing counterparts; and

adding the plurality of new test cases to the set of test cases; and

identifying a fault for the SUT based on executing the augmented set of test cases.

24. The method of claim 23 , wherein each of the respective combinations of values comprises a respective pair of values.

25. The method of claim 24 , wherein locating the plurality of missing counterparts for the respective combinations of values further comprises:

determining that the set of test cases comprises fewer than two instances of test cases with the respective pair of values.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 31, 2023
From: BLUE, DALE E.; HICKS, ANDREW C. M.; RAWLINS, RYAN THOMAS; FARCHI, EITAN DANIEL
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 063194/0094 →
Continuity (1)
Related Publication 20240330161A1 · Oct 3, 2024
References Cited (18)
US 9130839B1 · Krzanowski et al. · 2015 [cited by applicant]
US 10515002B2 · Takawale · 2019 [cited by examiner]
US 10606737B2 · Dutta · 2020 [cited by examiner]
US 11010282B2 · Hicks et al. · 2021 [cited by applicant]
US 11010285B2 · Hicks et al. · 2021 [cited by applicant]
US 11032147B2 · Menon · 2021 [cited by applicant]
US 11074495B2 · Zadeh et al. · 2021 [cited by applicant]
US 11086768B1 · Hicks · 2021 [cited by examiner]
US 11195057B2 · Zadeh et al. · 2021 [cited by applicant]
US 20200242010A1 · Hicks · 2020 [cited by examiner]
US 20210271592A1 · Hicks · 2021 [cited by examiner]
US 20220091967A1 · Wang · 2022 [cited by examiner]
Kuhn, D. Richard, et al. “Combinatorial testing: Theory and practice.” Advances in computers 99 (2015): 1-53. [cited by applicant]
Authors et al., “Smart Test Suite for Image Classification,” ip.com, IP.com No. IPCOM000255314D, dated Sep. 15, 2018, pp. 1-3. [cited by applicant]
Authors et al., “Combining combinatorial models while maintaining full coverage,” ip.com, IP.com No. IPCOM000237570D, Dated: Jun. 25, 2014, pp. 1-5. [cited by applicant]
Authors et al., “Inspection Testing Using Debugging Capabilities To Allow Combinational Testing,” ip.com, IP.com No. IPCOM000188370D, Dated: Oct. 2, 2009, pp. 1-3. [cited by applicant]
Authors et al., “Optimal Test Suite Generation Subject to time and cost constraints,” ip.com, IP.com No. IPCOM000019887D, Dated: Oct. 7, 2003, pp. 1-4. [cited by applicant]
Ahmed, Bestoun S. “Generating pairwise combinatorial interaction test suites using single objective dragonfly optimisation algorithm.” arXiv preprint arXiv:1905.06734 (2019). [cited by applicant]