# US 10,372,596 B2 · Distributed system test device

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,372,596 B2
- Document ID: US10372596B2
- Status: Granted
- Kind: B2
- Application number: 15/468,255
- Filed: 2017-03-24
- Published: 2018-09-27
- Granted: 2019-08-06
- Earliest claimed: 2017-03-24
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Adam G. Archer; Herman S. Badwal; Miran Badzak; Robin Y. Bobbitt; Mark T. Duquette; Christopher M. Lee-Shanok; Robert Retchless; Lauren H. Schaefer; Christopher N. Taylor
- Web page: https://patentgrep.com/patent/US10372596B2

## CPC

- G06F 11/3688: {for test execution, e.g. scheduling of test suites}
- G06F 11/3676: {for coverage analysis}
- G06F 11/3684: {for test design, e.g. generating new test cases}
- G06F 11/3692: {for test results analysis}
- G06F 11/3698: Environments for analysis, debugging or testing of software
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Aspects capture test coverage in a distributed system, wherein a processor instigates execution of a unique hypertext transfer request protocol test case within a distributed system of different, networked servers. The header of the unique test case includes a unique name for the unique test case, and the distributed system servers are each configured to, in response to processing a test case, generate a time-stamped log entry that includes header data for the processed test case and a uniform resource locator address of the processing server. The processor thus maps the unique test case to a subset of the distributed system servers as endpoint servers of the unique test case, in response to determining that the uniform resource locator addresses of each of the subset endpoint servers are listed within generated log entries of the endpoint servers in association with the unique test case name.

## Claims

### Claim 1

A computer-implemented method for capturing test coverage in a distributed system, comprising executing on a computer processor the steps of:
instigating execution of a unique hypertext transfer request protocol test case within a distributed system that comprises a plurality of different, networked servers, wherein a header of the unique test case comprises a unique name for the unique test case, and wherein the distributed system servers are each configured to, in response to processing a test case, generate a time-stamped log entry that comprises header data for the processed test case and a uniform resource locator address of the processing server, and to update logged header data with a source of each test case request;
mapping the unique test case to a subset of the distributed system servers as endpoint servers of the unique test case, in response to determining that the uniform resource locator addresses of each of the subset endpoint servers are listed within generated log entries of the endpoint servers in association with the unique test case name; and
determining a sequential call chain for execution of the unique test case by the subset endpoint servers as a function of the header data comprising the unique test case name within logged entries for each of the subset endpoint servers, and by identifying a sequential series of uniform resource locator addresses of the subset endpoint servers within logged entries for subsequent receiving ones of the subset endpoint servers that comprise the unique test case name.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
integrating computer-readable program code into a computer system comprising a processor, a computer readable memory in circuit communication with the processor, and a computer readable storage medium in circuit communication with the processor; and
wherein the processor executes program code instructions stored on the computer-readable storage medium via the computer readable memory and thereby performs the steps of instigating execution of the unique hypertext transfer request protocol test case within the distributed system, mapping the unique test case to the subset of the distributed system servers as endpoint servers of the unique test case, and determining the sequential call chain for execution of the unique test case by the subset endpoint servers.

### Claim 3 (depends on 2)

The method of claim 2, wherein the computer-readable program code is provided as a service in a cloud environment.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
determining the sequential call chain for execution of the unique test case by the subset endpoint servers as a function of identifying a sequential series of time-stamps within logged entries for the subset endpoint servers that comprise the unique test case name.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
determining, from a log entry generated by a first endpoint server of the subset endpoint servers in response to receiving and processing the unique test case, an identification of a process executed by the first endpoint server in processing the unique test case;
identifying, from another, different log entry generated by the first endpoint server in response to receiving and processing another test case that is different from the unique test case, the process identified as executed by the first endpoint server in processing the unique test case, in association with a different test case name from a header of the different test case; and
identifying the unique test case and the another test case as a group of test cases that are each appropriate for selection to test the identified process.

### Claim 6 (depends on 1)

The method of claim 1, wherein a logging device of each of the distributed system servers is configured to generate the time-stamped log entry that comprises the header data for the processed test case and the uniform resource locator address of the processing server in response to processing the test case, and wherein the logging device is selected from the group consisting of a proxy and a load balancer.

### Claim 7

A system, comprising:
a processor;
a computer readable memory in circuit communication with the processor; and
a computer readable storage medium in circuit communication with the processor;
wherein the processor executes program instructions stored on the computer-readable storage medium via the computer readable memory and thereby:
instigates execution of a unique hypertext transfer request protocol test case within a distributed system that comprises a plurality of different, networked servers, wherein a header of the unique test case comprises a unique name for the unique test case, and wherein the distributed system servers are each configured to, in response to processing a test case, generate a time-stamped log entry that comprises header data for the processed test case and a uniform resource locator address of the processing server, and to update logged header data with a source of each test case request;
maps the unique test case to a subset of the distributed system servers as endpoint servers of the unique test case, in response to determining that the uniform resource locator addresses of each of the subset endpoint servers are listed within generated log entries of the endpoint servers in association with the unique test case name; and
determines a sequential call chain for execution of the unique test case by the subset endpoint servers as a function of the header data comprising the unique test case name within logged entries for each of the subset endpoint servers, and by identifying a sequential series of uniform resource locator addresses of the subset endpoint servers within logged entries for subsequent receiving ones of the subset endpoint servers that comprise the unique test case name.

### Claim 8 (depends on 7)

The system of claim 7, wherein the processor executes the program instructions stored on the computer-readable storage medium via the computer readable memory and thereby determines the sequential call chain for execution of the unique test case by the subset endpoint servers as a function of identifying a sequential series of time-stamps within logged entries for the subset endpoint servers that comprise the unique test case name.

### Claim 9 (depends on 7)

The system of claim 7, wherein the processor executes the program instructions stored on the computer-readable storage medium via the computer readable memory and thereby further:
determines, from a log entry generated by a first endpoint server of the subset endpoint servers in response to receiving and processing the unique test case, an identification of a process executed by the first endpoint server in processing the unique test case;
identifies, from another, different log entry generated by the first endpoint server in response to receiving and processing another test case that is different from the unique test case, the process identified as executed by the first endpoint server in processing the unique test case, in association with a different test case name from a header of the different test case; and
identifies the unique test case and the another test case as a group of test cases that are each appropriate for selection to test the identified process.

### Claim 10 (depends on 7)

The system of claim 7, wherein a logging device of each of the distributed system servers is configured to generate the time-stamped log entry that comprises the header data for the processed test case and the uniform resource locator address of the processing server in response to processing the test case, and wherein the logging device is selected from the group consisting of a proxy and a load balancer.

### Claim 11

A computer program product for capturing test coverage in a distributed system, the computer program product comprising:
a computer readable storage medium having computer readable program code embodied therewith, wherein the computer readable storage medium is not a transitory signal per se, the computer readable program code comprising instructions for execution by a processor that cause the processor to:
instigate execution of a unique hypertext transfer request protocol test case within a distributed system that comprises a plurality of different, networked servers, wherein a header of the unique test case comprises a unique name for the unique test case, and wherein the distributed system servers are each configured to, in response to processing a test case, generate a time-stamped log entry that comprises header data for the processed test case and a uniform resource locator address of the processing server, and to update logged header data with a source of each test case request;
map the unique test case to a subset of the distributed system servers as endpoint servers of the unique test case, in response to determining that the uniform resource locator addresses of each of the subset endpoint servers are listed within generated log entries of the endpoint servers in association with the unique test case name; and
determine a sequential call chain for execution of the unique test case by the subset endpoint servers as a function of the header data comprising the unique test case name within logged entries for each of the subset endpoint servers, and by identifying a sequential series of uniform resource locator addresses of the subset endpoint servers within logged entries for subsequent receiving ones of the subset endpoint servers that comprise the unique test case name.

### Claim 12 (depends on 11)

The computer program product of claim 11, wherein the computer readable program code instructions for execution by the processor further cause the processor to determine the sequential call chain for execution of the unique test case by the subset endpoint servers as a function of identifying a sequential series of time-stamps within logged entries for the subset endpoint servers that comprise the unique test case name.

### Claim 13 (depends on 11)

The computer program product of claim 11, wherein the computer readable program code instructions for execution by the processor further cause the processor to:
determine, from a log entry generated by a first endpoint server of the subset endpoint servers in response to receiving and processing the unique test case, an identification of a process executed by the first endpoint server in processing the unique test case;
identify, from another, different log entry generated by the first endpoint server in response to receiving and processing another test case that is different from the unique test case, the process identified as executed by the first endpoint server in processing the unique test case, in association with a different test case name from a header of the different test case; and
identify the unique test case and the another test case as a group of test cases that are each appropriate for selection to test the identified process.

### Claim 14 (depends on 11)

The computer program product of claim 11, wherein a logging device of each of the distributed system servers is configured to generate the time-stamped log entry that comprises the header data for the processed test case and the uniform resource locator address of the processing server in response to processing the test case, and wherein the logging device is selected from the group consisting of a proxy and a load balancer.
