55
MANUAL DE VIA/SMARTTEST

Smart Test

Embed Size (px)

Citation preview

Page 1: Smart Test

MANUAL DE VIA/SMARTTEST

Page 2: Smart Test

MANUAL DE UTILIZACIÓN DE VIA/SMARTTEST

ÍNDICE

1 INTRODUCCIÓN..................................................................................................................3

2 DEFINICION DEL APPLICATION KNOWLEDGE REPOSITORY.......................................4

3 CAPTURA DEL CONOCIMIENTO DEL PROGRAMA.........................................................6

4 SELECCIÓN DEL ENTORNO DE EJECUCIÓN..................................................................8

4.1 CONEXIONES ON-LINE..............................................................................................104.1.1 ENTORNO TSO.......................................................................................................104.1.2 ENTORNO CICS......................................................................................................124.1.3 TEST REMOTOS EN CICS......................................................................................154.1.4 ENTORNO DB2........................................................................................................164.1.5 ENTORNO IMS........................................................................................................16

4.2 CONEXIONES BATCH................................................................................................17

5 EJECUCIÓN....................................................................................................................... 17

5.1 AVANCE Y PARADA...................................................................................................195.2 OPCIONES DE VISUALIZACION................................................................................215.3 PSEUDOCODIFICACIÓN............................................................................................235.4 TRACKING / BACKTRACKING...................................................................................255.5 CONTADORES DE EJECUCIÓN................................................................................26

6 FILE SERVICES (CICS).....................................................................................................28

6.1 ACCESO A FICHEROS...............................................................................................286.2 TEMPORARY STORAGE............................................................................................296.3 TRANSIENT DATA......................................................................................................296.4 BASES DE DATOS DL/I..............................................................................................306.5 BASES DE DATOS DB2..............................................................................................31

7 TEST COVERAGE ANALYSIS (T.C.A.)............................................................................32

7.1 DEFINIR EL ENTORNO DE EJECUCIÓN...................................................................337.2 DEFINIR EL PLAN DE PRUEBA.................................................................................337.3 PREPARAR Y EJECUTAR LA PRUEBA.....................................................................347.4 VERIFICAR LOS RESULTADOS DEL TEST...............................................................357.5 OBTENER LOS INFORMES RESULTADO.................................................................36

2

Page 3: Smart Test

MANUAL DE UTILIZACIÓN DE VIA/SMARTTEST

INTRODUCCIÓN

Dentro de EXISTING SYSTEMS WORKBENCH, VIA/SMARTTEST es la herramienta que cumple la doble función de prueba y depuración de programas.

Dicha función la realiza para un amplio espectro de entornos de ejecución, lenguajes de programación y ficheros o bases de datos.

Entre otros, permite la prueba de programas Batch u On-line (CICS e IMS/DC) escritos en lenguaje COBOL, PL/I, ASM, APS, bases de datos DB2, DLI e IDMS, ficheros VSAM, QSAM, BDAM, BSAM.

Una ventaja fundamental de VIA/SMARTTEST es la uniformidad de la prueba sea cual sea el tipo de programa o entorno; la única diferencia consistirá en la forma de entrada o preparación de cada una de las pruebas, siendo el resto de componentes y funcionalidad del producto totalmente análoga.

Para entrar en el producto, desde el menú principal de E.S.W., seleccionar acción de TEST o bien letras T o ST.

Si está instalado unitariamente, desde la CLIST apropiada o desde la entrada en el menú de TSO.

Pantalla principal de VIA/SMARTTEST:

File View Test Search Logic List Options Help------------------------------------------------------------------------------

VIA/SmartTest R3.5 Command ===> _________________________________________________________________ VIA1676I TO DISPLAY INFORMATION REGARDING CUA FEATURES, PRESS ENTER.

************ *********** ******* ********* ****** ***** *** ***** * **** *** **** *** ******** ****** ****************** *** **** * ***** ************ ***** ***** ****************** *** **** ** *** *** *** **** **** *** *** *** **** *** *** *** ***** *** *** ********* *** *** **** **** *********** ******* *** *** ********* ***

3

Page 4: Smart Test

MANUAL DE UTILIZACIÓN DE VIA/SMARTTEST

*** *** **** ************* ***** **** **** *** *** ***** ******* ************* ***** ***** *** *** **** ****** ********* ****** *** *** (R)

Copyright VIASOFT Inc., an unpublished work. A proprietary product of VIASOFT Inc. Use restricted to authorized licensees.

DEFINICION DEL APPLICATION KNOWLEDGE REPOSITORY

Al igual que toda la plataforma E.S.W., VIA/SMARTTEST se apoya en una Base de Conocimiento especial denominada Application Knowledge Repository (en adelante A.K.R.).

Se trata de un fichero BDAM donde se almacenará toda la información necesaria para poder efectuar la prueba y depuración de los programas.

Su generación deberá efectuarse desde dentro de la herramienta, ya que presenta un paso muy importante de inicialización.

Para generarlo desde dentro de la herramienta, habrá que utilizar la opción 7 del menú de FILE:

-- 1. Setup test environment... 2. Select Test Coverage... 3. Open... 4. Close 5. Save 6. Compile/Analyze... 7. AKR utility... 8. Edit pseudo... 9. Execute... 10. Exit

Esta opción nos lleva al menú de utilidades de A.K.R., donde podremos consultar el contenido de un A.K.R., alocar, expandir un A.K.R. existente, borrar un miembro o renombrar un miembro del mismo. File - AKR Utility Command ===> ________________________________________________________ Blank - Display member list D - Delete member A - Allocate/expand AKR R - Rename member

4

Page 5: Smart Test

MANUAL DE UTILIZACIÓN DE VIA/SMARTTEST Application Knowledge Repository (AKR): Data set name . . 'USUARIO.VIASOFT.AKR' Member . . . . . ________________________________ (if "R" or "D" selected) New name . . . . ________________________________ (if "R" selected) Volume serial . . ______________________ (if not cataloged) Password . . . . (if password protected)

Si pulsamos INTRO, nos saca directamente la información sobre el contenido del A.K.R.:

File - AKR Directory Command ===> ____________________________________________ Scroll ===> CSR AKR: USUARIO.VIASOFT.AKR Row: 1 Total members: 2 Total entries: 2 D - Delete R – Rename Total records : 4008 Free space : 96.6% Name New name Alias of Type Date Time Jobname Space ------------ --------------- ---------- --------- --------- -------- ----------- ---------- _ VIAMERG4 __________ IN,STX 26JUN1998 09:47 ZDAJSBA 2.3% _ VIASUB4 __________ IN,STX 26JUN1998 09:46 ZDAJSBA 1.1% ******************************* BOTTOM OF DATA ****************************

En la misma, da información sobre los miembros que contiene, para qué producto se capturó el conocimiento, la fecha y hora del análisis, el nombre del Job que lo analizó y el porcentaje de espacio alocado del AKR que ocupa.

También informa sobre el espacio libre (en porcentaje) que le queda al A.K.R.; sin embargo, esta estimación se refiere al espacio que tiene en esos momentos asignado, y no toma en cuenta aquellas extensiones aún no utilizadas.

Si por el contrario elegimos alocar/expandir un A.K.R. (comando A), saltamos a otra pantalla:

5

Page 6: Smart Test

MANUAL DE UTILIZACIÓN DE VIA/SMARTTEST

File - AKR Allocate/Expand Command ===> ___________________________________________________________ S - Submit JCL E - Edit JCL C - Specify Catalog Expand existing AKR . . . NO (Yes or No) AKR data set name . . . . 'USUARIO.VIASOFT.AKR' Volume . . . . . . . . ______ Unit . . . . . . . . . SYSDA (Generic unit name) Space units . . . . . . RECORDS (Records, Tracks or Cylinders) Primary space . . . . . 4000 (Primary amount in above units) Secondary space . . . 0 (Secondary amount in above unit) Job statement information: //ZDAJSBB JOB (ACCOUNT),'NAME',CLASS=A,NOTIFY=ZDAJSB, // MSGCLASS=A //* INSERT '/*ROUTE PRINT NODE.USER' HERE IF NEEDED. //*

En la misma tendremos que indicar si quiero expandir un A.K.R. existente o alocar uno nuevo, el nombre del mismo, el VOLUME (si se quiere uno específico), UNIT, SPACE UNITS, PRIMARY y SECONDARY SPACE y una cabecera Job correcta; una vez indicados estos parámetros, se puede submitir el Jcl. En la terminación del Jcl habrá que verificar no solo el resultado del Jcl como tal sino también los mensajes propios de Viasoft que indican que el A.K.R. ha sido correctamente inicializado.

CAPTURA DEL CONOCIMIENTO DEL PROGRAMA

Un aspecto fundamental del proceso es el análisis del programa para el almacenamiento de la información necesaria en el A.K.R.

El proceso de análisis está incorporado a los procesos habituales de compilación de la instalación, y puede estar implementado de tres maneras diferentes:

a) Desde dentro de VIA/SMARTTEST, opción 6 del menú de FILE; nos lleva a la pantalla siguiente:

6

Page 7: Smart Test

MANUAL DE UTILIZACIÓN DE VIA/SMARTTEST

File – Analyze Submit Command ===> ________________________________________________________ E – Edit Jcl S - Submit Jcl D - SmartDoc Options Compile and link Jcl (PDS or Sequential): Data set name ‘USER.TEST.CNTL(COMPILA)’ Analyze features (y/n): Insight: N Smarttest: Y Extended Analysis: Y SmartDoc: N Renaissance: N

A.K.R. data set name ‘USER.TEST.AKR’ A.K.R. program name ___________ (if overriding PROGRAM_ID)

Analyze options: ___________________________________________________________________________________ ___________________________________________________________________________________ ___________________________________________________________________________________ Compile? (Y/N).............................................. N (Y if needed by features) Link Load module reusable? (Y/N) ............... ( Smarttest only)

En esta pantalla hay una serie de parámetros a especificar:

El Jcl de compilación con el que queramos compilar el programa.

Para qué producto o productos de E.S.W. queremos realizar el análisis: Insight, SmartTest, SmartDoc o Renaissance.

En principio, especificaremos Smarttest = Y, Extended Analysis = Y; de esta forma, podremos utilizar la funcionalidad de Insight dentro de Smarttest. En este caso, si se quiere utilizar directamente VIA/Insight no hace falta especificar la opción de Insight, ya es suficiente con la opción de Extended Analysis).

Nombre del A.K.R. donde queremos almacenar el resultado del análisis; también se puede especificar si se quiere que dentro del mismo tenga un nombre diferente al Program_Id del programa.

Opciones especiales del análisis.

7

Page 8: Smart Test

MANUAL DE UTILIZACIÓN DE VIA/SMARTTEST

Si queremos compilar o no el programa; Smarttest precisa siempre de linkedición, por lo que pongamos Y o N, siempre compilaremos, por lo que se recomienda poner a NO, a no ser que se quiera Compilar/Linkeditar por otras razones ajenas al uso de ESW.

Linkedición de los módulos como reusables. Se trata de una opción de Override sobre la que tenga el paso de Linkedición si esta es NOREUS. La recomendación es siempre NO.

Una vez rellenados dichos parámetros, con S podemos submitir directamente el Jcl, o mediante E, editarlo y submitirlo desde dentro con SUB normal.

b) Si existen, desde los paneles de compilación de la instalación; en dicho caso, se habrán modificado para incluir si quiero analizar o no para Smarttest, y aparecerá una pantalla totalmente análoga a la anterior pero donde ya no se solicita Jcl de compilación.

c) Desde dentro de un Jcl normal de compilación; en lugar de usar SUB, utilizar VIASUB, que sacará la misma pantalla que en el caso anterior.Esta opción precisa que la librería de CLIST del producto esté alocado en SYSPROC del procedimiento de Logon del usuario.

Sea cual sea el método elegido, una vez submitido, habrá que verificar el resultado de la compilación y comprobar que se ha almacenado la información en el A.K.R.

SELECCIÓN DEL ENTORNO DE EJECUCIÓN

Como se comentó anteriormente, una funcionalidad muy importante de VIA/SMARTTEST es la unicidad de la prueba sea cual sea el entorno o programa; sin embargo, esto implica un proceso de decisión para ver COMO se quiere probar cada tipo de programa.

Todos los tipos de prueba se dirigen desde la misma pantalla, a la que se puede llegar directamente desde la pantalla principal de VIA/SMARTTEST tecleando ENV, o mediante paneles con la opción 1 del menú de FILE, y opción 2 del siguiente menú.

De esta manera, se llega a la pantalla siguiente: Environment Selection Command ===> ________________________________________________________

A – Specify additional AKRs L - Specify additional LOADLIBS P – Specify PROCLIBs D - Display AKR Directory

8

Page 9: Smart Test

MANUAL DE UTILIZACIÓN DE VIA/SMARTTEST Environment selection: Current environment is ISPF

Online: 1 - TSO 5 - IMS/DB Batch Connect: 9 - MVS Batch 2 - CICS 6 - BTS 10 - IMS Batch 3 - ISPF Dialog 7 - DB2 11 - BTS Batch 4 - IMS/DC 8 - DB2 Procedure 12 - DB2 Batch Application Knowledge Repositories (AKR): 1 Specified 'ZDA.ZDAJSB.FTESAKR' ______________________________________________ Application Load Libraries: 1 Specified 'ZDA.ZDAJSB.LOAD' ______________________________________________ ______________________________________________

En la misma, los tipos de prueba están agrupados en dos grandes grupos, según se trate de pruebas a realizar en entonos on-line o de pruebas a realizar de forma batch pura:

Conexiones On-line:

1 - TSO Jcl batch con programa que no accede a Bases de Datos convertido en una Clist.

2 - CICS Monitor de teleproceso CICS.

3 - ISPF Dialog Programas ejecutados bajo diálogo ISPF (pantallas,clists, programas).

4 - IMS/DC Monitor de teleproceso IMS.

5 - IMS/DB Jcl con programa que accede a Bases de Datos de IMS (DL/I).

6 - BTS Simulador batch de programas on-line IMS.

7 - DB2 Jcl con programa que accede a Bases de Datos DB2 convertido a Clist.

8 - DB2 Procedimientos almacenados de DB2. (DB2 4.1 o superior).

Conexiones Batch:

9

Page 10: Smart Test

MANUAL DE UTILIZACIÓN DE VIA/SMARTTEST 9 - MVS BATCH Jcl batch puro con programa que no accede a Bases de Datos.

10 - IMS BATCH Jcl batch puro con programas que acceden a Bases de Datos DL/I.

11 - BTS BATCH Análogo para simuladores de IMS/DC.

12 - DB2 BATCH Jcl con programas que acceden a DB2.

Además del entorno, habrá otra serie de información a suministrar:

El o los A.K.R. donde se encuentran los programas a monitorizar; en caso de necesitar introducir más de tres, con A en la línea de comandos, obtengo otra pantalla para poder rellenar.

La o las librerías Load donde se encuentran los programas a ejecutar; al igual que antes, con L en la línea de comandos, obtengo otra pantalla de inserción.Dichas librerías Load son las indicadas en el JCL de ejecución (SYSTSIN, STEPLIB y/o JOBLIB) y en el mismo orden de concatenación para los entornos 1,5,7.Para los entornos 3 y 4, suele ser suficiente con la librería Load que contiene los cargables a ejecutar.Para los entornos 2,9,10,11 y 12 NO es necesario indicar ninguna Load Library.

Con P, puede especificar librerías de procedimientos, y con D mostrar el contenido de los A.K.R.

Una vez rellenada esta información, ya se puede pasar a especificar el entorno de nuestra prueba; cada uno de ellos a su vez necesitará cierta información añadida.

Una opción muy interesante es la posibilidad de salvar los distintos entornos en los que se van efectuando pruebas, con lo que toda esta información suministrada, se guarda y no es necesario su reintroducción.

Para ello, LIST PROFILES, u opción LIST PROFILES del menú de LIST, nos lleva a la siguiente pantalla:

Profile Data Set Member List Command ===> _____________________________________________________________ The current environment is: ISPF Profile dataset name : 'SPF.PROF.ZDAJSB' COPY TO dataset name : ______________________________________________ S – Select member to restore W - Write current environment to member

10

Page 11: Smart Test

MANUAL DE UTILIZACIÓN DE VIA/SMARTTEST C – Copy selected member R - Replace member (Pending status) D – Delete member * denotes TCA Profile Profile Environ User profile description (optional) - -------- --------- --------------------------------------------------- _ VIAPST01 TSO pruebas del curso _ VIAPST02 TSO pruebas _ VIAPST03 AVAILABLE ___________________________________________________ _ VIAPST04 AVAILABLE ___________________________________________________ _ VIAPST05 AVAILABLE ___________________________________________________ _ VIAPST06 AVAILABLE ___________________________________________________ _ VIAPST07 AVAILABLE ___________________________________________________ _ VIAPST08 AVAILABLE ___________________________________________________ _ VIAPST09 AVAILABLE ___________________________________________________ _ VIAPST10 AVAILABLE ___________________________________________________ _ VIAPST11 AVAILABLE ___________________________________________________ _ VIAPST12 AVAILABLE ___________________________________________________ _ VIAPST13 AVAILABLE ___________________________________________________

Aquí, mediante W a la izquierda del primer profile libre, se salva el mismo; por el contrario, con S se recupera cualquiera de los entornos previamente guardado.

CONEXIONES ON-LINE

Se trata de aquellas pruebas en monitores de teleproceso propiamente dichos, o aquellas que originariamente eran programas batch, y a los cuales, tras un proceso extremadamente sencillo, se les ha convertido en una CLIST, para ejecutar en región CICS (on-line por naturaleza).

Entre otras cosas, esto permite el ejecutar programas batch de forma completamente on-line, con lo que se evita colapsar los iniciadores del SPOOL y parar al resto de usuarios de la instalación (por tener más tiempo ocupados los iniciadores para jobs batch).

ENTORNO TSO

11

Page 12: Smart Test

MANUAL DE UTILIZACIÓN DE VIA/SMARTTEST

Se trata de un Jcl que ejecuta un programa batch el cual no accede a bases de datos, sino únicamente a ficheros.

Para la conversión del Jcl a Clist, únicamente habrá que suministrar la siguiente información:

TSO Session Setup Command ===> ___________________________________________________________ R - Begin TSO test session (RUN) C - Convert batch JCL to TSO CLIST Execution: Options: Load module VIAMERG4 Break on entry (Y/N) YES Break CSECT/pgm id ________ Execution parameters: (quotes are optional) __________________________________________________ __________________________________________________

File allocation CLIST: Data set name 'USUARIO.LIBRERÍA.CLIST' Member . . . VIACLIST Deallocate after test NO

Load Module indicado en el JCL que se quiere ejecutar o que llama al que queremos monitorizar.

Break on Entry: Si se quiere que se pare la ejecución al comienzo del programa.

Break CSECT: Si el programa tiene CSECT linkeditados estáticamente y se quiere parar al comienzo de alguna de ellas.

Execution Parameters: Parámetros opcionales propios del programa. La propia conversión del JCL en Clist rellena esta información.

Fichero y miembro donde se va a alocar la Clist en que se va a convertir el Jcl.

12

Page 13: Smart Test

MANUAL DE UTILIZACIÓN DE VIA/SMARTTEST Deallocate after test: Al estar ejecutando una Clist, es necesario alocar los ficheros que utiliza el programa; si se pone a YES, cada vez que se ejecute el programa se alocaran y al terminar se desalocaran, por lo que es conveniente dejarlo a NO (y se desalocarán al salir de VIA/SMARTTEST o con la opción D de DEALLOCATE).

A continuación se debe especificar la opción C para convertir en Clist, que nos lleva a la siguiente pantalla:

Convert Batch JCL Command ===> ___________________________________________________________ C - Convert batch JCL into CLIST A - Execute CLIST for allocate E - Edit file allocation CLIST D - Execute CLIST for deallocate P - Specify procedure libraries J - Edit batch JCL Batch Execution JCL: Data set name 'DE00.ZDAJSB.JCL' Member . . . VIAMEJC4 File allocation CLIST: Data set name 'USUARIO.LIBRERÍA.CLIST' Member . . . VIACLIST (Blank defaults to JCL member) Options: Delete (Y/N) YES (Delete before create 'DISP=NEW' datasets) Step (Y/N) YES (Only convert step with program to be tested) Subsystem . . ____ (Source Library Manager subsystem name) Step Name . . ________ (Unique step name in JOB to convert)

Aquí habrá que especificar la librería y el miembro que contiene el Jcl a convertir, si se quiere que los ficheros con DISP=NEW se borren al comienzo de la prueba, si se quiere convertir un único paso o más, y si el Jcl radica en un Gestor de Fuentes o Jcl, de cual susbsistema de acceso se trata.

Una vez especificado, con la opción C se convierte en Clist, y con PF3 se vuelve a la pantalla anterior, desde la que ya se puede comenzar la prueba.

13

Page 14: Smart Test

MANUAL DE UTILIZACIÓN DE VIA/SMARTTEST ENTORNO CICS

Para probar programas bajo entorno CICS, no es necesario salir de TSO y entrar en CICS, ya que la conexión se realiza directamente desde TSO.

La conexión se realiza mediante la Opción 2 de la pantalla de ENVIRONMENT, que nos lleva a la siguiente pantalla:

CICS Session Setup Command ===> _________________________________________________________________ Enter PF1 for Setup/Usage instructions C – Connect to CICS 1 - Specify limits on CICS resources D – Disconnect from CICS 2 - Specify modules/tasks to be monitored T – Toggle back to CICS 3 - Turn on monitoring in related regions 4 - Request Break on Entry to programs 5 - Set up Remote (RMF) test (LU6, DPL, Asynch) Program (PPT) to test . . PPBE0050 Break at Start (Y/N) . . YES (Break on first monitored program.) CICS Logon Region APPLID CICS7 Toggle PFKEY . . . . . . PF12 (PF1-PF24,"NONE")

Desde esta pantalla se efectuará la conexión al CICS, pero se necesita cierta información:

El CICS Logon APPLID (o su alias) es decir, a qué CICS se quiere conectar.

Toggle PFKEY Será una tecla de función que servirá para cambio de sesión entre TSO y CICS.

Con C se efectúa la conexión al CICS que queramos; una vez llegado a este, recibiremos la pantalla de Bienvenida y de Logon (si es la operativa habitual de la instalación), y tras pasarlas, (si hace falta), recibiremos un mensaje de

VIA/SMARTTEST CICS IS ACTIVE

14

Page 15: Smart Test

MANUAL DE UTILIZACIÓN DE VIA/SMARTTEST En este momento, ya se puede comenzar a preparar la prueba; mediante la tecla definida como Toggle volveremos a TSO, y desde este al Cics con T.

Antes de comenzar a preparar la prueba, es necesario realizar dos advertencias:

- Realizar la Newcopy de los productos desde dentro de VIA/SMARTTEST; para ello, menú de Test, o comando NEWCOPY NOMBRE-PGM.

- Desconectarse ordenadamente.

 Preparación del Test

Una vez conectado, se puede preparar el test; para ello, habrá que volver desde CICS a TSO y rellenar las opciones de la derecha de la pantalla de setup:

1 - SPECIFY LIMITS ON CICS RESOURCES

VIA/SMARTTEST tiene una serie de límites por defecto; si alguno de ellos se queda pequeño, se da un mensaje de advertencia indicando qué límite hay que ampliar.

2 – SPECIFY MODULES/TASKS TO BE MONITORED

Dentro de esta opción, los submenús 1 y 2 indican si se quiere interceptar a nivel transacción (con lo cual se interceptará cualquier programa de la misma) o a nivel programa individual.

La opción 3 indica si se quiere elegir destinos alternativos para ficheros, colas TD o TS, o programas.

La opción 4 es de monitorización a nivel global; mediante ella, se interceptará CUALQUIER programa de cualquier usuario conectado a VIA/SMARTTEST, por lo que no es recomendable ni necesaria su utilización.

3 - TURN ON MONITORING IN RELATED REGIONS Cada vez es más común la existencia de CICS M.R.O.; para poder testear programas en dicho entorno es necesario la utilización de esta opción.

Dado que la conexión inicial se hace al TOR, y los programas se ejecutan en los AOR, una vez conectado, habrá que entrar en esta opción, donde aparecen todas las regiones conectadas con la elegida; habrá que poner MONITOR=YES en la región donde se vaya a ejecutar el programa, y actualizar el valor CURRENT SYSID a dicha región, si se quiere hacer NEWCOPY del programa o uso de las opciones de LIST FILE (FILE SERVICES).

15

Page 16: Smart Test

MANUAL DE UTILIZACIÓN DE VIA/SMARTTEST 4 – REQUEST BREAK ON ENTRY TO PROGRAMS

Existen una serie de opciones que se pueden customizar para cada programa o grupo de programas (admite máscaras); se trata de las opciones siguientes:

Test Session Tailoring VIAMERG4.VIAMERG4Command ===> ________________________________________________ Scroll ===> CSR Monitor Track Count Break Break Break Pseudo Single Module.Program id Act Act Act Act Entry Rtn Act Step ------------------------ ---------- -------- -------- --------- -------- -------- --------- ----------- ************************************* TOP OF DATA ********************************* '''' VIAMERG4.VIAMERG4 YES NO YES NO NO YES YES 5 – SET UP REMOTE (RMF) TEST (LU6.1, DPL, ASYNCH)

VIA/SMARTTEST presenta la posibilidad de efectuar test remoto, tanto en terminales 3270 normales, como conexiones de cliente/servidor o transacciones asíncronas. El proceso a seguir se describe en el apartado siguiente; sin embargo, es necesario describir las diferentes formas de interceptar un programa: CICS USERID: Es la más indicada, ya que garantiza la unicidad del programa/usuario a interceptar. Dicho parámetro coincide con las 4 últimas posiciones no blancos del USERID que envía el gateway del cliente.

CONNECTION: Se trata del nombre del componente de donde procede la TX a interceptar; Se interceptará cualquier programa procedente de dicha conexión PERO sujeto a las restricciones de parada de las opciones anteriores.

OTHER 3270 TERMINAL: Es el test remoto clásico; permite parar cualquier TX arrancada en el mismo CICS pero desde otro terminal diferente al nuestro.

LU6.2/IRC: Parará cualquier TX que venga desde esa LU, PERO ATENCION que dicho valor variará entre diferentes ejecuciones. (Facility del CICS: -9XX/-Axx).

ASYNCH TRANSACTION: Transacciones arrancadas desde la nuestra mediante un EXEC CICS START TRANSID. (sin TERMID asociado).

NOTA GENERAL: Cuándo se queiran interceptar programas llamados via CALL (en lugar de LINK, XCTL...), hay que especificar también el programa que efectúa la llamada. Sin embargo, poniendo el parámetro BREAK AT

16

Page 17: Smart Test

MANUAL DE UTILIZACIÓN DE VIA/SMARTTEST START=NO, y en 4 (LI TA) el llamado con CALL, únicamente se parará en el programa deseado.

TEST REMOTOS EN CICS

Cada día es más común la utilización de arquitecturas basadas en tecnologías Cliente/Servidor. VIA/SMARTTEST permite el monitorizar ese tipo de programas sin ningún problema.

Para ello, el proceso es el siguiente:

- Conectarse al CICS.

- Volver a TSO.

- En la pantalla 2 del Setup, indicar el/los programas a monitorizar.

- En opción 3, verificar que el valor CURRENT SYSID se correponde con el del CICS donde se vaya a ejecutar en realidad la prueba (esto es muy importante en entornos MRO).

- En opción 4, verificar las opciones específicas de parada del programa(s).

- En opción 5 (RMF) indicar por cual de las opciones se va a interceptar al programa; usuario, conexión, LU.. (apartado anterior).

- Volver (mediante T, Toggle) a la pantalla de CICS nativo (limpia).- Ejecutar desde el cliente; cuando se llegue a él, el programa se parará.

MUY IMPORTANTE: Una vez finalizado un test remoto, LIMPIAR SIEMPRE la pantalla de la opción 5 (RMF), ya que en sucesivas pruebas en entorno CICS normal podría dar problemas al asignar ese terminal virtual de VIA/SMARTTEST a otro usuario.

ENTORNO DB2

Se trata de la prueba de programas batch que acceden a bases de datos DB2.La conversión del Jcl a Clist es muy similar al caso de TSO, con la salvedad de tener que suministrar nuevos parámetros como el plan o el subsistema:

DB2 Session Setup Command ===> R - DB2 test session (RUN) C - Convert batch JCL to CLIST

17

Page 18: Smart Test

MANUAL DE UTILIZACIÓN DE VIA/SMARTTEST Execution: Options: Load module PPBE0050 Break on entry (Y/N) YES DB2 Plan name PPBE0050D Break CSECT/pgm id ________ DB2 Subsystem DB1D Execution parameters: (quotes are optional) __________________________________________________

__________________________________________________ File allocation CLIST: Data set name 'USUARIO.VIASOFT.CLIST' Member . . . . VIACLIST Deallocate after test NO

1.1.1 ENTORNO IMS

Para poder interceptar programas en el monitor de teleproceso IMS, habrá que rellenar la pantalla de la página siguiente:

IMS/DC Session Setup Command ===> _________________________________________________________________ C – Connect to IMS (RUN) E – 3270 Terminal emulation D – Disconnect from IMS N – Native IMS terminal T – Select Transactions A - GSAM/User file allocation Options: Break on entry (Y/N) YES Break CSECT/pgm id ________ Current Test Session Status SESSION IS NOT ACTIVE Current Setup Options:

18

Page 19: Smart Test

MANUAL DE UTILIZACIÓN DE VIA/SMARTTEST TEST SESSION WILL USE PRIVATE DATABASES TEST SESSION WILL USE 3270 EMULATION FOR LTERM ACTIVITY TEST SESSION WILL NOT CONNECT TO AN ONLINE IMS REGION

C Inicia la sesión IMS/DC; es análoga a teclear el comando RUN.

D Finaliza la sesión IMS/DC.

T Salta a otra pantalla para especificar, revisar y/o modificar la lista de Transacciones.

E Muestra la pantalla de emulaciones para elegir el terminal 3270 apropiado.

A Para alocar la Clist y el miembro.

CONEXIONES BATCH

La prueba de los programas batch puede ser realizada también de forma totalmente batch pura; sin embargo, presenta el claro inconveniente de coger cada prueba en exclusiva un iniciador de una clase del spool, por lo que se puede llegar a colapsar al resto de usuarios que utilicen dicha clase.

La operativa es muy similar a la seguida en el caso de conversión en Clist; la diferencia radica en que en lugar de convertir el Jcl en Clist, (se genera un Jcl paralelo); este debe ser submitido, y cuando coja un iniciador, enviará un mensaje de vuelta al usuario indicando que en cualquier momento puede “conectarse” al Jcl submitido para comenzar la prueba.

EJECUCIÓN

Una vez elegido y preparado el entorno, se puede comenzar la prueba; si se eligió parar al comienzo del programa, aparecerá la siguiente pantalla; en caso contrario, a menos que haya abend o breakpoint, no se verá el mismo.

File View Test Search Logic List Options Help --------------------------------------------------------------------------------- Program View PPBE050.PPBE050 -ACommand ===> ________________________________________________

19

Page 20: Smart Test

MANUAL DE UTILIZACIÓN DE VIA/SMARTTEST Scroll ===> CSR 000777 >>>>>> PROCEDURE DIVISION USING LS-PARAM. 000779 **************************************** 000780 000781 INICIO. 000782 *======= 000783 000784 PERFORM PRINCIPIO-PROGRAMA 000785 000786 IF DATOS-CORRECTOS 000787 PERFORM PROCESO 000788 END-IF 000789 000790 PERFORM FIN-PROGRAMA +----------------------------------------------------------------------------------------------------------------------------------+|STATUS: BREAK AT START OF TEST SESSION PROGRAM: PPBE050 DATE: 01JUL1998 || STMT: 000778 OFF: 001E34 AMODE: 31 MODULE: PPBE050 TIME: 08:17:55 ||SOURCE: PROCEDURE DIVISION USING LS-PARAM. |+----------------------------------------------------------------------------------------------------------------------------------+

En la misma aparece información interesante:

Arriba a la derecha aparece un mensaje que nos indica el nombre del load module seguido del nombre del Program_id o CSECT en el AKR, y un mensaje que indica si la sesión está activa o no.

El CHEVRON (>>>>>) que indica la siguiente instrucción/sentencia a ejecutar.

Abajo, aparece la caja de status que muestra:

- La sentencia a ejecutar. (STMT)- El estado de la sesión del test. (STATUS)- El Offset relativo.- El Módulo/Programas activos.- La fecha/hora.- El ADDRESS MODE (amode).

A partir de ahora, ya se puede comenzar a ejecutar el programa según cual sea el objetivo de la prueba.

20

Page 21: Smart Test

MANUAL DE UTILIZACIÓN DE VIA/SMARTTEST AVANCE Y PARADA

Una de las funciones más importantes a la hora de ejecutar y controlar una prueba, es como avanzar en la misma, como controlar las posibles paradas y como cancelar la misma. - PA1/ATTENTION: Para suspender la prueba en región TSO (1,3,4,5,6,7,8), si el programa entra en un bucle o estamos leyendo un fichero o base de datos excesivamente grande, se puede recuperar el control de la ejecución pulsando dicha PF.

- PF3/CAN: Si en cualquier momento se quiere parar el test, con PF3 o CAN, se termina la misma.

Para avanzar:

- PF4: Tecla programada al comando RUN; se ejecutará hasta fin del programa, o hasta que se produzca un abend o se encuentre un punto de parada.

- RUN TO n (donde n es número de línea): Ejecuta hasta el número de línea indicado.(siempre que no se encuentre el fin del programa, abend o punto de parada). Sin especificar n, ejecuta hasta la sentencia donde se encuentra el cursor.

Existen también una serie de comandos de ejecución poco a poco:

- PF6: Tecla programada al comando STEP: Ejecución sentencia a sentencia.

- STEP n: Ejecución de n sentencias.

- STEP OVER: Posicionado sobre una sentencia (cualquiera que sea), la ejecuta yse posiciona justo en la siguiente a ejecutar; muy interesante ante performs y calls que se quiera ejecutar y no monitorizar.

- STEP PARA: Dentro de un párrafo ejecuta hasta el comienzo del siguiente párrafo, y se para en éste.

- GO TO número de línea: Salta hasta la línea indicada pero SIN EJECUTAR las líneas intermedias, por lo que deberá utilizarse con extremo cuidado.

- LOCATE *: Desde cualquier sitio del fuente, lleva directamente hasta la posición donde se encuentren los chevrons.

21

Page 22: Smart Test

MANUAL DE UTILIZACIÓN DE VIA/SMARTTEST

Tan importante como avanzar en la ejecución como se requiera, es el poder parar la misma según se desee.

Para ello existen diversas opciones:

- BREAKPOINTS: Puntos de parada; se pueden colocar manualmente insertando BR en la línea de números de la izquierda, o bien de forma global mediante el menú de Test; este permite introducirlos delante o detrás de alguna variable, sólo ante sus modificaciones, sus usos, ante cualquier subsets,...

Para eliminarlos, con una D en la línea de números de la izquierda; si se quieren eliminar todos, RES BREAK los quita.

Sin embargo, dado que el colocar estos puntos de parada es un trabajo que puede llegar a ser difícil, existe la posibilidad de inactivar lógicamente a los mismos, sin necesidad de eliminarlos; para ello, existe la opción LIST BREAKPOINTS del menú de LIST:

BreakPoints List VIAMERG4.VIAMERG4 -A Command ===> ________________________________________________ Scroll ===> CSR Set pseudo . . ON Pseudo active: 3 Inactive: 0 Set breaks . . ON Breaks active: 2 Inactive: 0 Set whens . . . ON Whens active: 0 Inactive: 0 S Line Pseudo code A Count - ------ ------------------------------------------------------------------------------ ---- --------- _ 000213 3300-READ-INFILE3-X. _ '''''1 BREAK. Y 000000_ 000214 MOVE SPACES TO OUTFILE-WORK-AREA, ------- ------------------------------------------------------------------------------ ---- --------_ 000218 + INFILE3-EOF. _ '''''1 BREAK. Y 000000_ 000219 IF READ-3-FILES ------- ----------------------------------------------------------------------------- ---- -------- _ 000432 MOVE ZERO TO READ-INFILE1-SWITCH. _ '''''1 MOVE 04 TO END-FILE-COUNT

22

Page 23: Smart Test

MANUAL DE UTILIZACIÓN DE VIA/SMARTTEST Y 000000+----------------------------------------------------------------------------------------------------------------------------------+|STATUS: BREAK AT START OF TEST SESSION PROGRAM: VIAMERG4 DATE: 01JUL1998 || STMT: 000000 OFF: 000000 AMODE: 31 MODULE: VIAMERG4 TIME: 14:35:45 ||SOURCE: *EXTERNAL CODE* |+----------------------------------------------------------------------------------------------------------------------------------+

Además, es posible el inactivarlos todos a la vez o individualmente uno a uno, y volverlos a activar cuándo se desee.

- ADDRESS STOP: Sin embargo, en muchas ocasiones, lo que de verdad interesa a la hora de depurar un programa no es una línea en cuestión, sino una posición de memoria en particular (sobre todo a la hora de depurar abends).

Para ello se pueden introducir puntos de parada ante modificaciones de posiciones físicas de memoria; dado que la posición como tal pocas veces será conocida, es posible el utilizar una variable como forma de referenciar a la posición física.Para ello, STOP NOMBRE-VARIABLE provocará que la ejecución se pare ante cualquier modificación que sufra la posición física de memoria que contiene a dicha variable.

Al igual que antes, es posible el eliminar dicha forma de parada tanto física como lógicamente; en ambos casos, se hará a través de la opción ADDRESS STOP del menú de LIST.

Es importante resaltar que dicha opción solo es utilizable cuando ha comenzado la ejecución, ya que previamente no se han asignado las posiciones físicas, y que cuando termina la ejecución, se pierden, ya que la siguiente vez que se ejecute el programa, las posiciones físicas asignadas serán otras.

OPCIONES DE VISUALIZACION

No solo es importante el controlar la ejecución de la prueba; también es fundamental el poder monitorizar y/o modificar en su caso el contenido de las variables.

Para ello existen una serie de opciones diferenciadas, según cual sea el objetivo a conseguir:

23

Page 24: Smart Test

MANUAL DE UTILIZACIÓN DE VIA/SMARTTEST - ZOOM: Mediante esta opción, se abrirá una caja en la pantalla que mostrará el valor de la/las variables existentes en dicha fila de la pantalla, permitiendo su modificación.

Presenta una serie de variaciones:

ZD Muestra la variable y su definición.

ZH Variable en hexadecimal.

ZG Variable y su grupo.

ZGH Grupo en hexadecimal.

Para la eliminación de la ventana, ZO elimina una, RES ZOOM las elimina todas.

En el caso de existir muchas variables en una línea, o si se pide el grupo y tiene muchas variables hijas, pueden llegar a desaparecer de la pantalla las líneas de código; para manipular el número máximo de líneas por ventana de ZOOM, se puede utilizar el parámetro DATA de la opción de MODES en el menú de OPTIONS (comando SET) dentro de la ventana de ZOOM se podrá avanzar con PF7/PF8.

Una particularidad de las ventanas de ZOOM es que permanecen en el lugar del fuente donde se colocaron, con lo que al avanzar en la prueba se dejan de visualizar.

Para ello, existe una variación del mismo:

- KEEP: Comando totalmente análogo al anterior, pero con la diferencia que la caja abierta se mantiene justo debajo de la línea de comandos.

Permite las variaciones K, KH, KG y KGH.

Para eliminarlas, D elimina una y RES K las elimina todas.

Para controlar el número de líneas por caja, existe el parámetro KEEP en MODES del menú de OPTIONS.

Sin embargo, en muchas ocasiones, no es tan importante el ver y/o modificar el valor de las variables, sino tan solo ver o modificar; para ello existen otra serie de opciones:

- DISPLAY nombre variable: Muestra el contenido inmediato de la variable, pero no se permite su modificación.

- SET OPERANDS ON: Muestra en todo momento el valor de las variables implicadas en la siguiente instrucción a ejecutar.

24

Page 25: Smart Test

MANUAL DE UTILIZACIÓN DE VIA/SMARTTEST Las dos opciones anteriores muestran el contenido como el verbo DISPLAY de COBOL.

Si lo que se desea únicamente es modificar el contenido de ciertas variables, existen una serie de comandos que se pueden introducir directamente en la línea de comandos para ello:

- MOVE valor TO nombre variable: Se mueve el valor especificado a la variable indicada.

- ADD valor TO variable: Añade el valor a la variable.

- SUBSTRACT valor FROM variable: Resta un valor a la variable.

PSEUDOCODIFICACIÓN

Una funcionalidad importante de VIA/SMARTTEST es la posibilidad de introducir CÓDIGO en medio de la realización de una prueba. Además, presenta un autoverificador de la sintaxis del código introducido, y si se introduce justo antes del chevron, la ejecución se retoma desde el código introducido, no continua con la línea siguiente.

Con esto se gana una gran cantidad de tiempo, ya que se evita el tener que volver al fuente, escribir el código, compilar, preparar datos de entrada...

Además, si se decide que el código introducido es el correcto, existe la posibilidad de trasladarlo de forma automatizada a VIA/SMARTEDIT.

Presenta los tres tipos de programación existentes; Iterativa, Repetitiva y Secuencial.

Para introducir el código, con una I en la línea de números de la izquierda, se abren líneas en blanco para poder teclear el código deseado.

Sentencias iterativas: MOVE, ADD, SUBSTRACT.

Sentencias condicionales: IF/ELSE/NEXT SENTENCE.

Sentencias repetitivas: GO TO / Etiquetas de párrafos.

Variables: Niveles 77.

Existen dos sentencias especiales muy interesantes:

&COUNT: Introducida en una línea, cuenta cuantas veces se ha pasado por la misma; es análogo a definir un contador, incrementarlo...

25

Page 26: Smart Test

MANUAL DE UTILIZACIÓN DE VIA/SMARTTEST Permite el interrogar por el contenido de dicho campo, parar cuando tenga un determinado valor...

&WHEN: Permite el introducir condiciones para parar la ejecución en cualquier momento.

Al igual que con los BREAKPOINTS, existe la posibilidad de eliminar el código físicamente (D a la izquierda, o RES PSEUDO para todos) o inactivarlo lógicamente; para ello, opción LIST PSEUDO del menú de LIST.

Además, en la pantalla presenta un contador con el número de veces que ha pasado la ejecución por dicha línea.

Pseudo Code List VIAMERG4.VIAMERG4 -A Command ===> ________________________________________________ Scroll ===> CSR Set pseudo . . ON Pseudo active: 3 Inactive: 0 Set breaks . . ON Breaks active: 2 Inactive: 0 Set whens . . . ON Whens active: 0 Inactive: 0 S Line Pseudo code A Count - ------ ------------------------------------------------------------------------------ ---- --------- _ 000213 3300-READ-INFILE3-X. _ '''''1 MOVE 0 TO CONTADOR Y 000000_ 000214 MOVE SPACES TO OUTFILE-WORK-AREA, ------- ------------------------------------------------------------------------------ ---- --------_ 000218 + INFILE3-EOF. _ '''''1 BREAK. Y 000000_ 000219 IF READ-3-FILES ------- ----------------------------------------------------------------------------- ---- -------- _ 000432 MOVE ZERO TO READ-INFILE1-SWITCH. _ '''''1 MOVE 04 TO END-FILE-COUNT Y 000000+----------------------------------------------------------------------------------------------------------------------------------+|STATUS: BREAK AT START OF TEST SESSION PROGRAM: VIAMERG4

26

Page 27: Smart Test

MANUAL DE UTILIZACIÓN DE VIA/SMARTTEST DATE: 01JUL1998 || STMT: 000000 OFF: 000000 AMODE: 31 MODULE: VIAMERG4 TIME: 14:35:45 ||SOURCE: *EXTERNAL CODE* |+----------------------------------------------------------------------------------------------------------------------------------+

Si se decide trasladar el código al editor, es preciso salvarlo en primer lugar en el AKR; para ello, opción SAVE del menú de FILE, y posteriormente, mediante la opción EDIT PSEUDO del mismo menú de FILE, se salta directamente al editor. Una vez en el fuente, en el mismo aparece un mensaje:

File View Test Search List Options Help --------------------------------------------------------------------------------- Command ===> ________________________________________________ Scroll ===> CSR USE “UPDATE ALL” COMMAND TO APPLY CHANGES 000777 000778 PROCEDURE DIVISION USING LS-PARAM. 000779 **************************************** 000780 000781 INICIO. 000782 *======= 000783 000784 PERFORM PRINCIPIO-PROGRAMA 000785 000786 IF DATOS-CORRECTOS 000787 PERFORM PROCESO 000788 END-IF 000789 000790 PERFORM FIN-PROGRAMA. 000791* 000792 PRINCIPIO-PROGRAMA. 000793 000794 OPEN INPUT FENTRADA.+----------------------------------------------------------------------------------------------------------------------------------+ Tecleando UPDATE, pedirá el nombre del AKR y del programa desde el cual debe importar el código introducido.

Si se borra el mensaje, la opción UPDATE del menú de FILE en VIA/SMARTEDIT produce el mismo efecto.

También se traspasan los Breakpoints, pero asteriscados; esto nos permitirá, una vez reanalizado y recompilado el programa, volver a testearlo y agregarle

27

Page 28: Smart Test

MANUAL DE UTILIZACIÓN DE VIA/SMARTTEST Breakpoints de forma automática (mediante PATTERN=BREAK) en los mismos sitios.

TRACKING / BACKTRACKING

Existen una serie de TRACKS de ejecución tanto hacia delante como hacia atrás que permiten comprender como se ha ejecutado REALMENTE el programa.

- TRACK: Es posible activar un TRACK de ejecución de manera que en pantalla solo aparezcan aquellas sentencias que realmente se están ejecutando.

Para ello, en la opción LIST TAILOR del menú de LIST, será preciso activar el switch TRACK=YES para el programa en cuestión. (aunque es el defecto si no hay ninguna entrada en LI TA).

Una vez activado, en la opción EXECUTION TRACKING del menú LIST se visualizará la ejecución línea a línea, párrafo a párrafo...

Es muy interesante la utilización combinada de la utilidad de SET OPERANDS ON para ir viendo el contenido de las variables según avanza la ejecución.

- BACKTRACK HISTORY: Permite el realizar una traza de ejecución a la inversa, es decir, ir retrocediendo desde un punto de la ejecución hacia el comienzo del programa.

También es posible el ver todos los valores que ha tenido alguna variable hasta el momento actual.

Para llevar a cabo esto, VIA/SMARTTEST debe ir “grabando” todo lo que está ocurriendo en la ejecución.

El proceso a seguir es el siguiente: - Activación del SWITCH de BACKTRACK a ON en la opción MODES del menú de OPTIONS.

- Ejecución hasta donde se desee.

Ahora, si se desea ir retrocediendo en la ejecución, STEP BACK va deshaciendo la misma; en cualquier momento se puede ver el contenido que tenía alguna variable en ese momento.

Si por el contrario se quiere ver la evolución que ha sufrido el valor de una variable, opción BACKTRACK HISTORY del menú de LIST.

28

Page 29: Smart Test

MANUAL DE UTILIZACIÓN DE VIA/SMARTTEST Es importante resaltar que en realidad no se está re-ejecutando el programa; simplemente se fue grabando en cada paso todo lo que se llevó a cabo.

Por tanto, esto implica un mayor coste en la ejecución, y cada vez que se termina un test de este tipo, se desactiva automáticamente el switch de grabación.

CONTADORES DE EJECUCIÓN

Otra función muy importante de VIA/SMARTTEST es la posibilidad de verificar el alcance de la cobertura de la prueba.

Esto permitirá el identificar aquellas sentencias que se han ejecutado y cuantas veces, las que no lo han sido...

También es muy útil a la hora de depurar bucles, ya que en un vistazo se puede comprobar cual es la sentencia o párrafo que lo está provocando.

Al igual que la opción anterior, es preciso activar el switch COUNTS de la opción de LIST TAILOR en el menú de LIST para el programa en cuestión; a continuación se ejecuta el programa hasta su finalización o hasta donde se desee.

Para comprobar los contadores, opción LIST COUNTS del menú de LIST

Execution Counts SORTED DESCENDING

Command ===> ________________________________________________ Scroll ===> CSR VIAPCOB Total STMTS: 244 100% VIAPCOB Execution count: 37 Executed STMTS: 33 14% Highest count: 3 Unexecuted STMTS: 211 86% Highest count line: 1150

S LINE COUNT %--------- 50% --------- 100% STMTS SORTED BY DESCENDING COUNT - ---------- ---------- ----------------------------------- --------------------------------------------------------- 000777 000778 1 ********* PROCEDURE

29

Page 30: Smart Test

MANUAL DE UTILIZACIÓN DE VIA/SMARTTEST DIVISION USING LS-PARAM. 000779 * 000780 1 INICIO. 000781 1 ********** PERFORM PRINCIPIO-PROGRAMA 000782 1 ********** IF DATOS-ORRECTOS 000783 1 ********** PERFORM PROCESO 000784 1 ********** ELSE 000785 * PERFORM CANCELAR 000786 1 ********** END-IF. 000787 * 000788 1 ********** PRINCIPIO-PROGRAMA. 000789 1 ********** OPEN INPUT FENTRADA 000790 1 ********** OUPUT FSALIDA 000791 1 ********** LISTADO. 000792 1 ********** IF FILE-STATUS NOT EQUAL 0 000793 * PERFORM CANCELAR 000794 1 ********** END-IF .+----------------------------------------------------------------------------------------------------------------------------------+

Proporciona información sobre el número total de sentencias ejecutadas, el porcentaje del programa testado, el que no lo ha sido, la sentencia que se ha ejecutado más... y además dicha información puede ser obtenida por líneas, párrafos, en orden ascendente de ejecución, descendente, de codificación...

2 FILE SERVICES (CICS)

VIA/SMARTTEST – CICS presenta una funcionalidad muy importante: Los File Services.

30

Page 31: Smart Test

MANUAL DE UTILIZACIÓN DE VIA/SMARTTEST Dicho componente permite, una vez conectado a CICS, el acceder para leer, modificar, etc.. directamente a ficheros VSAM, BDAM, colas TS, colas TD, bases de datos DL/I o bases de datos DB2.

Permite, de una forma fácil y cómoda, el acceder a dichos tipos de almacenamiento de datos para verificarlos, modificarlos, sin necesidad de usar utilities, cargas, descargas, y mecanismos que ralentizan la obtención de un juego de datos coherente para la prueba.

Para acceder a ellos, en el menú de LIST, opción CICS FEATURES, se selecciona opción FILES (o directamente LIST FILES) se llega a la siguiente pantalla:

CICS FILE SERVICES Comman _______________________________________________________ Enter blanks or a pattern name to obtain a directory list

1 – FILE _________ (VSAM or BDAM File name)

2 – TEMP_______________________ (Temporary Storage Name)

3 – DEST ____ (Transient Data Name)

4 – DL/I _____ ( DL/I PSB name)

5 – DB2 _________ (Table/View) _________ (SYSTABLES Creator ID)

En dicha pantalla, eligiendo número de opción a acceder y nombre (admite máscaras) de recurso, se pasa al acceso a dicho tipo de estructura de datos en particular.

ACCESO A FICHEROS

Con opción 1, se pasa a otra pantalla donde aparece el nombre (si se eligió uno) ó la lista que cumple la máscara, de fichero (FCT) en dicho CICS. También se indica el tipo del fichero (VSAM, BDAM o REMOTE) y el status (OPEN,CLOSED...) .

31

Page 32: Smart Test

MANUAL DE UTILIZACIÓN DE VIA/SMARTTEST Una vez elegido un fichero en particular, se accede a otra pantalla para la elección de la acción a efectuar sobre el fichero, sobre qué registros, etcetera.

Las opciones permitidas son leer un registro, actualizarlo, añadirlo ó borrarlo.

El acceso al fichero puede realizarse por clave (entera o parte), por posición,...

TEMPORARY STORAGE

También es posible el acceso directo y modificación a colas TS.

Para ello, en la pantalla inicial de FILE SERVICES, eligiendo la opción 2, según se especifique el nombre completo o no, se pasará a una pantalla de selección de todas las colas TS disponibles, o directamente a la pantalla de trabajo sobre la misma:

TEMPORARY STORAGE REQUESTCommand =_________________________________________________________

R – Read U – Update A – Add D – Delete

TS name VIASHARE

Item number 00001 (Queue item number) Queued (Y/N) YES (Specify NO for non-queued TS) Location.......... AUXILIARY (Auxiliary/Main storage for ADD requests)

Intersystem communication (Optional): System id _________

TRANSIENT DATA

Mediante la opción 3 del menú de File Services, se llega a la pantalla de modificación de Transient Data.

Según se ha tecleado el nombre completo ó mediante máscaras, se pasa directamente a la pantalla de acceso a las colas TD ó a otra pantalla intermedia con la lista de colas TD que cumplan dicha máscara.

32

Page 33: Smart Test

MANUAL DE UTILIZACIÓN DE VIA/SMARTTEST

En la pantalla con la lista de colas TD existe cierta información interesante:

SYSTEM ID Identificación de la región CICS de donde se obtiene la información

NAME El DCT nombre o Alias.

INDIRECT El DCT para el cual el valor anterior es un Alias (si lo es).

TYPE El tipo de Transient Data queue. Puede ser intra-partición (INTRA), extra-partición (EXTRA) o REMOTE (la DCT reside en otra región CICS).STATUS El status del fichero. Tiene dos partes, donde la primera indica si el fichero está abierto ó cerrado, y el segundo si está Enable, Disable o Unenabled.

Una vez elegida una cola TD, se pasa propiamente a la pantalla de acceso a la cola TD:

TRANSIENT DATA REQUESTCommand=___________________________________________________________ R - Read U - Update A - Add D - Delete

TD queue LUT1 (DCT name) Item number _____ (queue item number)

Add Options: Force trigger (Y/N) ____ (Force trigger processing on adds) Suspend trigger (Y/N) ____ (Bypass trigger increment on adds)

Intersystem Comunication (Optional): System Id _____

Mediante esta pantalla se puede leer, actualizar, añadir o borrar la TD QUEUE especificada.

BASES DE DATOS DL/I

Mediante la opción 4 de File Services se pasa a la pantalla de acceso a bases de datos DL/I.

Permite leer, reemplazar, insertar y borrar para la PSB especificada previamente.

33

Page 34: Smart Test

MANUAL DE UTILIZACIÓN DE VIA/SMARTTEST Existen campos para introducir información sobre la PSB, PCB (DBDNAME) y la posibilidad de mostrar solo el segmento que coincide la calificación SSA introducido en el campo de segmento.

DL/I DATA REQUESTCommand ==_________________________________________________________ G - Get R - Replace I - Insert D - Delete C - Clear entries

PSB NAME _______ PCB number 01 Display requested segments only? YES

Segment Field Op Value (enclose in single or double quotes)---------------- ------- ---- ---------------------------------------------------___________ ____ ___ _____________________________________________ ____ ___ _____________________________________________ ____ ___ __________________________________

BASES DE DATOS DB2

La opción 5 del menú de File Services lleva directamente a la pantalla de trabajo directamente de trabajo sobre las tablas DB2 o a la lista de Tablas/Vistas (o Alias) a las que se puede acceder en dicho CICS.

Una vez en dicha pantalla:

DB2 RequestCommand===__________________________________________ Scroll= SCR 1 - Select column data 2 - Build a statement

Statement: 1:Select 2:Update 3:Insert 4:DeleteTable/View: ZDAJSB.DPTOCreator Id: SYSJSB

Columns Where Conditions (AND assumed)

DEPTNO _________________________________DEPNAME _________________________________EMPLEADO _________________________________APELLIDO _________________________________NOMBRE _________________________________

Mediante la opción 1, se obtiene la información que cuadra con la condición Where (si se introdujo) o directamente todas las filas de la tabla.

34

Page 35: Smart Test

MANUAL DE UTILIZACIÓN DE VIA/SMARTTEST Con la opción 2, se puede construir una sentencia SQL específica de acceso a DB2.

TEST COVERAGE ANALYSIS (T.C.A.)

VIA/SMARTTEST presenta una funcionalidad muy importante para verificar la cobertura de las pruebas: la TCA.

Mediante los counts, se puede verificar si una determinada ejecución (con unos ciertos datos de entrada) ha pasado (o no) por unos determinados puntos del programa, cuantas veces...; sin embargo, la TCA permitirá al usuario el verificar la cobertura de la prueba ante diferentes ejecuciones y datos de entrada.

Para acceder a la TCA, opción 2 del menú de FILE, o directamente desde el menú principal de VIA/SMARTTEST, el comando LI TCA:

File - TCA Test Plan Selection Command ===> ______________________________________________________________ Enter the AKR that contains the COVERAGE PLAN and the PLAN Name. Select the desired TCA option and press enter. TCA AKR Name.. ______________________________________________ TCA PLAN Name. ________ Current environment is TSO

35

Page 36: Smart Test

MANUAL DE UTILIZACIÓN DE VIA/SMARTTEST TCA Options __ 1. Change TCA Execution Environment 2. Define/Display TCA PLAN 3. Setup TCA TEST 4. TCA Test Result Utility 5. Generate TCA Reports

Esta es la pantalla que dirige el proceso a través de todas las fases precisas de la TCA:

1.- Definir o cambiar el entorno de ejecución.

2.- Definir el plan de prueba.

3.- Preparar y ejecutar la prueba.

4.- Verificar los resultados del Test.

5.- Generar los informes resultado.

Además, habrá que indicar el AKR específico que contendrá el plan de test y el nombre del mismo.

DEFINIR EL ENTORNO DE EJECUCIÓN

Al igual que en VIA/SMARTTEST normal, en TCA es importante definir el entorno en que se va a ejecutar la prueba.

Mediante esta opción, se pasa a la pantalla de ENVIRONMENT normal de VIA/SMARTTEST para definir AKR, librerías LOAD y entorno de la prueba.

Es importante destacar que en la versión actual, una vez definido un entorno para una prueba, no se puede modificar dicho entorno durante el mismo.

Un aspecto importante a resaltar es la necesidad de analizar para VIA/SMARTTEST los programas de los que se quiera verificar la cobertura.

Sin embargo, el AKR que contenga los programas analizados no tiene porqué ser el mismo que contenga al plan de pruebas como tal.

DEFINIR EL PLAN DE PRUEBA

36

Page 37: Smart Test

MANUAL DE UTILIZACIÓN DE VIA/SMARTTEST Otra opción muy importante es definir el Plan de Prueba, es decir, indicar cuales son los programas de los que se quiere verificar la cobertura.

Los programas que se incluyan en el mismo deberán estar analizados para VIA/SMARTTEST en alguno de los AKR definidos previamente en el entorno de la prueba.

T.C.A. - COVERAGE PLAN Command ===> ________________________________________________ Scroll ===> CSRVIA2300I ENV SYSTEM VARIABLES AND PARMS RESTORED. Enter Primary Command: G - To GENERATE TCA Reports. S - To SETUP a TCA test Session. L - To List/Maintain TCA Tests Results. TCA AKR Name.. 'ZDA.ZDAJSB.FTESTC' TCA PLAN Name. PRUEBAS Environment. TSO Ñ Tests= 0 DESCRIPTION:.. PRUEBAS TCA Enter Line Command: D - To delete entry. I - To Insert new entry. I/D MODULE/PROGRAM COMPILED LANG ANALYZED ---- ------------------------------ ---------------- --------- ----------------- ***************************** TOP OF DATA ***************************** ___ VIAMERG4 VIAMERG4 30JUN1998 12:30:21 COB II 26JUN1998 09:47:03 *************************** BOTTOM OF DATA ****************************

Unicamente habrá que especificar el MODULE/PROGRAM; directamente se obtiene del AKR la fecha y hora de compilación y la versión de Cobol.

PREPARAR Y EJECUTAR LA PRUEBA

Desde la pantalla anterior con S, o con la opción 3 desde la inicial de TCA, se pasa a la pantalla específica de SETUP de TCA; en la misma habrá que preparar y ejecutar la prueba.

TSO Session Setup TCA PLAN UPDATEDCommand ===> _________________________________________________________________ R - Begin TSO test session (RUN)

37

Page 38: Smart Test

MANUAL DE UTILIZACIÓN DE VIA/SMARTTEST C - Convert batch JCL to TSO CLIST *** TCA ACTIVE *** Execution: Options: Load module VIAMERG4 Break on entry (Y/N) NO Break CSECT/pgm id ________ Execution parameters: (quotes are optional) __________________________________________________ __________________________________________________ File allocation CLIST: Data set name 'ZDA.ZDAJSB.WORK' Member . . . VIACLIST Deallocate after test NO

Es importante resaltar que cuando se intenta verificar la cobertura del Test no es posible coger el control de la prueba como en una prueba normal de VIA/SMARTTEST.

Lo que si existen es dos tipos de verificar la cobertura (aunque aparezcan tres tipos):

- EXECUTE (o COUNTS) Cuenta cuantas veces se ha pasado por cada línea, párrafo, cuantas no, del programa.

- USER Mediante la introducción de BREAKPOINTS en el fuente, se controlará cuantas veces se ha pasado por cada uno de ellos (aunque la ejecución como tal no se para). Los resultados obtenidos estarán referidos a estos puntos de parada, no a todo el fuente como en la opción anterior.

Al submitir la prueba, aparece una pantalla nueva donde se debe indicar cuál es el tipo de prueba que se quiere ejecutar; una vez elegido, se ejecutará hasta el fin del programa o se produzca un abend.

File - TCA Test Plan Run Command ===> ______________________________________________________________

38

Page 39: Smart Test

MANUAL DE UTILIZACIÓN DE VIA/SMARTTEST Key in the Description, select TCA test type and press ENTER to begin a TCA test. Press END to return. TCA AKR Name.. 'ZDA.ZDAJSB.FTESTC' TCA PLAN Name. PRUEBAS Test Description=> PRUEBAS TCA TCA Test Options __ 1. EXECUTE Test 2. COUNT Test 3. USER Test

VERIFICAR LOS RESULTADOS DEL TEST

Una vez ejecutado la prueba, es posible verificar el resultado de la misma en la opción 4 de TCA; en caso de haberse producido un abend, solo se habrá verificado la cobertura hasta el momento del mismo.

T.C.A. - TEST UTILITY Command ===> ________________________________________________ Scroll ===> CSR TCA AKR Name.. 'ZDA.ZDAJSB.FTESTC' TCA PLAN Name. PRUEBAS Environment. TSO Ñ Tests= 2 DESCRIPTION... PRUEBAS TCA Enter Line Commands: D - To Delete Test Result. S - To Select Test Setup for review. E - To Export Test Result. S RSLT JOBNAME TYP COMPLETED CC DESCRIPTION - -------- --------------- ----- ------------------ ---- ---------------------- ***************************** TOP OF DATA ***************************** __ 1 ONLINE EXE 02JUL1998 11:31 0 PRIMERA PRUEBA DE TEST __ 2 ONLINE CNT 02JUL1998 11:35 0 SEGUNDA PRUEBA DE TEST *************************** BOTTOM OF DATA ****************************

39

Page 40: Smart Test

MANUAL DE UTILIZACIÓN DE VIA/SMARTTEST El campo TYP nos indica de que tipo fue la prueba; EXE (execute), CNT(count), USE(user).

Permite las opciones D para borrar dicho resultado, S para volver a la pantalla de SETUP y reproducir la misma y E para exportar los resultados a un fichero PUNCH.

OBTENER LOS INFORMES RESULTADO

Una vez realizadas las fases anteriores, se puede pasar a obtener los resultados de las distintas pruebas.

Para ello, la opción 5 de la pantalla principal de TCA lleva a otra pantalla donde aparece aquel o aquellos programas de los que se quiera obtener los informes.

A partir de esta, una vez seleccionado él o los programas, habrá que decidir qué informe o informes se quiere obtener de los mismos:

T.C.A. - REPORT SELECTION Command ===> ____________________________________________________________ TCA AKR Name.. 'ZDA.ZDAJSB.FTESTC' TCA PLAN Name. PRUEBAS Select the desired TCA REPORT and press ENTER. Press END to return. TCA Report Options __ 1. Detail Count and Program Summary Report 2. Detail Execution Report 3. Program/Paragraph Label Count Report 4. Program/Paragraph Label Execution Report 5. Execution Summary Report 6. Not Executed Summary Report

TCA presenta 6 informes diferentes:

1 Contador de las veces que se ha pasado por cada línea o Breakpoint.

2 Switch indicando si se ha pasado o no por línea/Breakpoint.

3 Contador de ejecución por párrafos.

40

Page 41: Smart Test

MANUAL DE UTILIZACIÓN DE VIA/SMARTTEST

4 Análogo al tipo 2 pero por párrafo.

5 Resumen de todas las ejecuciones realizadas.

6 Informe de aquellas sentecias no ejecutadas.

41