There's more than one way to do this.
I'm assuming DISPLAY to be the COBOL verb, but this also works for PL/1 PUT statements and C printf() calls. Put descriptive DISPLAY commands in your online programs. The output will go to the CEEOUT DD card in CICS, which you can analyze after the test. This takes a little bit of labor and you should be sure to remove the DISPLAYs before the programs go to production.
You can use CICS statistics. Ask your systems programmer to use the CEMT command to record and reset the statistics. This will set all the programs "times used" counters to zero. Run your test. After testing is complete ask the systems programmer to record and reset the statistics again. Once the statistics are recorded the systems programmer can use utility program DFHSTUP to print the loader domain statistics. The loader domain will have details for how many times each program was linked, XCTLed or loaded.
Before the test, use CEMT to look at the program use count for all the load modules. Run the test, then look at all the program use counters again. The difference should be the number of times the program was used. This is kind of a brute force approach that will take a lot of time depending on how many programs you're talking about.
Run an auxiliary trace while you test your application. Your systems programmer can print the trace, which you can go through looking for the CICS LINK, LOAD and XCTL commands. This one is also a bit labor intensive.
A couple of vendors offer software that runs in the background while keeping track of everything a transaction touches. You could use this software to generate a list of all the transaction activity during the test. This is probably the easiest of the solutions, but you have to spend the money for the software.
This was first published in September 2007