Process Flow - Topaz for Total Test - COBOL CICS Programs


Topaz for Total Test has introduced basic support for CICS. Below are the details of what is supported and how the support can be enabled and reviewed.

Preparation

The CICS support for Topaz for Total Test is part of the Compuware testing suite of products that includes Topaz Workbench, Enterprise Common Components, and Xpediter/CICS. Although sourceless debugging is available with Xpediter/CICS, source-level support is a requirement for the CICS support of Topaz for Total Test. Instructions on preparing a program for source-level debugging with Xpediter/CICS can be found in Xpediter/CICS COBOL User Guide or Compuware Shared Services User Reference.

When preparing to record test cases for CICS, you may need to establish a launch configuration that either connects directly to a CICS region where your transaction/program executes or in a multi-region environment, additional setup may be required to ensure that Xpediter/CICS is installed in each region where your transaction/program will execute. In a CPSM Dynamic Transaction system, Xpediter/CICS should be installed in all appropriate AOR regions, but not the TOR. Use of the Xpediter/CICS Dynamic Transaction Routing Facility installed in the TOR regions of the CICSPlex can assist in routing the transaction to the proper region for collection. The Xpediter/CICS product installer should refer to the sections “Configuring Intercommunication Facilities” and Topaz Workbench in a CPSM CICSPlex Environment” of the Xpediter/CICS Advanced Configuration Guide for information on simplifying the connection process.

Prerequisites

The following products must be installed with current maintenance applied:

  • Topaz Workbench Release 20.03
  • Xpediter/CICS Release 17.02
  • Enterprise Common Components (ECC) Release 17.02

Testing

Sample Programs

The Enterprise Common Components (ECC) sample library (hlq.CPWR.MLCX170.SLCXCNTL) includes sample programs (see Sample Training Programs for a listing) you can use to demonstrate Topaz for Total Test CICS support:

  • CSDKTXD
    Member CSDKTXD contains the RDO definitions, which allow you to define and install resources in a running CICS system for the test application. It defines the programs, transactions, and files used by KTX2DEMO and KTXDDEMO. You can alter the supplied resource definition for the transaction code and assign it to a group. The resource group created in this step must be added to a CICS group list, which in turn is specified in the system initialization parameter GRPLIST.
  • KTX2DEMO
    The CICS COBOL sample program KTX2DEMO and related sub program CWKTDATE demonstrate a wide variety of supported EXEC CICS commands. Functions demonstrated in this program are file I/O, Transient Data queue, Channels and Containers, delay, cancel, retrieve, and start.
    In addition to the main program KTX2DEMO you will need to first compile and link sub program CWKTDATE. Both programs need to be linked with AMODE(31),RMODE(ANY). Refer to the Xpediter/CICS documentation on compiling and linking.
    2 VSAM files need to be created using the VSAMKSDS and VSAMKSDC members to create sample VSAM KSDS input files.
    The required RDO entries for this program can be added via the CSDKTXD sample member.
  • KTXDDEMO
    The CICS COBOL sample program KTXDDEMO and related sub program CWKTDATE demonstrate the initial group of supported EXEC CICS commands. In addition to the main program KTXDDEMO you will need to first compile and link sub program CWKTDATE. Both programs need to be linked with AMODE(31),RMODE(ANY). Refer to the Xpediter/CICS documentation on compiling and linking.
    The required RDO entries for this program can be added via the CSDKTXD sample member.

Record Test Case Data from Xpediter/Eclipse CICS Debug Session

The following procedure uses the KTX2DEMO program.

  1. In Xpediter/Eclipse, launch the CICS Debug configuration for the KTX2DEMO program (From the Run menu, select Debug Configurations).
    Refer to the Topaz Workbench Xpediter/Eclipse User Guide for instructions on how to create a new Xpediter CICS launch configuration and how to launch a debug session.
    KTX2DEMO_Launch.png

    Important

    The sample program KTX2DEMO uses non-terminal transactions that Xpediter intercepts, preventing the unit test to be created properly. To stop Xpediter from intercepting the non-terminal transactions:

    1. When creating the "Xpediter CICS Debug Session", select the Traps tab.
    2. Select the second trap for the <LOGIN>.
    3. Press the "Remove" button.
  2. Click Debug. The Debug button is disabled when a selected configuration contains invalid data.
  3. Verify that the initial breakpoint is displayed.
  4. Unlike a Batch or TSO debug session, execution begins upon the launch of a CICS session. The transaction that executes the program to be debugged, KTX2, must be executed by an appropriate means outside of Xpediter/Eclipse. Once executed, Xpediter/Eclipse traps the transaction and debugging begins.
  5. Press resume_co.gif Resume to begin executing the KTX2 transaction and display an Actions menu.
  6. Input an Action number such as 001 and press Enter.
  7. In your Xpediter/Eclipse Debug session, right click on the line the breakpoint is displayed and select  RecordTestCase.png  Record Test Case….
    Record Dialog - From Xpediter context menu.png
  8. Setup your Record Test Case selections and click OK.
  9. Refer to Context-Menus-from-Xpediter-Debug-Session for a detailed description of the available selections.
  10. Press resume_co.gif Resume to complete the transaction and generate a test case.
    A popup is displayed stating your Unit Test has been created.

    Important

    Currently, 

    Topaz for Total Test

     can capture only one CICS transaction at a time. If your program, or other programs, include pseudo-conversational transactions, capture each iteration individually as a new Scenario.

  11. Press the red Terminate button to end the debug session.
  12. Now that the Unit test has been created, go into the total_test_16x16.png Total Test perspective.
  13. Click on Project Explorer and find the Project you just created.
  14. Expand the Project.

    Important

    The following steps describe using the classic Run Test Dialog. Starting with Release 20.04.01, 

    Topaz for Total Test

     uses, by default, the Execution Context Dialog to execute Virtualized Test test scenarios. In order to use the classic Run Test Dialog, you must select Use the classic Test Run dialog option in the Preferences.

  15. Find the Runner.jcl member in the JCL folder. Customize this member with the required STEPLIB datasets which are your ECC SLCXLOAD and the application program loadlib. See also Create JCL Template for more information.

    Important

    Any load library from which the target program will load a program, table, or map must be present in the STEPLIB concatenation.

  16. Expand the Scenarios folder and open your KTX2DEMO scenario.
  17. Click on the top right run_test.gif Run Test Scenario icon.
  18. Select the desired HCI connection and also the Runner.jcl member you customized.
  19. Click OK to run the scenario.
  20. After successful completion, the Scenario Result report will be displayed.

    Sample Result Report - Summary
    Result_Report_Summary.png
    Sample Result Report - Stubs
    Result_Report_Stubs.png

Supported Commands

The following table lists the CICS commands that are currently supported.

Support for CICS commands not listed will be provided by mainframe PTFs and/or Topaz Workbench P2 repos AT A LATER time.

Categories

Commands

Abend support

ABEND

HANDLE ABEND

Program control

LINK

LOAD

RELEASE

RETURN

XCTL

Temporary storage control

DELETEQ TS

READQ TS

WRITEQ TS

Environment services

ADDRESS

ASSIGN

Console support

WRITE

OPERATOR

Interval control services

ASKTIME

CANCEL

DELAY

FORMATTIME

RETRIEVE

START

File control services

DELETE

ENDBR

READ

READNEXT

READPREV

RESETBR

REWRITE

STARTBR

UNLOCK

WRITE

Diagnostic services

DUMP /DUMP TRANSACTION

ENTER TRACEID

ENTER TRACENUM

Scheduling services

START

ATTACH

START BREXIT

Security services

QUERY

SECURITY

Syncpoint

SYNCPOINT

SYNCPOINT ROLLBACK

Transient data

DELETEQ TD

READQ TD

WRITEQ TD

Channel commands

"Current Channel," default when option CHANNEL() is omitted, is not yet supported

DELETE CHANNEL

DELETE CONTAINER

GET CONTAINER

MOVE CONTAINER

PUT CONTAINER

QUERY CHANNEL

START CHANNEL

BMS

SET() option not supported

PURGE MESSAGE

RECEIVE MAP

RECEIVE PARTN

ROUTE

SEND CONTROL

SEND MAP

SEND PAGE

SEND PARTNSET

SEND TEXT

Storage control

GETMAIN

FREEMAIN

Task control

DEQ (Toleration only)

ENQ (Toleration only)

SUSPEND

Built-in functions

BIF DEEDIT

BIF DIGEST

Terminal control

ALLOCATE

FREE

HANDLE AID (Toleration only)

ISSUE DISCONNECT

RECEIVE

SEND

System commands

INQUIRE CONNECTION

INQUIRE ENQMODE

INQUIRE FILE

INQUIRE SYSTEM

INQUIRE TASK

INQUIRE TDQUEUE

INQUIRE TRANCLASS

INQUIRE TSQNAME

INQUIRE TSQUEUE

SET FILE

SET PROGRAM

APPC mapped conversation

ALLOCATE

CONNECT PROCESS

EXTRACT PROCESS

FREE

RECEIVE

SEND

Exception Support

See Exception Support Commands for limitations

HANDLE CONDITION

IGNORE CONDITION

PUSH HANDLE

POP HANDLE

Document Services commands

DOCUMENT CREATE

DOCUMENT DELETE

DOCUMENT INSERT

DOCUMENT RETRIEVE

DOCUMENT SET

Web Support commands

CONVERTTIME

EXTRACT WEB

WEB CLOSE

WEB CONVERSE

WEB ENDBROWSE

WEB EXTRACT

WEB OPEN

WEB PARSE URL

WEB READ

WEB READNEXT

WEB RECEIVE

WEB RETRIEVE

WEB SEND

WEB STARTBROWSE

WEB WRITE HTTPHEADER

Web Services commands

INVOKE SERVICE

SOAPFAULT ADD

SOAPFAULT CREATE

SOAPFAULT DELETE

TRANSFORM DATATOJSON

TRANSFORM DATATOXML

TRANSFORM JSONTODATA

TRANSFORM XMLTODATA

WSACONTEXT BUILD

WSACONTEXT DELETE

WSACONTEXT GET

WSAEPR CREATE

Current Limitations

The following limitations apply to the current release of Topaz for Total Test. Mainframe PTFs and/or Topaz Workbench P2 repos will address these limitations AT A LATER time.

Running Tests

Topaz for Total Test currently supports running (executing) only one unit test for each CICS target program in a suite and/or scenario.

Data Pointers

A pointer field within a structure referenced by a pointer is not yet supported.

Exception Support Commands

Condition handling is emulated as if CBLPSHPOP(ON) is in effect. Emulation of CBLPSHPOP(OFF) will be provided by an update at a later time.

Related Topics

COBOL Memory Initialization

Limitations

 

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