Automated Testing with Topaz for Total Test


With Topaz for Total Test, developers can create and combine unit, functional and integration tests of a program or a group of programs. A unit test, or virtualized test, is used to isolate the program by virtualizing external calls and data access and making assertions on internal states of the program, a functional test, or non-virtualized test, is used for testing the program running live on the real system, while an integration test is used to test the interaction between two or more programs.

By combining virtualized, non-virtualized and integration tests, developers can make sure to have a regression test suite that covers all thinkable failure scenarios. Automated testing significantly accelerates the testing process and enables IT to put regular code updates into production at a pace necessary for fast, frequent and error-free releases.

These tests are designed to speed testing development and provide higher confidence during program deployment process.

The “Record Test Case” feature in Xpediter for COBOL batch programs creates Virtualized Test and limited Non-virtualized Test test scenarios.

Both Non-virtualized test and Virtualized Test provides these common features:

  • Test case execution can be automated using a Command Line Interface (CLI) so the unit test cases can be run as a regression test suite. By running these test cases, the user can verify that previously resolved issues stay fixed.
  • Can be run as part of the normal product build and deploy process using the CLI.
  • CLI can be executed as part of a continuous integration and build process.
    For information and instructions about Building CI / CD pipelines using BMC Compuware products, see the Mainstream the Mainframe site :
    • Jenkins doc
    • CLI doc
    • Rest API

Non-virtualized Test (Functional Test)

The Non-virtualized Test feature of Topaz for Total Test, formerly known as XaTester by BMC Compuware, is a functional test and integration test tool for testing COBOL, PL/I, and Assembler programs on IBM z/OS, and it can be used as a developer tool for easily calling programs during development. Topaz for Total Test Non-virtualized Test provides these features:

  • Testing Tool for testing COBOL, PL/I, and Assembler programs on IBM z/OS.
  • Collection of functional test data for selected test cases by using the "Record Test Case" feature in Xpediter.
  • Collected Xpediter information is used to generate the Non-virtualized test case and format the Element properties collected so it can be used by the test cases.

Virtualized Test (Unit Test)

The Virtualized Test feature of Topaz for Total Test can automate unit testing. Topaz for Total Test provides

  • Easy identification and setting of where in a COBOL program a unit test case should be created.
  • Collection of unit test data for selected unit test cases by using the "Record Test Case” feature in Xpediter.
  • Collected Xpediter information is used to record the unit test case and format the data collected so it can be used by the test cases.
  • A method to stub out parts of the program, by using the new “Record Program Stub” feature in Xpediter, allow test runs to be almost independent of the original program and realize less system resource usage during testing.

Notable Differences between Non-virtualized Test and Virtualized Test

Data Collection

  • Virtualized Test supports the use of Xpediter/TSO, Xpediter/IMS, and Xpediter for CICS for capturing data for data stubs, program stubs, stored procedure stubs. Virtualized Test also automatically creates test assertions which provide the validation of expected data to actual execution data.
  • Non-virtualized Test supports the use of Xpediter/TSO for capturing data from COBOL batch programs for test scenarios.

Execution

  • Virtualized Test provides the choice between using the automatically generated JCL or the classic TTTrunner JCL which requires users to update the JCL needed to execute the test case.
  • Non-virtualized Test automatically generates JCL needed to execute the test case from JCL Skeletons. Depending upon the type of test case, you may need to add additional items to the test case before executing it.

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*