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, Compuware’s automated testing tool enables developers to:

  • Automate the creation of unit tests
  • Automatically execute unit and functional tests within a DevOps pipeline
  • 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

  • Increase velocity to production
  • Eliminate dependency on specialized mainframe knowledge
  • 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 Process

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 and functional testing within the automated build-test-deploy process through integrations with Jenkins  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.

Topaz for Total Test Webpage 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 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, making it easier to execute repeatable tests. Topaz for Total Test also generates virtualized program calls and Db2 stored procedure calls, eliminating the need to call the actual subprogram or stored procedure.

Topaz for Total Test also supports IMS BMP/MPP and Batch DL/I command virtualization, eliminating the need to have an IMS system when testing an IMS program. The IMS database isn’t necessary because the program uses virtualized data.

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 for programs.

Developers can also virtualize live CICS commands so CICS tests are isolated from actual CICS regions. Tests run as batch programs, which means there is a lot of flexibility in where the CICS tests can be executed.

Video: Virtualize CICS Commands with Topaz for Total Test >

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

Web Client and Repository for Functional Testing

Topaz for Total Test comes with a web client and a repository server for functional testing. With the web client, a user can add runtime information about a load module to the repository as a component and easily create and execute test cases from the web client. The user simply selects the component and is presented with a page where input and expected output data for the linkage section can be defined. A test case is executed directly from the browser, and the result is immediately shown. This makes 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

Db2 External Stored Procedure Testing

Topaz for Total Test automates test setup and simplifies external stored procedure testing by virtualizing Db2 sequel commands and data, eliminating the need to have a Db2 subsystem. Topaz for Total Test also allows COBOL stored procedures to be called independently of the main program and other stored procedures.

Topaz for Total Test Webpage Stored Procedure