# US 10,310,956 B2 · Techniques for web service black box testing

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

- Number: US 10,310,956 B2
- Document ID: US10310956B2
- Status: Granted
- Kind: B2
- Application number: 14/771,472
- Filed: 2014-01-23
- Published: 2016-01-14
- Granted: 2019-06-04
- Earliest claimed: 2013-02-28
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Evgeny Beskrovny; Omer Tripp; Emmanuel Wurth
- Web page: https://patentgrep.com/patent/US10310956B2

## CPC

- G06F 11/2294: {by remote test}
- G06F 11/3684: {for test design, e.g. generating new test cases}
- H04L 43/0823: Errors, e.g. transmission errors
- H04L 43/50: Testing arrangements
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A technique for synthesizing tests from a Web service document includes locating at least one parameter for at least one client to server function call in a Web service document. Client validation constraints for the at least one parameter are discovered. Server validation constraints for the at least one parameter in the Web service document are discovered. At least one range for the at least one parameter that will be accepted by the server and not be accepted by the client is discovered. Tests using parameter values from the discovered at least one range are synthesized.

## Claims

### Claim 1

A method of synthesizing tests from a Web service document, comprising:
locating, using a data processing system, at least one parameter for at least one client to server function call in a Web service document;
discovering, using the data processing system, client validation constraints for the at least one parameter;
discovering, using the data processing system, server validation constraints for the at least one parameter;
discovering, using the data processing system, at least one range for the at least one parameter that will be accepted by the server and not be accepted by the client; and
synthesizing, using the data processing system, one or more tests using parameter values from the at least one range, wherein the values in the at least one range pass server side validation and reach Web services business logic which causes an error to be generated in response to execution of the tests, and wherein a function call identifier analyzes calls in client side code of the Web service document for constrained parameters and the values in the at least one range fall within a gap between client side validation range and server side validation range.

### Claim 2 (depends on 1)

The method of claim 1, further comprising: executing the tests and recording any errors generated.

### Claim 3 (depends on 2)

The method of claim 2, further comprising:
identifying a best modification from known modifications for a generated error and changing the Web service document in accordance with the best modification.

### Claim 4 (depends on 1)

The method of claim 1, wherein an error is detected during realtime Web service development.

### Claim 5 (depends on 4)

The method of claim 4, wherein an error correction for the detected error is suggested.

### Claim 6 (depends on 5)

The method of claim 5, wherein the suggested error correction is applied to the Web service document.

### Claim 7

A computer system configured to synthesize tests from a Web service document, comprising: a memory; and
one or more processors coupled to the memory, wherein the processors are configured to implement:
a function call identifier configured to locate at least one parameter for at least one client to server function call in a Web service document;
a client constraint discovery engine configured to discover client validation constraints for the at least one parameter;
a server constraint discovery engine configured to discover server validation constraints for the at least one parameter;
a range identifier configured to discover at least one range for the at least one parameter that will be accepted by the server and not be accepted by the client; and
a test synthesizer configured to build one or more tests using values in the at least one range, wherein the values in the at least one range pass server side validation and reach Web services business logic which cause an error to be generated in response to execution of the tests, and wherein the function call identifier analyzes calls in client side code of the Web service document for constrained parameters and the values in the at least one range fall within a gap between client side validation range and server side validation range.

### Claim 8 (depends on 7)

The system of claim 7, wherein the processors are further configured to implement:
a test engine configured to execute the tests and record any errors generated.

### Claim 9 (depends on 8)

The system of claim 8, wherein the processors are further configured to implement:
an error correction engine configured to search for one or more known modifications to a generated error and change the Web service document in accordance with the modifications.

### Claim 10 (depends on 7)

The system of claim 7, wherein an error is detected during realtime Web service development.

### Claim 11 (depends on 10)

The system of claim 10, wherein an error correction for the detected error is suggested.

### Claim 12 (depends on 11)

The system of claim 11, wherein the suggested error correction is applied to the Web service document.

### Claim 13

A computer program product for synthesizing tests from a Web service document, the computer program product comprising:
a computer-readable storage device; and
computer-readable program code embodied on the computer-readable storage device, wherein the computer-readable program code, when executed by a data processing system, configures the data processing system to:
locate at least one parameter for at least one client to server function call in a Web service document;
discover client validation constraints for the at least one parameter;
discover server validation constraints for the at least one parameter in the Web service document;
discover at least one range for the at least one parameter that will be accepted by the server and not accepted by the client; and
synthesize one or more tests using parameter values from the at least one range, wherein the values in the at least one range pass server side validation and reach Web services business logic which causes an error to be generated in response to execution of the tests, and wherein a function call identifier analyzes calls in client side code of the Web service document for constrained parameters and the values in the at least one range fall within a gap between client side validation range and server side validation range.

### Claim 14 (depends on 13)

The computer program product of claim 13, wherein the computer-readable program code, when executed by the data processing system, further configures the data processing system to:
execute the tests and record any errors generated.

### Claim 15 (depends on 14)

The computer program product of claim 14, wherein the computer-readable program code, when executed by the data processing system, further configures the data processing system to:
identify a best modification from known modifications for a generated error and change the Web service document in accordance with the best modification.

### Claim 16 (depends on 13)

The computer program product of claim 13, wherein an error is detected during real-time Web service development.

### Claim 17 (depends on 16)

The computer program product of claim 16, wherein an error correction for the detected error is suggested, and wherein the suggested error correction is applied to the Web service document.
