Topaz for Total Test

Automated Testing

Topaz for Total Test

Find and Fix Bugs Earlier with Automated Testing

Automated testing increases the effectiveness and coverage of software testing, leading to fewer bottlenecks in the software delivery pipeline, lower failure rates and higher quality software.

Topaz® for Total Test can test a mainframe program in two ways:

  • Virtualized (unit testing): All subprogram calls, data accessed and API calls are virtualized or stubbed out and the program is tested in complete isolation from external dependencies.
  • Non-virtualized (performance and integration testing): Testing is executed in a real environment with real subprograms and data.

With Topaz for Total Test, developers can:

  • Automate unit testing, functional testing, as well as integration and regression testing
  • Easily generate tests from within Xpediter
  • Run unit, functional and integration tests from the same test scenario
  • Validate code changes immediately
  • Maintain the quality of their codebase
  • Quickly put program code updates into production
  • Leverage integrations with leading cross-platform DevOps and Compuware tools for continuous code quality management

The Value of Topaz for Total Test

  • Enables a “shift left” approach to testing to improve application quality and development velocity and efficiency
  • Empower novice developers to validate COBOL code changes with the same speed and confidence as other code
  • Support Continuous Integration and Continuous Delivery (CI/CD)
  • Reduce time spent manually writing tests, collecting test data, or manually creating data
  • Increase confidence when making large mainframe code changes
  • Facilitate regression testing

Related Solutions

Key Features of Topaz for Total Test

DevOps Toolchain Integrations

Topaz for Total Test can be easily integrated into a DevOps toolchain to enable COBOL unit testing, functional testing, as well as integration testing within the automated build-test-deploy process through integrations with pipeline technologies such as Jenkins, Release, CloudBees Flow and SonarSource SonarQube.

Integration with Jenkins

Topaz for Total Test is easily configurable into an existing Jenkins workflow. COBOL testing can be automatically triggered as part of a DevOps toolchain and/or Continuous Delivery process for enterprise DevOps efficiency.

Integrations with SonarQube

Code coverage results captured by Topaz for Total Test can be fed into SonarQube to help IT teams better understand the scope and effectiveness of their testing as code is promoted toward production. In addition, testing pass/fail results can be displayed in SonarQube along with other quality trends throughout the DevOps process. Quality Gates may be defined to use test results to determine whether to proceed with the workflow or to fix the code before continuing.

Integration with Release

An integration with Release enables users to integrate a Topaz for Total Test virtualized/unit test scenario and/or test suite into a DevOps pipeline.

Integration with CloudBees Flow

Users can run unit test scenarios and test suites within a DevOps pipeline orchestrated by CloudBees Flow.

Intelligent Test Case Execution

When setting up an automated CI/CD pipeline to execute test cases, Topaz for Total Test can intelligently execute only the test cases related to changed programs, accelerating the pipeline, speeding software delivery, and saving on mainframe resources. An integration between Topaz for Total Test and ISPW integrates source code management with automated testing, so that when a developer promotes a change in ISPW, the pipeline will automatically execute the right tests based on what source code changes were made.

Automatically Generate a Unit Test and Test Assets

Topaz for Total Test automatically generates unit and functional test cases as well as program stubs while collecting the necessary test data for data stubs—to simplify test setup and execution on different test systems.

Video: How to Unit-test Your Way to True DevOps on the Mainframe >

Topaz Total Test

Test Data Virtualization

Topaz for Total Test simplifies and accelerates testing of large COBOL programs by automatically virtualizing data for Db2 databases, VSAM, and QSAM data files and subprogram calls. It also supports IMS BMP/MPP and batch DL/I command virtualization, eliminating the need to have an IMS system when testing an IMS program. Similarly, it also supports CICS command virtualization. CICS commands can also be virtualized so CICS tests are isolated from actual CICS regions.

Video: Virtualize CICS Commands with Topaz for Total Test >

Test Assertions

Topaz for Total Test generates default test result assertions that enable comparisons between expected results and actual program results. Developers can also easily change the expected results collected from the program to create new test cases. After the test executes, test assertions are evaluated to determine if the test passes or fails.

Program Entry and Write Assertions

For unit tests, program entry assertions ensure that the parameters passed into a subprogram are correct. They are similar to write assertions, which confirm the data that is to be written to VSAM or QSAM files, Db2 tables, IMS segments, or by CICS commands are correct. The expected values for all of these assertions are automatically captured during program execution when the unit tests are created.

Advanced Non-Virtualized Testing Capabilities

Topaz for Total Test also automates the creation of functional tests and supports the non-virtualized testing of load modules on an LPAR in batch and CICS using real data, subprograms, and environments. Programs can be written in COBOL, PL/I or Assembler. Functional tests are defined in a test scenario, and the user can either generate a test from Xpediter, or manually specify input and expected output data for the linkage section of the module.

A test scenario can contain a sequence of steps. To ensure the data is accurate before running a test case, the test data setup can be automated through an integration with Topaz for Enterprise Data . Subsequent steps include providing input data and verifying output data for a program, as well as verifying data in db2 and datasets by leveraging a direct integration with File-AID Compare, for example.

Similarly, test scenarios can be used to test complex batch jobs and also to create an integration test of multiple program interactions.

Video: Automatically Generate Functional Tests with Topaz for Total Test >

Video: Creating and Executing Functional Tests with Topaz for Total Test—Eclipse Interface >

Multiple Tests from One Test Scenario

Developers can run unit, functional, and integration tests from the same test scenario—using one editor and one execution dialog. With this combined test scenario, JCL is now automatically generated to run the tests. Test scenarios can be combined into test suites that are automatically executed in CI/CD pipelines with Jenkins. Test results can be captured along with other details in one report and housed in a shared repository.

Topaz for Total Test Web Client

Topaz for Total Test’s web client enables users to add runtime information about a load module to a repository as a component and easily create and execute non-virtualized/functional test cases from the web client. A test case is executed directly from the browser, and the result is immediately shown, making it easy for non-developers and mainframe developers, who have not yet adopted a modern IDE, to create tests.

Video: Creating and Executing Functional Tests with Topaz for Total Test—Web Interface >

Flexibly Execute Virtualized/Unit and Non-Virtualized/Functional Tests

Because test assets move with tests, developers have the flexibility of executing their unit and functional tests on different systems based upon available test environments. Topaz for Total Test also displays a simple list of target systems where tests can be run. Developers simply need to pick the target system and run the test. Topaz for Total Test then automatically transfers the tests as well as all virtualized programs, commands, and data needed.


Mainframe testing activities can be captured in a detailed Compuware zAdviser dashboard enabling:

  • Topaz for Total Test users to assess the efficacy of their testing efforts
  • Development managers can measure adoption of Topaz for Total Test, what is being tested, success and failure rates, as well as whether tests are being leveraged within a DevOps pipeline
Topaz for Total Test zAdviser Report