You are on page 1of 73

INTERTEST

Naveen I.M
Brajesh Kumar Singh
Intertest

I. INTRODUCTION
II. BATCH INTERTEST
III. ONLINE INTERTEST
Intertest

(What)
• CA-Intertest is a full screen , interactive ,menu driven testing and
debugging facility for Cobol programmers .The programmer
controls the test session with CA-Intertest commands .
• Similar to other debugging tools such as Expeditor.

(Why)
• Useful when program is large/complex (or) input data is
voluminous.
• Programmer can enter values for specific fields to test the logic of
the program.
Intertest

PROTSYM :VSAM file, which contains the


symbolic information and source listings for
your application programs
Symbolic File

• Before you begin testing, you should be aware that when CA-InterTest for
CICS searches the symbolic files for the COBOL programs that you specify
for testing.it tries to match the date and time in the symbolic file to that of
the load module.

• If a match cannot be found, one of the following is displayed:


– a Symbolic Version List
– a warning message

• This CA-InterTest for CICS feature allows you to maintain synchronized


processing at all times by letting you select the correct symbolic version of
the program that you wish to test.
Intertest

BATCH INTERTEST
Operating Environment
• CA-Intertest can be used to test any load module that runs under
MVS, excluding those requiring authorization. COBOL programs to
be tested must be compiled with any COBOL compiler supported by
IBM .

• CA-Intertest batch ISPF requires the TSO environment with


at least 1.5 megabytes of virtual storage .

• CA-Intertest batch ISPF supports IBM’s ISPF product release


2.1.0 and above.
Batch Intertest

Using Batch Intertest :

1. Compile the program for Intertest mode.


2. Enter Intertest environment.
3. Specify input file names.
4. ‘Animate’ the program giving ‘breakpoints’ and using Intertest
line commands.
(Commonly used commands explained later in this
presentation.)
Intertest

Sometimes the option of compiling the program doesn’t work


(like in our case – Fleet project). In this case, you can compile
and create the object load module using a batch job.
Attached is the JCL for this :

BATCHJCL

Then create a JCL with the program which needs to be tested .

COYPM875
Primary Option Menu
Primary (Commonly used options)

• Cobol test - is used to set up and control a test execution of a


program .

• Allocation – allows ISPF users to allocate ddnames .


ALIB
• An ALIB is a data set used by CA-InterTest/Batch to save
allocation information. CA-InterTest/Batch users can have any
number of ALIBs at their disposal, but they must be created
manually.
Setting up an intertest
ALIB
• An ALIB is a data set used by CA-InterTest/Batch to
save allocation information. CA-InterTest/Batch
users can have any number of ALIBs at their
disposal, but they must be created manually.
Setting up an intertest (contd.)
Setting up an intertest (contd.)
Setting up an intertest (contd.)
Setting up an intertest (contd.)
Setting up an intertest (contd.)
Setting up an intertest (contd.)
Setting up an intertest (contd.)
Setting up an intertest (contd.)
Setting up an intertest (contd.)
Setting up an intertest (contd.)
Setting up an intertest (contd.)
Setting up an intertest (contd.)
Setting up an intertest (contd.)
Following points would be
discussed
• Program Selection

• Intercept Control

• Setting Breakpoints

• CA – Intertest / Batch commands


Program Selection
• The program to be tested , the load libraries and any
parameters such as date card are specified in the Program
Entry Panel and the SYM/LIST Entry Panel .

• The program entry panel is used to specify the


load library of the object module and the name of the program
to be executed in test.

• The SYM/LIST ENTRY PANEL is used to specify all


programs to be tested including called modules. Entries are
retained on the panel from session to session.
Intercept Panel
• The intercept panel is displayed after the program selection
panels have been completed to give the user an oppurtunity
to set breakpoints or issue with other commands before the
program execution .
• The Intercept panel is used to control the test session until the
test comes to a normal completion or is cancelled by the
programmer. The Intercept panel is a display of the
PROCEDURE DIVISION at the point of execution. From here
any part of the test can be viewed and controlled, including
the compiled listing and input-data files. The Intercept panel
is also used to access the breakpoint and display panels.
Program Selection
• The program to be tested , the load libraries and any
parameters such as date card are specified in the Program
Entry Panel and the SYM/LIST Entry Panel .

• The program entry panel is used to specify the


load library of the object module and the name of the program
to be executed in test.

• The SYM/LIST ENTRY PANEL is used to specify all


programs to be tested including called modules. Entries are
retained on the panel from session to session.
Program Selection
• The program to be tested , the load libraries and any
parameters such as date card are specified in the Program
Entry Panel and the SYM/LIST Entry Panel .

• The program entry panel is used to specify the


load library of the object module and the name of the program
to be executed in test.

• The SYM/LIST ENTRY PANEL is used to specify all


programs to be tested including called modules. Entries are
retained on the panel from session to session.
Intercept panel Contd.

• Breakpoint intercept panel is displayed whenever an


unconditional breakpoint is encountered in the program .
• The W when-name INTERCEPT panel is displayed when a
conditional breakpoint is encountered .
• The ATTENTION INTERCEPT panel is displayed when the
ATTN (PA1) key is pressed.
• The STEP COUNT INTERCEPT panel is displayed when the
specifed number of verbs on the STEP command has been
reached.
• The NEXT COUNT INTERCEPT panel is displayed when the
NEXT command is issued.
Setting breakpoints
• Breakpoints stop the test at specified program statements and
display the Intercept panel . A breakpoint can be set to see if the
program is executing a particular statement when certain test data is
processed.
• There are two kinds of breakpoints .

 Unconditional Breakpoint

 Conditional Breakpoint
Unconditional Breakpoint

• An unconditional breakpoint stops the test execution at a


selected program statement. The test is stopped whenever
a breakpoint is encountered in the program unless the
COUNT option is used.
Conditional Breakpoint

• Conditional breakpoints are executed when the value of


specified data names changes or a condition is met.

• The conditional statement is user defined in the WHEN


PANEL. These statements can be set, reset(deleted), and
listed. There are two types of conditional statements. One
specifies a data name to be monitored: Whenever its value
changes, the W when-name INTERCEPT panel is displayed.
The other conditional type compares two data names with
an operator: When the comparison is true the W when-
name INTERCEPT panel is displayed.
CA-Intertest / Batch Commands

• There are three types of CA-Intertest /Batch commands .

 Display commands

 Line Commands

 Control commands
CA-Intertest Display
Commands
• FIND : searches memory until
the string operand is matched.

FIND string <NEXT/FIRST/LAST/PREV>

• FX
F Command :Find Hex Data

FX string <NEXT|FIRST|LAST|PREV>
Display Commands
• Display commands, such as FIND or SCROLL, are used to locate
selected data in the program and position it on the screen. These
commands can be used in any panel that has a COMMAND field.

COL – To display column number line at the top of display.

FIND string – Command searches the file until the string operand is
matched .

FP paragraph-name - The find paragraph (FP) command


finds the first occurrence of the specified paragraph
name.
Control Commands
• U - command for setting the unconditional breakpoint .
• DI <dataname – command displays the entire working
storage .
• FR <ON/OFF/RESET> - The frequency (FREQ) command
controls the statement frequency counter.
• NOFREQ – removes the frequency counter
• GO <statement-number/paragraph-name> -The GO
command causes the test session to execute.
Example (Unconditional
breakpoint)
Contd.
Contd.
Example (DI Command)
Example (DI Command) contd.
Example (GO Command)
Example (GO Command) contd.
Control commands contd.
• RUN - The RUN command removes all intercept
conditions and resumes execution of the
program.

• SET data-name = value - The SET command


is used to change the value of a data item.
• WHEN <when-name data-name-2 operator data-
name-3/value> - The WHEN/COND command
sets conditional breakpoints.
Example (SET Command)
Example (When Command)
Example (When Command) contd.
Control commands contd.
• LDA <ON/OFF> - The list data automatic (LDA)
command displays the data items specified on
the current statement.

• OFF <statement-number/ALL>- The OFF


command deletes unconditional breakpoints.
• OFFWN <when-name/ALL> - The OFFWN
command deletes conditional breakpoints.
Example (LDA Command)
Intertest

ONLINE INTERTEST
Intertest
(When)
Online example :

• User tells you that on entering values in some fields (on a


screen that she uses frequently without any problem) she is
getting a particular error message.
(Here, you could put the relevant programs into the Intertest
‘environment’, go to the screen, enter the same values as
entered by the user and see the step-by-step execution of
the program. This would give you an accurate simulation of
the problem that the user faced – provided that both of
you are using the same data.)
Intertest
Using Online Intertest :

1. Compile the program for Intertest (after ascertaining the


program that processes the screen input).
2. Copy load module to the load library of the online ‘region’
in which you are testing.
3. ‘Newcopy’ the program in the online region.
4. Enter Intertest environment to set up initial ‘breakpoints’.
5. Go to the online screen causing the abend/error and enter
input data.
6. Once the program is in monitoring mode, ‘animate’ the
program giving additional breakpoints / using Intertest line
commands.
Intertest

Commonly used line commands :

• C : Conditional Breakpoint with a criteria.


• D : Display the contents of the field where the cursor is placed.
• G : To change the next execution statement. It means Go to the
statement.
• K : Display the contents of the field where the cursor is placed
and Keep the data displayed on the top of the screen.
• M : Move value to the data field where the cursor you placed.
(But you don’t need this as you can overtype the value you
want if you already displayed the field.)
• U : Unconditional Breakpoint (You will use this most often.)
• X : Remove the breakpoint or the data field displayed on the top
of the screen.
Intertest

Considerations :

• While solving production problems, there may not be


enough time to intertest programs. You might first have to
use other methods to fix the problem. (In case of presence
of ‘dependent jobs’, etc.)
• Intertest setup depends on installation and varies from
project to project. You need to familiarize yourself with the
setup in your project before you can start using it.
Primary option menu
Source Menu
Symbolic files :Display
Source Listing
Source Listing
Prevent abends
The options (OPTS) available at the Source Listing screen make it easy to display
any section of your COBOL program. Type the command in the command line
or the number of the section you want to display in the Option # field and press
Enter:
• Command/Option # Section
• L .PD 1 Procedure Division
• L .WS 2 Working Storage Section
• L .LS 3 Linkage Section
• L .EM 8 Error Messages
Types of Breakpoints
QUESTIONS???
Variable-change break points
Unconditional Breakpoints
Conditional Breakpoints
THANK YOU!
Setting Request Breakpoints
Conditional Breakpoints
Source Listing Backtrace

You might also like