Home | Print | Archive | Blog | Contact
A Newsletter for Unisys EAE and Agile Business Suite Clients | April 2022

Performance Testing an AB Suite Application

By Nigel Tunnicliffe, Senior Architect

In an effort to accelerate the DevOps pipeline, many Agile Business Suite
(AB Suite®) clients have explored ways to automate performance testing.

Primarily, this means submitting a sequence of Ispec calls and recording the response times using a third-party performance testing tool, such as PostMan, ReadyAPI, or JMeter. These tools typically use a JSON-based RESTful interface to communicate with the system under test, as well as a script that submits a sequence of JSON messages and examines the results.

This allows the AB Suite element of a complex solution to be performance tested in a continuous improvement or continuous delivery pipeline using the same tools as other elements of the system.

An example of such a test is shown below. Here, we’re using ReadyAPI to test a repeating sequence of five Ispecs, submitted from five virtual users, for 30 seconds.

Running this test within the DevOps pipeline makes it easy to spot poorly performing Ispecs at an early stage and identify unwanted performance changes tied to bug fixes or new features.

Building the Test Gateway

The example test on the previous page was conducted using a “gateway” application developed by Unisys UK. The gateway provides an interface between the ReadyAPI script and AB Suite application, making it very simple to use with any third-party testing tool that processes RESTful requests.

It also exposes a simple Microsoft® WebAPI based JSON interface with any AB Suite application. And it does so without the need for a custom Client Tools generator, as the JSON messages are created and parsed on the fly. Crucially, it will also maintain state in the host AB Suite system between requests from the test script. So any applications that rely on GLB.WORK to maintain state can still use this interface, even though RESTful connections are typically stateless.

The gateway exposes three unique methods:

  • Connect: Connects to an AB Suite application and returns the first Ispec message in JSON format.
  • ProcessIspec: Submits an Ispec request and returns the response in JSON format.
  • Disconnect: Disconnects from the AB Suite application.

An example of the type of JSON message consumed by the gateway – using the “Navigate to SREP from MENU” request depicted below – is shown in the following example.

And as illustrated in the example below, the gateway will also convert “Copy-From” Ispecs into the appropriate JSON-style repeating group, making it easier for JSON-based interfaces to submit the correct request message and interpret the reply.

Addressing a Critical Concern

A key consideration throughout this process is the script you’ll use while running the test. While you can build the script manually, this can be a time-consuming and error-prone effort, particularly if the test involves a long, complex sequence of Ispec calls.

That’s why the Unisys UK team developed an application that can read the log files created by an AB Suite on Windows application, then automatically create test scripts compatible with ReadyAPI or PostMan from the submitted request messages. Part of an auto-generated ReadyAPI-compatible test script is shown below.

One key advantage of this approach: The settings the gateway needs to maintain state with the AB Suite application are automatically created for each step.

From here, you can import the script directly into the testing tool, simplifying initial setup. You’re also free to manually define additional assertions in the script – such as assigning a specific value to a field or setting a timeframe for a response – as needed.

As a result, you’ll simplify and accelerate the process of defining new scripts based on a previously established set of user actions and importing these scripts into a testing tool.

Other Testing Tools

In addition to the performance-testing process described above, you can pair the following testing tools with your AB Suite application throughout the development lifecycle:

  • Automated Testing Tool (ATT): Part of the AB Suite Developer environment, you can use ATT to unit-test Ispecs to ensure they return the expected results. With ATT, you’ll create a standard C# test project you can run at the appropriate point in the continuous improvement or continuous delivery pipeline. And you can configure the pipeline to “fail” if the tests don’t return the expected results.
  • BatMan: A tool developed by Unisys UK, you can use BatMan to automate system testing and help confirm performance remains stable following a system update. You’ll do this by recording a series of Ispec requests and responses, then replaying the recorded script to check that the responses in the new version of the system match the original.
Subscribe | Unisys.com | Comment | Newsletter Archive