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 enables developers to:

  • Automate unit, functional, integration and regression testing
  • Validate code changes immediately
  • Maintain the quality of their codebase
  • Run unit, functional and integration tests from the same test scenario
  • 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
Topaz for Total Test Webpage 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, functional and integration testing within the automated build-test-deploy process through integrations with Jenkins and SonarSource .

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 XebiaLabs

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

Topaz for Total Test Continuous delivery

Automatically Generate a Unit Test and Test Assets

Topaz for Total Test automatically generates unit tests 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 large COBOL program unit testing by automatically virtualizing data for Db2 databases as well as IMS Batch Message Processing (BMP) /Message Processing Programs (MPP), Batch DL/I, and VSAM and QSAM data files. Virtualized data moves with the test, so the test runs independently of data files, eliminating the need to move data files or data tables separately. The virtualized data can be edited to drive specific test cases.

Topaz for Total Test generates virtualized program calls and Db2 stored procedure calls, eliminating the need to call the actual subprogram or stored procedure. 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.

Live CICS commands can also be virtualized so CICS tests are isolated from actual CICS regions.

Video: Virtualize CICS Commands with Topaz for Total Test >

In addition, Topaz for Total Test also provides the ability to virtualize submodules calls for functional tests in batch and CICS, giving developers greater flexibility in controlling program execution.

Topaz for Total Test Virtualized IMS Call
Topaz for Total Test Virtualized Db2 SQL Calls

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. Db2 SQL Statement write assertions can be used to verify data in UPDATE, INSERT or DELETE statements. IMS write assertions include ISRT, REPL, DLET. Write assertions support many CICS commands that move data, for example WRITEQ. The expected values for all of these assertions are automatically captured during program execution when the unit tests are created.

Topaz for Total Test Webpage Entry Assertion into Subprogram
Topaz for Total Test Webpage Returned Data

Advanced Functional Testing Capabilities

Topaz for Total Test supports the functional testing of live load modules on an LPAR in batch and CICS using live data. Programs can be written in COBOL, PL/I or Assembler. Functional tests are defined in a test scenario, and the user manually specifies input and expected output data for the linkage section of the module. The test scenario can contain a sequence of steps. For example, a developer may set up the data in Db2 and datasets before testing the program; assign resources to the program dynamically with JCL defined in the test case; execute the program by providing input data and verifying output data; and finally, verify the data created by the program in Db2 and in datasets.

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

Topaz for Total Test Webpage Functional Test Eclipse

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.

Single test scernario

Functional Testing

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 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 >

Topaz for Total Test Webpage Functional Test Web Interface

Flexibly Execute Unit and 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.

Topaz Total Test