IP Library Granted Patent US 12,436,874
Granted Patent B1
US 12,436,874 · App. 18/621,538 · Granted Oct 7, 2025

Computer system test parallelization

Inventors: Jeffrey Willoughby (Poughkeepsie, NY); Milcah Ntende (Poughkeepsie, NY); Donald Thomas (Hopewell Junction, NY); Emily Wise (Beacon, NY); John R. Dangler (Rochester, MN); Kevin Randolph (Wurtsboro, NY); Andrew C.M. Hicks (Highland, NY)
Assignee: International Business Machines Corporation
G06F11/3688G06F11/263G06F11/366G06F11/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,436,874
App. No.
18/621,538
Granted
Oct 7, 2025
Kind
B1
Abstract

In accordance with a technique of parallelized computer system testing, a processor develops, on a representative computer system, a plurality of groups of system tests based on test-ordering constraints, where the system tests in each of the plurality of groups are executable in a temporally overlapping manner. The processor applies a test suite including a sequence of multiple of the plurality of groups of system tests to a production computer system. Applying the test suite includes performing the system tests in each of multiple of the plurality of tests groups in a temporally overlapping manner, such that testing efficiency is improved.

Claims (52)

1. A method of data processing in a data processing system including a processor, the method comprising:

the processor developing, on a representative computer system, a plurality of groups of system tests based on test-ordering constraints, wherein the system tests in each of the plurality of groups are executable in a temporally overlapping manner;

persistently storing, by the processor, the plurality of groups and a sequence for execution of the groups, the plurality of groups being generated on the representative computer system; and

applying, by the processor, a test suite including a sequence of multiple of the plurality of groups of system tests to a production computer system, wherein the applying comprises executing the system tests in each of multiple of the plurality of groups in a temporally overlapping manner, strictly according to the sequence specified in the plurality of groups.

2. The method of claim 1 , further comprising:

the processor validating the representative computer system through sequential execution of individual system tests forming one of the plurality of groups.

3. The method of claim 1 , wherein the test-ordering constraints include at least one of the following set:

resource constraints; and

data dependency constraints.

4. The method of claim 1 , further comprising:

the processor selecting the test suite for application to the production computer system based on a configuration specified by the production computer system.

5. The method of claim 4 , further comprising:

the processor selecting the sequence of the multiple groups of system tests forming the test suite from among multiple different sequences based at least on a fallout rate for the selected sequence.

6. The method of claim 1 , further comprising:

the processor updating the sequence based on the test suite discovering a defect in the production computer system.

7. The method of claim 1 , wherein selecting the sequence of the plurality of groups of system tests for application to the production computer system comprises weighting selection criteria based on a stage of a product production cycle, the selection criteria including at least one of overall runtime of the test suite, mean fallout rate, and mean runtime to failure.

8. The method of claim 7 , wherein during an initial stage of the product production cycle, the processor selects the sequence of the plurality of groups of system tests by weighting the overall runtime of the test suite more heavily than the mean runtime to failure.

9. A program product, comprising:

a non-transitory computer-readable storage medium; and

program code stored within the non-transitory computer-readable storage medium and executable by processing circuitry of a data processing system to cause the data processing system to perform:

developing, on a representative computer system, a plurality of groups of system tests based on test-ordering constraints, wherein the system tests in each of the plurality of groups are executable in a temporally overlapping manner;

persistently storing the plurality of groups and a sequence for execution of the groups, the plurality of groups being generated on the representative computer system; and

applying a test suite including a sequence of multiple of the plurality of groups of system tests to a production computer system, wherein the applying comprises executing the system tests in each of multiple of the plurality of groups in a temporally overlapping manner, strictly according to the sequence specified in the plurality of groups.

10. The program product of claim 9 , wherein the program code, when executed, further causes the data processing system to perform:

validating the representative computer system through sequential execution of a plurality of individual system tests forming one of the plurality of groups.

11. The program product of claim 9 , wherein the test-ordering constraints include at least one of the following set:

resource constraints; and

data dependency constraints.

12. The program product of claim 9 , wherein the program code, when executed, further causes the data processing system to perform:

selecting the test suite for application to the production computer system based on a configuration specified by the production computer system.

13. The program product of claim 12 , wherein the program code, when executed, further causes the data processing system to perform:

selecting the sequence of the multiple groups of system tests forming the test suite from among multiple different sequences based at least on a fallout rate for the selected sequence.

14. The program product of claim 9 , wherein the program code, when executed, further causes the data processing system to perform:

updating the sequence based on the test suite discovering a defect in the production computer system.

15. A data processing system, comprising:

processing circuitry;

a storage device communicatively coupled to the processing circuitry; and

program code stored within the storage device and executable by the processing circuitry of the data processing system to cause the data processing system to perform:

developing, on a representative computer system, a plurality of groups of system tests based on test-ordering constraints, wherein the system tests in each of the plurality of groups are executable in a temporally overlapping manner;

persistently storing the plurality of groups and a sequence for execution of the groups, the plurality of groups being generated on the representative computer system; and

applying a test suite including a sequence of multiple of the plurality of groups of system tests to a production computer system, wherein the applying comprises executing the system tests in each of multiple of the plurality of groups in a temporally overlapping manner, strictly according to the sequence specified in the plurality of groups.

16. The data processing system of claim 15 , wherein the program code, when executed, further causes the data processing system to perform:

validating the representative computer system through sequential execution of a plurality of individual system tests forming one of the plurality of groups.

17. The data processing system of claim 15 , wherein the test-ordering constraints include at least one of the following set:

resource constraints; and

data dependency constraints.

18. The data processing system of claim 15 , wherein the program code, when executed, further causes the data processing system to perform:

selecting the test suite for application to the production computer system based on a configuration specified by the production computer system.

19. The data processing system of claim 18 , wherein the program code, when executed, further causes the data processing system to perform:

selecting the sequence of the multiple groups of system tests forming the test suite from among multiple different sequences based at least on a fallout rate for the selected sequence.

20. The data processing system of claim 15 , wherein the program code, when executed, further causes the data processing system to perform:

updating the sequence based on the test suite discovering a defect in the production computer system.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 29, 2024
From: WILLOUGHBY, JEFFREY; NTENDE, MILCAH; THOMAS, DONALD; WISE, EMILY; DANGLER, JOHN R.; RANDOLPH, KEVIN; HICKS, ANDREW C.M.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 066948/0361 →
References Cited (16)
US 9529036B2 · Balog · 2016 [cited by applicant]
US 10078578B2 · Adinarayan · 2018 [cited by examiner]
US 10127134B2 · Jayaraman · 2018 [cited by examiner]
US 10289539B1 · Arguelles · 2019 [cited by examiner]
US 10430263B2 · Polar Seminario · 2019 [cited by applicant]
US 10545857B2 · Tammariello · 2020 [cited by examiner]
US 11386075B2 · Schierz · 2022 [cited by applicant]
US 11567824B2 · Saha · 2023 [cited by applicant]
US 11720482B1 · Chauhan · 2023 [cited by examiner]
US 20200310779A1 · Van Heuklon · 2020 [cited by examiner]
US 20220035728A1 · Muras · 2022 [cited by applicant]
CN 102597964B · 2015 [cited by applicant]
“Parallelizing Tests With Pessimistic Speculative Execution,” Feb. 22, 2019, 5 pages, IPCOM000257593D, IP.com. [cited by applicant]
“Test Automation Scheduling Optimization,” Jan. 24, 2017, 7 pages, IPCOM000248967D, IP.com. [cited by applicant]
Wang, F. et al., “A Novel Discrete Fruit Fly Optimization Algorithm for Intelligent Parallel Test Sheets Generation,” Jul. 9, 2015, 6 pages, MATEC Web of Conferences 22, 01040. [cited by applicant]
Anonymous, “The Benefits of Parallel Testing”, SAUCELABS, White Paper, 2020, 12 pages. [cited by applicant]