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.
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.- When creating the "Xpediter CICS Debug Session", select the Traps tab.
- Select the second trap for the <LOGIN>.
- Press the "Remove" button.
- Click Debug. The Debug button is disabled when a selected configuration contains invalid data.
- Verify that the initial breakpoint is displayed.
- 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.
- Press
Resume to begin executing the KTX2 transaction and display an Actions menu.
- Input an Action number such as 001 and press Enter.
- In your Xpediter/Eclipse Debug session, right click on the line the breakpoint is displayed and select
Record Test Case….
- Setup your Record Test Case selections and click OK.
- Refer to Context-Menus-from-Xpediter-Debug-Session for a detailed description of the available selections.
Press
Resume to complete the transaction and generate a test case.
A popup is displayed stating your Unit Test has been created.- Press the red Terminate button to end the debug session.
- Now that the Unit test has been created, go into the
Total Test perspective.
- Click on Project Explorer and find the Project you just created.
Expand the Project.
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.
- Expand the Scenarios folder and open your KTX2DEMO scenario.
- Click on the top right
Run Test Scenario icon.
- Select the desired HCI connection and also the Runner.jcl member you customized.
- Click OK to run the scenario.
After successful completion, the Scenario Result report will be displayed.
Sample Result Report - Summary
Sample Result Report - Stubs
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