This topic covers the ISO 8583 Client tool, which allows for sending and receiving ISO 8583 messages over a variety of channels and message packaging configurations.

Sections include:

Understanding the ISO 8583 Client Tool

ISO 8583 is a standard for systems that exchange electronic financial transactions made by cardholders using payment cards. However, certain challenges arise when testing the ISO 8583 standard:

Parasoft SOAtest provides a comprehensive testing framework that alleviates these challenges and allows you to establish a consistent, modern way to manage quality for ISO 8583-based systems, making the standard a part of the overall SOA/IT quality governance initiatives. You can also leverage SOAtest's productivity framework (such as data sources, test suites, rich data validation, etc.), and build a continuous regression testing infrastructure to evolve your electronic payment systems safely.

The Parasoft SOAtest ISO 8583 tool provides an easy-to-use GUI for use on an obscure, binary message format. You can use the ISO 8583 tool to:

Configuring the ISO 8583 Tool

Tool options can be configured in the ISO 8583 tool configuration panel, which can be accessed by double-clicking the tool node in the Test Case Explorer.

Tool Settings tab

In the Tool Settings tab, you can configure the following basic tool settings:

Input Type tab

In the Input Type tab, you can configure the ISO 8583 message (in the Message sub-tab), as well as any optional headers (in the Headers tab).

Message Sub-Tab

The following options can be configured in the Message tab:

Header Sub-Tab

The Header tab can be used to configure a custom binary header for the ISO 8583 message. Header fields can rearranged (with drag and drop), and new fields can be added and removed with the corresponding buttons. Select multiple fields while holding CTRL in order to remove several fields at once. The overall size shown next to the buttons is the sum of all field sizes.

The following options can be configured in the Headers tab:

Viewing Traffic

When an ISO 8583 test is executed, the traffic viewer will display an XML representation of the messages sent and received. This representation is intended for making analysis easier; it does not reflect the actual byte stream on the wire. A hexadecimal dump of the message, exactly as it was captured at the socket level, is displayed in the Header section of the Traffic Viewer.

Extracting Values for Reuse Across Tests and Creating Regression Controls

Once ISO 8583 messaging scenarios are setup, regression controls or various value validation features can be applied to the response messages.

To apply a regression control, complete the following:

Scripting ISO 8583 Header and Message Fields

When Script is selected in a value cell, you may write custom code to generate the field value. Examples of such usage is to encrypt content or generate MAC values. 

The script methods will accept zero, one or two arguments. 

When a single argument is declared, it references the ISOMsg object representation of the current request ISO 8583 message. The ISOMsg object will have its fields initialized up to the current field. 

For example, if you are scripting the tenth field, then the ISOMsg object will set all prior 9 fields (if any) based with those field values. This is where rearranging ISO fields can make a difference—despite the fact that rearranging order does not influence the actual field order of the sent messages. When a second argument is declared, it will reference Context, which allows for accessing environment variables, data source values, etc. 

For more details, see the SOAtest Extensibility API documentation.You can access documentation for the Extension framework API via the Parasoft> Help menu (look for the book titled "Parasoft SOAtest Extensibility API").