Sie sind auf Seite 1von 593

UNIVERSIDAD PERUANA DE CIENCIAS APLICADAS

FACULTAD DE INGENIERÍA

DIVISIÓN DE ESTUDIOS PROFESIONALES PARA EJECUTIVOS

CARRERA DE INGENIERÍA DE SISTEMAS

SISTEMA PARA LA GESTIÓN DEL FLUJO DE


REVISIONES EN ÁREAS DE TESTING DE UNA
ENTIDAD FINANCIERA

TESIS
Para optar por el título profesional de:
INGENIERO DE SISTEMAS

AUTOR:
ROBERTO VACCARI MOSCA (201215898)

ASESORES:

CÉSAR LEPAGE CHUMPITAZ


HÉCTOR MENDÍVIL RIVAS
JAVIER LACHERRE VARGAS

Lima, Perú
2016
RESUMEN

Diversas consultoras internacionales, entre ellas Capgemini [1] y NASSCOM [2],


coinciden en indicar que existe una fuerte tendencia mundial que identifica al proceso
de testing como un proceso clave de TI para permitir el logro de los objetivos
estratégicos de las empresas. Al mismo tiempo, de acuerdo a la investigación realizada,
las demandas que reciben las áreas de testing se han incrementado por razones de
competitividad, mejora de la calidad y tiempo de salida al mercado, y por lo tanto se
requiere de una mayor eficacia y eficiencia tal como se evidencia en un estudio conjunto
realizado por IBM, uTest y Techwell [3]. Una forma de conseguir dichos objetivos es a
través de la automatización de tareas repetitivas.

En el caso específico de Scotiabank Perú S.A.A., empresa en la cual se desarrollará el


proyecto, el objetivo general es el desarrollo de un Sistema para la gestión del flujo de
[j]
revisiones que realiza el área de Integrated System Testing (IST) . Dicho sistema
incluye un analizador estático de código [a], la gestión del flujo de revisión propiamente
dicho, una herramienta para la clasificación de los Pases a Producción[l], la generación
[d]
de información estadística y de Auditoría, y la gestión de las Cartas de Desviación
del área.

A nivel de los beneficios para la empresa, se espera incrementar el porcentaje de Pases a


Producción que sufren revisión de código fuente, reducir la cantidad de pases
rechazados por parte de IST, disminuir el tiempo que demanda el proceso de
clasificación de Pases a Producción, reducir el esfuerzo necesario para generar
información estadística y de Auditoría, mejorar el control para el levantamiento
oportuno de las observaciones presentes en las Cartas de Desviación e incrementar la
satisfacción del personal de IST en relación a las herramientas que utiliza para realizar
su labor.

En lo que se refiere al presente documento, la estructura general es la siguiente:

 En el primer capítulo se realiza una investigación con respecto al estado del arte,
casos de éxito y tendencias del mercado referentes a analizadores estáticos de
código y testing en general. Así mismo, se presenta el modelo teórico respectivo y

Página 2
se describe la organización en términos de los procesos y los problemas que forman
parte del campo de acción del proyecto.

 El segundo capítulo abarca los beneficios, objetivos e indicadores que se utilizarán


para medir el éxito del proyecto. También se realiza un análisis comparativo de las
alternativas de solución que se encuentran en el mercado. Finalmente, se explica y
fundamenta la solución elegida.

 El tercer capítulo se refiere al Modelado del Negocio, es decir, se explican las reglas
del negocio y se modelan los procesos del mismo en base a la metodología Rational
Unified Process (RUP) [r].

 En el capítulo cuarto se desarrollan los requerimientos funcionales y no funcionales,


los Actores, los Casos de Uso de los que se compone el sistema y el modelo
conceptual del mismo. Adicionalmente se presentan las diversas vistas de
Arquitectura del proyecto a desarrollar.

 Por su parte, el quinto capítulo aborda la definición de la Arquitectura del sistema,


esto es: metas, restricciones y mecanismos de la misma, así como la Vista Lógica,
de Implementación y de Despliegue.

 El capítulo sexto se encuentra dedicado a los Patrones de Diseño utilizados para la


construcción del software, así como el Modelo Físico de Datos y la presentación de
su correspondiente diccionario.

 En lo que se refiere al séptimo capítulo, se incluye lo referente a la Calidad y


Pruebas del Software. Esto incluye la Política y Objetivos de la Calidad, la
Normatividad aplicable, las métricas de calidad, el plan de pruebas definido y
finalmente, la ejecución de los casos de prueba.

 Finalmente, el último capítulo incluye temas referentes a la Gestión del Proyecto,


los cuales se encuentran alineados a las buenas prácticas del PMBOK [4].

Página 3
Tabla de Contenido

RESUMEN ....................................................................................................................... 2
Tabla de Contenido ........................................................................................................... 4
Lista de Ilustraciones ........................................................................................................ 9
Lista de Tablas ................................................................................................................ 12
Introducción .................................................................................................................... 18
CAPÍTULO 1: FUNDAMENTOS TEÓRICOS ............................................................. 21
1.1. Introducción ......................................................................................................... 21
1.2. Marco Teórico...................................................................................................... 21
1.2.1. Estado del Arte.............................................................................................. 21
1.2.2. Conceptualizaciones Generales .................................................................... 48
1.2.3. Modelo Teórico............................................................................................. 57
1.2.4. Definiciones Operativas ................................................................................ 59
1.3. Objeto de estudio ................................................................................................. 61
1.3.1. Organización objetivo ................................................................................... 61
1.3.2. Misión ........................................................................................................... 62
1.3.3. Visión ............................................................................................................ 62
1.3.4. Objetivos estratégicos ................................................................................... 62
1.3.5. Organigrama ................................................................................................. 64
1.3.6. Mapa de Procesos ......................................................................................... 65
1.4. Campo de acción .................................................................................................. 66
1.4.1. Breve descripción ......................................................................................... 66
1.4.2. Procesos del negocio ..................................................................................... 69
1.4.3. Sistemas automatizados vinculados con el campo de acción. ...................... 70
1.5. Análisis crítico de los problemas de información ................................................ 71
1.6. Conclusiones ........................................................................................................ 73
CAPÍTULO 2: PROPUESTA DE SOLUCIÓN ............................................................. 74
2.1. Introducción ......................................................................................................... 74
2.2. Objetivos del proyecto ......................................................................................... 74
2.2.1. Objetivo general ............................................................................................ 74
2.2.2. Objetivos específicos y fundamentación ...................................................... 74

Página 4
2.2.3. Indicadores de logro de los objetivos ........................................................... 76
2.3. Beneficios del proyecto ....................................................................................... 76
2.3.1. Beneficios tangibles ...................................................................................... 76
2.3.2. Beneficios intangibles ................................................................................... 79
2.4. Antecedentes ........................................................................................................ 80
2.4.1. Soluciones encontradas ................................................................................. 81
2.4.2. Análisis comparativo .................................................................................... 82
2.4.3. Evaluación de la mejor solución ................................................................... 84
2.5. Tendencias y tecnologías propuestas ................................................................... 88
2.6. Conclusiones ........................................................................................................ 88
CAPÍTULO 3: MODELADO DEL NEGOCIO ............................................................. 90
3.1. Introducción ......................................................................................................... 90
3.2. Reglas del negocio ............................................................................................... 90
3.3. Modelo de Casos de Uso del Negocio ................................................................. 99
3.3.1. Actores del negocio ...................................................................................... 99
3.3.2. Diagrama de Casos de Uso del Negocio ..................................................... 101
3.3.3. Casos de Uso del Negocio .......................................................................... 101
3.4. Modelo de Análisis del Negocio ........................................................................ 103
3.4.1. Trabajadores del negocio ............................................................................ 103
3.4.2. Entidades del negocio ................................................................................. 105
3.5. Realización de los Casos de Uso del Negocio ................................................... 110
3.5.1. CUNR01 - Implementar solución de TI ..................................................... 111
3.5.2. CUNR02 - Generar Estadísticas de IST ..................................................... 123
3.5.3. CUNR03 - Generar información de IST para Auditoría............................. 127
3.5.4. CUNR04 - Controlar Cartas de Desviación ................................................ 131
3.6. Trazabilidad ....................................................................................................... 135
3.6.1. Casos de Uso del Negocio vs Reglas del Negocio ..................................... 135
3.6.2. Casos de Uso del Negocio vs Trabajadores del Negocio ........................... 141
3.6.3 Casos de Uso del Negocio vs Entidades del Negocio ................................. 142
3.7. Conclusiones ...................................................................................................... 146
CAPÍTULO 4: REQUERIMIENTOS .......................................................................... 147
4.1. Introducción ....................................................................................................... 147
4.2. Especificación de los requerimientos ................................................................ 147
4.2.1 Requerimientos Funcionales ........................................................................ 147

Página 5
4.2.2. Requerimientos No Funcionales ................................................................. 152
4.3. Modelo de Casos de Uso del Sistema ................................................................ 157
4.3.1. Actores del Sistema .................................................................................... 157
4.3.2. Diagrama de Actores del Sistema ............................................................... 159
4.3.3. Diagrama de Paquetes del Sistema ............................................................. 159
4.3.4. Diagrama de Casos de uso del Sistema por paquete ................................... 160
4.4. Atributos de los Casos de Uso del Sistema........................................................ 164
4.5. Sustento de los casos de uso elegidos como núcleo central .............................. 167
4.6. Trazabilidad entre requerimientos funcionales y casos de uso .......................... 169
4.7. Especificación de alto nivel de los Casos de Uso .............................................. 173
4.8. Especificación detallada de los Casos de Uso del Sistema ................................ 186
4.8.1. CUS01-Analizar Código Fuente Genexus .................................................. 186
4.8.2 CUS02-Analizar Código Fuente CL ............................................................ 191
4.8.3. CUS06-Gestionar Ciclo de Revisión de IST .............................................. 194
4.8.4. CUS08-Administrar Hallazgos y Evidencia ............................................... 206
4.8.5. CUS11-Administrar Pedido de Auditoría ................................................... 216
4.8.6. CUS18-Administrar Carta de Desviación................................................... 223
4.9. Modelo Conceptual ............................................................................................ 229
4.9.1. Diagrama del Modelo Conceptual .............................................................. 229
4.9.2. Diccionario del Modelo Conceptual ........................................................... 230
4.10 Conclusiones ..................................................................................................... 239
CAPÍTULO 5: ARQUITECTURA DE SOFTWARE.................................................. 240
5.1. Introducción ....................................................................................................... 240
5.2. Diagrama de casos de uso más significativos .................................................... 240
5.2.1. PK01-Análisis Estático ............................................................................... 240
5.2.2. PK02-Gestión de Revisiones ...................................................................... 241
5.2.3. PK03-Gestión de Cartas de Desviación ...................................................... 242
5.3. Metas de la arquitectura de software ................................................................. 243
5.4. Restricciones de la arquitectura de software...................................................... 244
5.5. Mecanismos arquitecturales ............................................................................... 245
5.6. Vista Lógica ....................................................................................................... 246
5.7. Vista de Implementación ................................................................................... 247
5.8. Vista de Despliegue ........................................................................................... 248
5.9. Conclusiones ...................................................................................................... 249

Página 6
CAPÍTULO 6: CONSTRUCCIÓN .............................................................................. 250
6.1. Introducción ....................................................................................................... 250
6.2. Diagrama de Patrones ........................................................................................ 250
6.3. Descripción de los patrones ............................................................................... 252
6.3.1. Patrón MVC ................................................................................................ 252
6.3.2 Patrón DTO (Data Transfer Object) ............................................................ 255
6.3.3. Patrón DAO (Data Access Object) ............................................................. 257
6.4. Modelo Físico .................................................................................................... 261
6.5. Diccionario Del Modelo Físico.......................................................................... 262
6.6. Conclusiones ...................................................................................................... 278
CAPÍTULO 7: CALIDAD Y PRUEBAS DEL SOFTWARE ..................................... 279
7.1. Introducción ....................................................................................................... 279
7.2. Plan de la Calidad del Software ......................................................................... 279
7.2.1. Política de Calidad ...................................................................................... 279
7.2.2. Objetivos de Calidad ................................................................................... 280
7.2.3. Normatividad Aplicable .............................................................................. 280
7.2.4. Métricas de Calidad .................................................................................... 283
7.3. Datos para las pruebas funcionales .................................................................... 285
7.3.1. Base de Datos de IST .................................................................................. 285
7.3.2. AS/400 ........................................................................................................ 313
7.4. Pruebas Funcionales .......................................................................................... 315
7.4.1. Caso de Pruebas: CUS01-Analizar Código Fuente Genexus ..................... 315
7.4.2. Caso de Pruebas: CUS02-Analizar Código Fuente CL .............................. 360
7.4.3. Caso de Pruebas: CUS06-Gestionar Ciclo de Revisión de IST .................. 380
7.4.4. Caso de Pruebas: CUS08-Administrar Hallazgos y Evidencia .................. 398
7.4.5. Caso de Pruebas: CUS11-Administrar Pedido de Auditoría ...................... 409
7.4.6. Caso de Pruebas: CUS18-Administrar Carta de Desviación ...................... 420
7.5. Pruebas No Funcionales..................................................................................... 430
7.5.1. Inspección de los servicios del negocio ejercitados por pruebas automáticas
.............................................................................................................................. 430
7.5.2. Inspección de los servicios del negocio que cuentan con log de ejecución en
modo Trace ........................................................................................................... 434
7.6. Encuestas de Satisfacción del usuario ............................................................... 444
7.7. Cumplimiento de Métricas de calidad ............................................................... 447

Página 7
7.8. Conclusiones ...................................................................................................... 450
CAPÍTULO 8: GESTIÓN DEL PROYECTO.............................................................. 451
8.1. Introducción ....................................................................................................... 451
8.2. Registro de interesados ...................................................................................... 451
8.3. EDT .................................................................................................................... 453
8.4. Cronograma de Trabajo ..................................................................................... 454
8.4.1. Fase 1: Incepción ........................................................................................ 454
8.4.2. Fase 2: Elaboración ..................................................................................... 455
8.4.3. Fase 3: Construcción ................................................................................... 456
8.4.4. Fase 4: Transición ....................................................................................... 456
8.5. Estimación del Costo del Proyecto .................................................................... 457
8.5.1. Estimación mediante Puntos de Caso de Uso ............................................. 457
8.5.2. Estimación mediante Puntos de Función y Constructive Cost Model
(COCOMO) .......................................................................................................... 461
8.5.3. Resumen de la estimación de costos ........................................................... 464
8.6. Actas de aceptación de los entregables .............................................................. 465
8.7. Conclusiones ...................................................................................................... 471
Conclusiones generales ................................................................................................. 472
Glosario de términos ..................................................................................................... 475
Siglario .......................................................................................................................... 478
Referencias Bibliográficas ............................................................................................ 479
Anexos .......................................................................................................................... 486

Página 8
Lista de Ilustraciones

Ilustración 1: Análisis de tipos de defectos vs visibilidad [9] ........................................ 22


Ilustración 2: Árbol de Sintaxis Abstracto [9] ................................................................ 24
Ilustración 3: Análisis local vs Análisis Global [9] ........................................................ 25
Ilustración 4: Incorporación en el proceso de testing [9]................................................ 27
Ilustración 5: Revisión de código con un analizador estático [9] ................................... 28
Ilustración 6: Proyectos que utilizan Coverity Scan hasta marzo del 2014 [6] .............. 32
Ilustración 7: Defectos corregidos entre 2008 y 2013 [6] .............................................. 33
Ilustración 8: Cantidad de días para corregir defectos nuevos encontrados [6] ............. 36
Ilustración 9: Porcentaje de usuarios que revisan alertas de alta prioridad [5]............... 38
Ilustración 10: Mercado Global del Testing 2010-2020 [2] ........................................... 39
Ilustración 11: Evolución de las métricas de testing [2] ................................................. 41
Ilustración 12: Innovación en testing [2] ........................................................................ 42
Ilustración 13: Gestión del Talento en el área del Testing [2] ........................................ 43
Ilustración 14: Frecuencia de publicaciones de software [3] .......................................... 44
Ilustración 15: Porcentaje de pruebas automatizadas [3]................................................ 44
Ilustración 16: Actividades realizadas por los testers [3] ............................................... 45
Ilustración 17: Cambios organizacionales deseados por los testers [3] .......................... 45
Ilustración 18: Actividades que desean realizar los testers [3] ....................................... 46
Ilustración 19: Cuadrante mágico de Gartner para analizadores estáticos [17] .............. 46
Ilustración 20: Tecnología, procedimientos y personas (Elaboración propia) ............... 57
Ilustración 21: Modelo teórico (Elaboración propia) ..................................................... 58
Ilustración 22: Planeamiento Estratégico de TI 2013-2015 [29] .................................... 63
Ilustración 23: Organigrama de Divisiones 2014/08 [30] .............................................. 64
Ilustración 24: Organigrama Divisiones 2014/08 [30] ................................................... 65
Ilustración 25: Mapa de Procesos (Elaboración propia) ................................................. 66
Ilustración 26: Áreas involucradas en Control de Cambios (Elaboración propia) ......... 67
Ilustración 27: Diagrama de Alto de Nivel del Flujo de Pase a Producción .................. 68
Ilustración 28: Solución propuesta ................................................................................. 85
Ilustración 29: Diagrama de Casos de Uso del Negocio .............................................. 101

Página 9
Ilustración 30: Trabajadores del Negocio ..................................................................... 103
Ilustración 31: Realización de los Casos de Uso del Negocio ...................................... 110
Ilustración 32: CUNR01 - Diagrama de Actividades ................................................... 120
Ilustración 33: CUNR01 - Diagrama de Clases del Negocio ....................................... 121
Ilustración 34: CUNR02 - Diagrama de Actividades ................................................... 125
Ilustración 35: CUNR02 - Diagrama de Clases del Negocio ....................................... 126
Ilustración 36: CUNR03 - Diagrama de Actividades ................................................... 129
Ilustración 37: CUNR03 - Diagrama de Clases del Negocio ....................................... 130
Ilustración 38: CUNR04 - Diagrama de Actividades ................................................... 133
Ilustración 39: CUNR04 - Diagrama de Clases del Negocio ....................................... 134
Ilustración 40: Diagrama de Actores del Sistema ......................................................... 159
Ilustración 41: Diagrama de Paquetes .......................................................................... 159
Ilustración 42: Diagrama de C. U. del Sistema–PK01-Análisis Estático ..................... 160
Ilustración 43: Diagrama de C.U. del Sistema–PK02-Gestión de Revisiones ............. 161
Ilustración 44: Diagrama de C.U. del Sistema-PK03-Gestión de Cartas de Desviación
.............................................................................................................................. 162
Ilustración 45: Diagrama de C.U. del Sistema–PK04-Seguridad ................................. 163
Ilustración 46: Distribución de los Casos de Uso por Ciclo ......................................... 166
Ilustración 47: Mockup Referencial - Consulta de Revisiones de Pases a Producción 194
Ilustración 48: Mockup Referencial - Clasificar Revisión ........................................... 198
Ilustración 49: Mockup Referencial - Asignar Revisión .............................................. 199
Ilustración 50: Mockup Referencial - Resumen de Revisión – Supervisor de IST. ..... 200
Ilustración 51: Mockup Referencial - Consulta de Revisiones de IST - Analista ........ 207
Ilustración 52: Mockup referencial - Lista de Ítems ..................................................... 208
Ilustración 53: Mockup Referencial - Hallazgos del Analista de IST .......................... 208
Ilustración 54: Mockup Referencial - Hallazgos del Analizador Estático.................... 209
Ilustración 55: Mockup Referencial - Adjuntos de la Revisión.................................... 211
Ilustración 56: Mockup Referencial - Resumen de Revisión - Analista de IST ........... 212
Ilustración 57: Mockup Referencial - Consulta de Pedidos de Auditoría .................... 217
Ilustración 58: Mockup Referencial - Pases asociados al Pedido de Auditoría............ 218
Ilustración 59: Mockup Referencial - Consulta de Cartas de Desviación .................... 223
Ilustración 60: Modelo Conceptual............................................................................... 229
Ilustración 61: PK01-Análisis Estático - Casos Significativos ..................................... 240
Ilustración 62: PK02-Gestión de Revisiones – Casos de uso significativos................. 241

Página 10
Ilustración 63: PK03-Gestión de Cartas de Desviación – Casos de uso significativos 242
Ilustración 64: Vista Lógica .......................................................................................... 246
Ilustración 65: Vista de Implementación ...................................................................... 247
Ilustración 66: Vista de Despliegue .............................................................................. 248
Ilustración 67: Diagrama de Patrones ........................................................................... 251
Ilustración 68: Patrón MVC (Elaboración propia) ....................................................... 253
Ilustración 69: Patrón MVC - Ejemplo de código del proyecto ................................... 254
Ilustración 70: Patrón DTO........................................................................................... 256
Ilustración 71: Patrón DTO - Ejemplo del patrón en código del proyecto ................... 257
Ilustración 72: Patrón DAO .......................................................................................... 259
Ilustración 73: Patrón DAO - Ejemplo del patrón en código del proyecto ................... 260
Ilustración 74: Modelo Físico ....................................................................................... 261
Ilustración 75: Encuesta de Satisfacción 1 ................................................................... 444
Ilustración 76: Encuesta de Satisfacción 2 ................................................................... 445
Ilustración 77: Encuesta de Satisfacción 3 ................................................................... 446
Ilustración 78: EDT ...................................................................................................... 453
Ilustración 79: Cronograma de Trabajo - Incepción ..................................................... 454
Ilustración 80: Cronograma de Trabajo - Elaboración ................................................. 455
Ilustración 81: Cronograma de Trabajo - Construcción ............................................... 456
Ilustración 82: Cronograma de Trabajo - Transición.................................................... 456
Ilustración 83: Carta de Aceptación - Proyecto Informático 1 ..................................... 465
Ilustración 84: Carta de Aceptación - Proyecto Informático II (Entregable Parcial) ... 466
Ilustración 85: Carta de Aceptación - Proyecto Informático II (Entregable Final) ...... 467
Ilustración 86: Carta de Aceptación - Proyecto Informático III (Entregable Parcial) .. 468
Ilustración 87: Carta de Aceptación - Proyecto Informático III (Entregable Final) ..... 469
Ilustración 88: Carta de Aceptación y Entrega ............................................................. 470

Página 11
Lista de Tablas

Tabla 1: Valores de complejidad ciclomática [13] ......................................................... 31


Tabla 2: Análisis de Linux 2006-2013 [6] ...................................................................... 35
Tabla 3: Densidad de defectos por componente en Linux – 2013 [6] ............................ 35
Tabla 4: Indicadores cualitativos del Modelo Teórico ................................................... 60
Tabla 5: Indicadores cuantitativos del Modelo Teórico ................................................. 60
Tabla 6: Análisis de los problemas de Información ....................................................... 72
Tabla 7: Indicadores para beneficios tangibles ............................................................... 79
Tabla 8: Matriz comparativa de Soluciones de Gestión de Revisión de Código ............ 83
Tabla 9: Reglas del Negocio ........................................................................................... 99
Tabla 10: Trabajadores del Negocio ............................................................................. 105
Tabla 11: Entidades del Negocio .................................................................................. 110
Tabla 12 : Casos de Uso del Negocio vs Reglas del Negocio ...................................... 140
Tabla 13: Casos de Uso del Negocio vs Trabajadores del Negocio ............................. 141
Tabla 14: Casos de Uso del Negocio vs Entidades del Negocio .................................. 145
Tabla 15: Requerimientos Funcionales asociados a los Casos de Uso ......................... 151
Tabla 16: Requerimientos funcionales asociados a aspectos generales ....................... 152
Tabla 17: Requerimientos No Funcionales - Usabilidad .............................................. 152
Tabla 18: Requerimientos No Funcionales - Confiabilidad ......................................... 152
Tabla 19: Requerimientos No Funcionales - Rendimiento ........................................... 153
Tabla 20: Requerimientos No Funcionales – Soporte .................................................. 153
Tabla 21: Requerimientos No Funcionales - Restricciones de Diseño ......................... 154
Tabla 22: Requerimientos No Funcionales - Documentación y Sistema de Ayuda ..... 154
Tabla 23: Interfases de Software .................................................................................. 155
Tabla 24: Requerimientos No Funcionales - Licenciamiento ...................................... 155
Tabla 25: Requerimientos No Funcionales - Seguridad ............................................... 156
Tabla 26: Actores del Sistema ...................................................................................... 158
Tabla 27: Atributos de los casos de uso del sistema ..................................................... 165
Tabla 28: Sustento de los Casos de Uso del núcleo central .......................................... 168
Tabla 29: Trazabilidad - Casos de Uso del Sistema y Requerimientos Funcionales .... 172

Página 12
Tabla 30: CUS03-Administrar parámetros de revisión estática ................................... 173
Tabla 31: CUS04-Consultar historia de hallazgos por objeto ...................................... 174
Tabla 32: CUS05-Consultar asignación de revisiones ................................................. 175
Tabla 33: CUS10-Emitir Respuesta de Revisión .......................................................... 175
Tabla 34: CUS12-Generar “Status Report” .................................................................. 177
Tabla 35: CUS13-Generar ranking de desempeño del área de Desarrollo ................... 178
Tabla 36: CUS15-Generar información de esfuerzo realizado por Analistas IST ....... 179
Tabla 37: CUS16-Administrar Checklist Documentos ................................................ 179
Tabla 38: CUS17-Administrar parámetros de Gestión de Revisiones ......................... 180
Tabla 39: CUS19-Generar relación de Cartas de Desviación por Vencimiento........... 181
Tabla 40: CUS20-Consultar Cartas de Desviación ....................................................... 182
Tabla 41: CUS21-Emitir alertas ................................................................................... 183
Tabla 42: CUS22-Realizar inicio de sesión .................................................................. 183
Tabla 43: CUS23-Cambiar Contraseña ........................................................................ 184
Tabla 44: CUS24-Administrar Usuarios....................................................................... 184
Tabla 45: CUS25-Administrar perfiles ......................................................................... 185
Tabla 46: ES01_RevisiónEstática ................................................................................. 230
Tabla 47: ES02_HallazgoEstático ................................................................................ 231
Tabla 48: ES03_Aplicación .......................................................................................... 231
Tabla 49: ES04_Error ................................................................................................... 232
Tabla 50: ES06-RevisiónIST ........................................................................................ 232
Tabla 51: ES07-ÍtemRevisión ....................................................................................... 233
Tabla 52: ES08-Hallazgo .............................................................................................. 233
Tabla 53: ES09-Adjunto ............................................................................................... 233
Tabla 54: ES10-TipoDocumento .................................................................................. 234
Tabla 55: ES12-TipoRevisión ...................................................................................... 234
Tabla 56: ES13-CartaDesviación.................................................................................. 235
Tabla 57: ES14-Auditoría ............................................................................................. 235
Tabla 58: ES15_Usuario ............................................................................................... 236
Tabla 59: ES16-EventoRevisión ................................................................................... 236
Tabla 60: ES17-LogNegocio ........................................................................................ 237
Tabla 61: ES99-Parámetro ............................................................................................ 238
Tabla 62: Metas de la Arquitectura............................................................................... 244
Tabla 63: Restricciones de la Arquitectura ................................................................... 244

Página 13
Tabla 64: Mecanismos Arquitecturales ........................................................................ 245
Tabla 65: Patrón MVC .................................................................................................. 253
Tabla 66: Patrón DTO................................................................................................... 256
Tabla 67: Patrón DAO .................................................................................................. 259
Tabla 68: Modelo Físico - Adjunto............................................................................... 262
Tabla 69: Modelo Físico – Aplicación ......................................................................... 262
Tabla 70: Modelo Físico – Área ................................................................................... 263
Tabla 71: Modelo Físico - ÁreaRol ............................................................................. 263
Tabla 72: Modelo Físico – Auditoría ............................................................................ 264
Tabla 73: Modelo Físico - Auditoría_Revisión ............................................................ 264
Tabla 74: Modelo Físico – CartaDesviación ................................................................ 265
Tabla 75: Modelo Físico – Checklist ............................................................................ 265
Tabla 76: Modelo Físico – Error................................................................................... 266
Tabla 77: Modelo Físico – EstadoAuditoría ................................................................. 266
Tabla 78: Modelo Físico – EstadoCarta ....................................................................... 266
Tabla 79: Modelo Físico – EstadoRevisión .................................................................. 267
Tabla 80: Modelo Físico – EventoRevisión ................................................................. 267
Tabla 81: Modelo Físico – Hallazgo............................................................................. 268
Tabla 82: Modelo Físico – HallazgoEstático ................................................................ 269
Tabla 83: Modelo Físico – ÍtemRevisión ..................................................................... 270
Tabla 84: Modelo Físico – LogNegocio ....................................................................... 271
Tabla 85: Modelo Físico – Numerador ......................................................................... 271
Tabla 86: Modelo Físico – Parámetro........................................................................... 271
Tabla 87: Modelo Físico – Prioridad ............................................................................ 272
Tabla 88: Modelo Físico - Revisión Estática ................................................................ 273
Tabla 89: Modelo Físico - Revisión IST ...................................................................... 274
Tabla 90: Modelo Físico – Rol ..................................................................................... 275
Tabla 91: Modelo Físico – TipoDocumento ................................................................. 275
Tabla 92: Modelo Físico – TipoError ........................................................................... 275
Tabla 93: Modelo Físico – TipoObjeto......................................................................... 275
Tabla 94: Modelo Físico – TipoParámetro ................................................................... 276
Tabla 95: Modelo Físico – TipoRevisión ..................................................................... 276
Tabla 96: Modelo Físico - Usuario ............................................................................... 277
Tabla 97: Métricas de calidad ....................................................................................... 284

Página 14
Tabla 98: Data Inicial para pruebas - RevisiónIST....................................................... 286
Tabla 99: Data Inicial para pruebas - ItemRevisión ..................................................... 287
Tabla 100: Data Inicial para pruebas - Hallazgo .......................................................... 288
Tabla 101: Data Inicial para pruebas – Prioridad ......................................................... 288
Tabla 102: Data Inicial para pruebas - EstadoRevisión ................................................ 289
Tabla 103: Data Inicial para pruebas - TipoRevisión ................................................... 289
Tabla 104: Data Inicial para pruebas - EventoRevisión ............................................... 292
Tabla 105: Data Inicial para pruebas – Checklist ......................................................... 293
Tabla 106: Data Inicial para pruebas - TipoDocumento............................................... 293
Tabla 107: Data Inicial para pruebas - RevisiónEstática .............................................. 295
Tabla 108: Data Inicial para pruebas - HallazgoEstático ............................................. 299
Tabla 109: Data Inicial para pruebas - Adjunto ............................................................ 300
Tabla 110: Data Inicial para pruebas - Carta Desviación ............................................. 301
Tabla 111: Data Inicial para pruebas – EstadoCarta..................................................... 301
Tabla 112: Data Inicial para pruebas - Aplicación ....................................................... 303
Tabla 113: Data Inicial para pruebas - Numerador....................................................... 303
Tabla 114: Data Inicial para pruebas - Error ................................................................ 305
Tabla 115: Data Inicial para pruebas – TipoError ........................................................ 305
Tabla 116: Data Inicial para pruebas - TipoParametro ................................................. 306
Tabla 117: Data Inicial para pruebas - Parámetro ........................................................ 309
Tabla 118: Data Inicial para pruebas - TipoObjeto ...................................................... 310
Tabla 119: Data Inicial para pruebas – Auditoria ......................................................... 310
Tabla 120: Data Inicial para pruebas - Auditoria_Revision ......................................... 311
Tabla 121: Data Inicial para pruebas - EstadoAuditoria............................................... 311
Tabla 122: Data Inicial para pruebas - Area ................................................................. 311
Tabla 123: Data Inicial para pruebas - Rol ................................................................... 312
Tabla 124: Data Inicial para pruebas - AreaRol ........................................................... 312
Tabla 125: Data Inicial para pruebas - Usuario ............................................................ 313
Tabla 126: Data Inicial para pruebas - FST043 ............................................................ 314
Tabla 127: Data Inicial para pruebas - LADD50 .......................................................... 314
Tabla 128: Data Inicial para pruebas - LADD51 .......................................................... 314
Tabla 129: Caso de Pruebas: CUS01 - Clase de Equivalencia ..................................... 319
Tabla 130: Caso de Pruebas: CUS01 - Parámetros de Entrada en Blanco ................... 321
Tabla 131: Caso de Pruebas: CUS01 - Fuente y Navegación no corresponden ........... 322

Página 15
Tabla 132: Caso de Pruebas: CUS01 - Programa sin anomalías .................................. 323
Tabla 133: Caso de Pruebas: CUS01 - Documentación Incompleta ............................ 326
Tabla 134: Caso de Pruebas: CUS01 - Reglas Genexus indebidas .............................. 327
Tabla 135: Caso de Pruebas: CUS01 - Commit on Exit ............................................... 329
Tabla 136: Caso de Pruebas: CUS01 - Durezas de Nombre de Banco......................... 332
Tabla 137: Caso de Pruebas: CUS01 - Durezas de Moneda......................................... 334
Tabla 138: Caso de Pruebas: CUS01 - Nomenclatura Genexus ................................... 336
Tabla 139: Caso de Pruebas: CUS01 - Campos de Ejecutivo de Negocios ................. 337
Tabla 140: Caso de Pruebas: CUS01 - Commits RTE ................................................. 339
Tabla 141: Caso de Pruebas: CUS01 - Commit o rollback explícito y commitment
disabled ................................................................................................................. 341
Tabla 142: Caso de Pruebas: CUS01 - Workpanel en ciclo de compromiso ............... 342
Tabla 143: Caso de Pruebas: CUS01 - Asignación directa de empresa ....................... 343
Tabla 144: Caso de Pruebas: CUS01 - Estándar de Cabecera ...................................... 345
Tabla 145: Caso de Pruebas: CUS01 - When none y printer file ................................. 346
Tabla 146: Caso de Pruebas: CUS01 - For each sin defined by ................................... 348
Tabla 147: Caso de Pruebas: CUS01 - Arreglos y funciones en sentencia where ........ 350
Tabla 148: Caso de Pruebas: CUS01 - Actualización directa a archivo de saldos ....... 351
Tabla 149: Caso de Pruebas: CUS01 - Calls con longitud fija ..................................... 353
Tabla 150: Caso de Pruebas: CUS01 - Índice temporal ............................................... 354
Tabla 151: Caso de Pruebas: CUS01 - Report Output.................................................. 356
Tabla 152: Caso de Pruebas: CUS01 - Report Confirmation ....................................... 358
Tabla 153: Caso de Pruebas: CUS01 - Full Scan ......................................................... 359
Tabla 154 : Casos de Prueba: CUS02 - Clases de Equivalencia .................................. 362
Tabla 155: Caso de Pruebas: CUS02 - Parámetros de Entrada en Blanco ................... 364
Tabla 156: Casos de Prueba: CUS02 - Sin anomalías .................................................. 366
Tabla 157: Casos de Prueba: CUS02 – Documentación Incompleta............................ 369
Tabla 158: Casos de Prueba: CUS02 - Bibliotecas de Desarrollo ................................ 372
Tabla 159: Casos de Prueba: CUS02 - Comandos restringidos.................................... 374
Tabla 160: Casos de Prueba: CUS02 - Comandos autorización ................................... 377
Tabla 161: Casos de Prueba: CUS02 - Nomenclatura .................................................. 380
Tabla 162: Casos de Prueba: CUS06 - Clases de Equivalencia ................................... 382
Tabla 163: Casos de Prueba: CUS06 - Carga de Bandeja, detalle y búsqueda ............ 383
Tabla 164: Casos de Prueba: CUS06 - Carga, clasificación y asignación .................... 393

Página 16
Tabla 165: Casos de Prueba: CUS06 – Revisión, devolución, rechazo, aprobación,
exportación y consulta de eventos ........................................................................ 397
Tabla 166: Caso de Pruebas: CUS08 - Clases de Equivalencia ................................... 399
Tabla 167: Caso de Pruebas: CUS08 - Resumen de Revisión ..................................... 400
Tabla 168: Caso de Pruebas: CUS08 - Actualizar Hallazgos de IST ........................... 403
Tabla 169: Caso de Pruebas: CUS08 - Revisar y confirmar hallazgos estáticos .......... 405
Tabla 170: Caso de Pruebas: CUS08 - Mantener Adjuntos.......................................... 407
Tabla 171: Casos de Prueba: CUS11 - Clases de Equivalencia ................................... 410
Tabla 172: Casos de Prueba: CUS11 - Mantenimiento de pedido de Auditoría .......... 415
Tabla 173: Casos de Prueba: CUS11 - Mantenimiento de Pases Relacionados ........... 418
Tabla 174: Casos de Prueba: CUS11 - Exportar, responder y cerrar ........................... 419
Tabla 175: Casos de Prueba: CUS18 - Clases de Equivalencia ................................... 421
Tabla 176: Casos de Prueba: CUS18 – Registro y mantenimiento .............................. 427
Tabla 177: Casos de Prueba: CUS18 - Levantamiento de Carta de Desviación .......... 429
Tabla 178: Servicios con pruebas automáticas ............................................................. 433
Tabla 179: Servicios con log para análisis.................................................................... 443
Tabla 180: Cumplimiento de Métricas ......................................................................... 447
Tabla 181 : Resumen de respuestas .............................................................................. 448
Tabla 182: Registro de Interesados ............................................................................... 452
Tabla 183: Puntos de Caso de Uso: Clasificación de Casos de Uso............................. 457
Tabla 184: Puntos de Caso de Uso: Peso de Casos de Uso .......................................... 458
Tabla 185: Puntos de Caso de Uso: Clasificación de Actores ...................................... 458
Tabla 186: Puntos de Caso de Uso: Pesos de Actores .................................................. 458
Tabla 187: Puntos de Caso de Uso: Factores Técnicos ................................................ 459
Tabla 188: Puntos de Caso de Uso: Factores de Entorno ............................................. 459
Tabla 189: Puntos de Caso de Uso: Costo Estimado del Proyecto ............................... 460
Tabla 190: Puntos de Función y COCOMO - Tabla de Puntajes ................................. 461
Tabla 191: Puntos de Función y COCOMO - Recuento de Elementos ........................ 461
Tabla 192: Puntos de Función y COCOMO - Factores de Complejidad...................... 462
Tabla 193: Puntos de Función y COCOMO - Líneas de Código ................................. 462
Tabla 194: Puntos de Función y COCOMO - Factor de Esfuerzo Compuesto ............ 463
Tabla 195: Puntos de Función y COCOMO - Costo Estimado del Proyecto ............... 463
Tabla 196: Resumen de la estimación de costos ........................................................... 464
Tabla 197: Hallazgos codificados ................................................................................. 492

Página 17
Introducción

El presente proyecto abarca el contexto teórico de los analizadores estáticos de código


fuente y su utilización en el ciclo de vida del software. La investigación realizada indica
que la utilización de este tipo de herramientas constituye una práctica de amplia
utilización entre líderes de la industria del desarrollo de software tales como Google y
Oracle [5], y que existen casos concretos como el del sistema operativo Linux [6] que
demuestran los beneficios que se pueden obtener en lo que se refiere a la reducción de
errores en el código fuente. Por otro lado, se exploran los fundamentos teóricos
necesarios para la construcción de un analizador estático de código fuente. Existen
también buenas prácticas para la incorporación de herramientas de análisis estático en el
ciclo de vida del software, por lo que se realizó además una investigación referente a los
procesos y definiciones de carácter operativo que son importantes para el proyecto.

Es importante mencionar que el análisis de las tendencias mundiales a nivel de testing


indica que el mercado está creciendo y que dicha actividad se ha convertido en un
elemento estratégico para el éxito de las empresas tal como mencionan Capgemini [1],
NASSCOM [2], World Research Markets [7] y otras fuentes consultadas como parte de
la investigación realizada. También existen estudios como el realizado por IBM, uTest y
Techwell [3] en donde se observa que la cantidad y frecuencia de los pedidos de
revisión a las áreas de testing se viene incrementando y existe aún un potencial
significativo para iniciativas de automatización de procesos en este campo.

En relación a la organización objetivo, se puede mencionar que Scotiabank (The Bank


of Nova Scotia) es una de las instituciones financieras líderes de Norteamérica. Cuenta
con 175 años de experiencia en el mercado y su casa matriz se encuentra ubicada en
Toronto (Canadá). El Grupo Scotiabank está conformado por un equipo de más de
83,000 empleados dedicados por completo a sus más de 12.5 millones de clientes en
más de 50 países, en 5 continentes y en más de 80 idiomas, lo cual lo convierte en el
banco canadiense con mayor presencia internacional. [8]

En lo que se refiere a la subsidiaria local, Scotiabank Perú S.A.A. inició sus operaciones
en el Perú en el año 2006 combinando, a través de una fusión bancaria, la experiencia
del Banco Wiese Sudameris con el enfoque en el servicio del Banco Sudamericano.

Página 18
Dentro de las principales actividades que la institución realiza se pueden destacar
actividades destinadas a los segmentos de Banca Retail, Banca Corporativa, Banca
Empresarial y Banca de Inversión.

El Banco cuenta con una importante red física y una de las redes virtuales más
completas, la cual incluye servicios de banca telefónica, banca móvil y banca por
Internet. A la fecha cuenta con 182 oficinas a nivel nacional (128 en Lima y Callao y
54 en provincias), a las que se suman 507 cajeros automáticos y 1,084 Cajeros Express
(ventanillas comerciales del Banco) ubicados en los principales retailers asociados en
todo el país.

Con respecto al campo de acción, éste se encuentra enmarcado dentro del Proceso de
Control de Cambios del área de TI, el cual se realiza como requisito para que los
programas construidos por el área de Desarrollo puedan ser pasados al ambiente
productivo. De manera específica, el proyecto está dirigido hacia el área de IST, la cual
se encarga de realizar pruebas de tipo técnico. Cabe mencionar que dichas revisiones
demandan la inspección del código fuente como parte del protocolo de revisión.

Las situaciones problemáticas que se observan se describen brevemente a continuación.


Se genera un número importante de rechazos en los pases a Producción inspeccionados
por el área de IST, lo cual genera reprocesos. Esto se debe a que los analistas de
Desarrollo no cuentan con retroalimentación temprana de las anomalías presentes en sus
programas y se enteran de ellas recién cuando el área de IST realiza la inspección de
código. Por otro lado, debido a restricciones de personal, las inspecciones se realizan
por muestreo, es decir, solamente se verifica una porción del universo de Pases a
Producción, por lo que se generan incidentes y/o incumplimiento de estándares que
dificultan el mantenimiento futuro de las aplicaciones. Adicionalmente, dado que las
herramientas para gestionar la evidencia de las revisiones y las Cartas de Desviación[d]
resultan rudimentarias, se generan demoras en los procesos de clasificación de pases y
generación de información para Auditoría. Así mismo, no se cuenta con suficiente
información estadística de manera periódica y existen Cartas de Desviación vencidas.

Página 19
El objetivo general del proyecto es el desarrollo de un sistema a la medida que permita
la gestión del flujo de revisiones del área de IST y los objetivos específicos son los
siguientes:

a) Desarrollar un analizador estático de código fuente CL[h] y Genexus[i].


b) Desarrollar una herramienta que permita la gestión del flujo de revisión de IST.
c) Desarrollar una herramienta que sugiera al Supervisor de IST el tipo de revisión
a aplicar durante el proceso de clasificación de Pases a Producción.
d) Automatizar la generación de los principales informes estadísticos del área.
e) Automatizar la generación de información solicitada por el área de Auditoría.
f) Desarrollar un sistema que permita el registro de las Cartas de Desviación y la
emisión de alertas por vencimiento.

A nivel de beneficios, se espera que a través de la implementación de este proyecto sea


posible conseguir los siguientes beneficios para la empresa:

a) Incrementar el porcentaje de pases a producción[l] que son objeto de una revisión


de código fuente en plataforma AS/400.
b) Reducir la cantidad de rechazos por parte de IST por defectos controlados por el
analizador estático de código.
c) Reducir los tiempos del proceso de Clasificación de Pases a Producción.
d) Disminuir los tiempos en la exportación de documentos asociados a un conjunto
de revisiones de IST.
e) Reducir tiempos en la generación de información estadística referente a la
calidad de programación del área de Desarrollo y productividad del área.
f) Reducir los casos de software que se encuentre operando fuera de los plazos
establecidos en las Cartas de Desviación.
g) Incrementar la satisfacción del personal de IST en relación a las herramientas
que utiliza para realizar su labor.

Página 20
CAPÍTULO 1: FUNDAMENTOS TEÓRICOS

1.1. Introducción
Dentro del alcance del proyecto se tiene la elaboración de un analizador estático de
código fuente, por lo que el presente capítulo proporciona información referente al
estado del arte, casos de éxito y tendencias de mercado referentes a este tipo de
analizadores y al testing en general. Adicionalmente, se detalla la organización en la
cual se elaborará el proyecto y se define el campo de acción del mismo. Finalmente, se
presenta un análisis crítico de los problemas de información que se apunta a resolver a
través del proyecto en cuestión.

1.2. Marco Teórico

1.2.1. Estado del Arte

1.2.1.1. Estado de la investigación

1.2.1.1.1. Análisis estático de código fuente


Los autores Brian Chess y Jacob West [9], en su libro “Secure Programming with Static
Analysis”, indican que si bien existe un número potencialmente ilimitado de errores de
programación que los desarrolladores podrían cometer, en la práctica se observa que los
mismos errores se repiten frecuentemente. Algunos ejemplos clásicos son los errores de
tipo “buffer overflow” y los “SQL Injection”, los cuales son igual de comunes hoy en
día que hace 15 años, a pesar de que la industria informática ha avanzado en temas de
estandarización y el establecimiento de buenas prácticas.

También mencionan que tener conocimiento acerca de los errores frecuentes y cómo
evitarlos resulta insuficiente a menos que dicho conocimiento se aplique de una manera
completa y consistente a lo largo del tiempo. Una manera de conseguir dicha
consistencia es a través de la utilización de un analizador estático de código fuente para
la revisión de los programas. Como en todos los casos de automatización, uno de los

Página 21
principales beneficios es la velocidad, el volumen de código fuente que puede revisarse
y la consistencia antes indicada. Dichos beneficios son confirmados por el autor Vipin
Balachandran en su publicación “Reducing Human Effort and Improving Quality in
Peer Code Reviews using Automatic Static Analysis” [10].

Chess y West [9], indican, en relación al alcance de este tipo de herramientas, que
existen errores que son propios de una incorrecta implementación a nivel de código
fuente y errores de diseño que competen al ámbito de la Arquitectura de Sistemas.
También mencionan que existen defectos de tipo genérico, es decir, errores que pueden
ser clasificados como tales sin importar el contexto o el propósito del programa. Esto
contrasta con errores específicos, los cuales son más difíciles de encontrar puesto que se
requiere de un mayor conocimiento del proceso del negocio, de las reglas de la industria
en el que se ejecuta el programa, etc.

Ilustración 1: Análisis de tipos de defectos vs visibilidad [9]

Como se puede apreciar, los autores indican que el tipo ideal de defectos que una
herramienta de análisis estático puede detectar son errores de tipo genérico y que se
encuentren visibles directamente en el código fuente.

Página 22
1.2.1.1.2. Estrategias para el análisis estático de código fuente
Los antes mencionados autores indican que existen dos posibilidades para realizar
análisis estático de código. El primero consiste en trabajar directamente con el código
fuente del programador, mientras que la segunda opción es trabajar con los objetos
binarios producidos por el compilador a partir del fuente antes indicado.

En términos prácticos, la segunda estrategia cuenta únicamente con dos ventajas: no


existen dudas de lo que producirá el compilador puesto que ya generó el binario y
existen escenarios en donde el código fuente podría no estar disponible. Sin embargo,
las desventajas son múltiples, por lo que generalmente se recomienda la primera
alternativa. Algunas de las desventajas incluyen la dificultad propia de interpretar un
objeto binario y también la dificultad para mapear el error encontrado en el binario con
el código fuente con el que cuenta el desarrollador.

1.2.1.1.3. Técnicas para el análisis estático de código fuente


Los autores Chess y West [9] señalan las siguientes técnicas, las cuales son útiles para
la construcción de un analizador estático de código fuente y se encuentran presentes en
los analizadores modernos que forman parte del mercado.

La aplicación de una o la totalidad de las técnicas depende de la sofisticación del


analizador, pero en términos generales se pueden identificar las siguientes actividades:

 Construir un modelo a partir del código fuente

- Análisis Lexicológico: el objetivo es el de desechar características sin


importancia del programa, como por ejemplo los espacios en blanco. Así
mismo, se identifican las palabras reservadas que son propias del lenguaje de
programación que se esté utilizando.

- Árbol de Sintaxis Abstracto (AST): a continuación se construye una estructura


de tipo árbol en base a reglas de gramática propias del lenguaje de
programación.

Página 23
Ilustración 2: Árbol de Sintaxis Abstracto [9]

- Semántica: Se realiza el recorrido del árbol y se enriquece el mismo con


información de los tipos de variables entre otras cosas. Esto permite
posteriormente verificar si las asignaciones a una variable en particular son del
tipo correcto.

- Flujo del Programa. Se agrega información al árbol con respecto a las diferentes
bifurcaciones que puede tomar un programa en el momento de ejecución.
También se elabora un grafo que modela la interacción entre diferentes módulos
del sistema. Esto permite por ejemplo, la detección de código “no accesible”.

- Flujo de Datos: Se rastrea la creación de las variables a lo largo del programa, es


decir, es necesario saber en qué lugar se crean las variables y en qué lugares
reciben valores.

- “Taint Propagation” (Propagación de Manchas). Se presta especial atención a


las variables que reciben datos directamente del usuario, puesto que se
encuentran más expuestas a recibir datos erróneos o maliciosos.

Página 24
- Comportamiento de Punteros: En los lenguajes de programación que permiten al
programador acceder a la memoria directamente, cabe la posibilidad de que se
sobrescriba una posición de memoria inadvertidamente. Este análisis evalúa si
existe más de un puntero de memoria apuntando a la misma posición.

 Realizar análisis

- Se aplican reglas de análisis al modelo elaborado en el paso anterior.

- El análisis se realiza de dos maneras: local y global.

Ilustración 3: Análisis local vs Análisis Global [9]

- El análisis local opera sobre el árbol AST y por lo general se utiliza para
analizar funciones o porciones pequeñas de código.

- Por otro lado, el análisis global opera sobre el grafo de dependencias que genera
el “Flujo de Programa” y analiza la interacción entre diferentes módulos del
programa.

- El análisis global demanda más tiempo, pero cuenta con un mayor contexto
sobre el funcionamiento de todo el sistema.

 Administrar Reglas

El standard de la industria es que los analizadores estáticos de código deben ser


configurables a través de reglas.

Página 25
 Mostrar resultados

Por lo general la presentación de resultados cuenta con las siguientes características:

- Explicación del hallazgo y el lugar del código fuente donde ocurre.

- Agrupamiento de hallazgos en categorías.

- Filtrado de hallazgos en base a criterios como criticidad, programa en el que


ocurren, etc.

En adición a todo lo antes indicado, Dan Cornell [11], en su presentación “Static


Analysis Techniques for Testing Application Security”, indica en relación al proceso de
análisis que existen diferentes niveles de sofisticación: se puede analizar solamente a
nivel de línea, a nivel de función, a nivel de módulo, a nivel de programa o a nivel del
sistema completo. Trabajar a nivel de líneas puede ser más rápido, pero se genera un
número mayor de falsos positivos, mientras que trabajar a nivel de todo el sistema
ofrece mayor contexto, lo cual evita algunos de los falsos positivos mencionados, pero a
costa de mayor tiempo y procesamiento.

1.2.1.1.4. Incorporación de un analizador estático de código en el proceso de testing


Como bien mencionan los autores Chess y West [9], es necesario definir un proceso
para la utilización de este tipo de herramientas. En opinión de los autores, los siguientes
pasos deberían respetarse:

Página 26
Ilustración 4: Incorporación en el proceso de testing [9]

 Definir Objetivos: Un conjunto bien definido de objetivos ayudará a priorizar el


código que debe ser revisado y los criterios que deben utilizarse para revisarlo.

 Ejecutar el analizador de código: Además de las tareas necesarias de instalación


de la herramienta, es necesario haber definido y configurado previamente las reglas
que aplican específicamente al entorno en el que se va a ejecutar la herramienta.

 Revisar el código : Debido a que ningún analizador automático de código es


infalible, se recomienda que un analista humano verifique los hallazgos y confirme
si se trata de un defecto real o de un falso positivo. Ivo Gomes, Pedro Morgado,
Tiago Gomes y Rodrigo Moreira [12] también proponen un flujo de trabajo similar.

Página 27
Ilustración 5: Revisión de código con un analizador estático [9]

 Corregir el código: Los hallazgos de la herramienta deben servir para que se corrija
el código fuente, pero también deben servir como un elemento valioso para
determinar si existen vacíos en lo que se refiere a la capacitación de los
desarrolladores. Así mismo, los hallazgos pueden servir para perfeccionar las reglas
que utiliza la herramienta, especialmente en lo que se refiere a falsos positivos.

1.2.1.1.5. Incorporación de un analizador estático de código en el proceso de desarrollo


Según Chess y West [9], algunas consideraciones importantes a tomar en cuenta cuando
se desea incorporar un analizador estático de código al proceso de desarrollo son:

 ¿Quién va a ejecutar la herramienta?

Existen algunas consideraciones prácticas que tienen que ver con el conocimiento
del código fuente.

La primera opción es que la herramienta sea ejecutada por el personal de las áreas
de testing. En este caso dicho equipo aporta la experiencia acumulada de múltiples
revisiones pero cuenta con menos conocimiento y entendimiento del código que el
desarrollador que lo escribió.

Página 28
La segunda opción es que la ejecución esté a cargo de los desarrolladores, puesto
que conocen a detalle su programa. Sin embargo, sucede que los programadores
tienen plazos que cumplir, por lo que utilizar la herramienta y corregir los hallazgos
podría no ser su prioridad en un momento dado.

La tercera opción, que es además la recomendada, es que ambos grupos utilicen la


herramienta y se beneficien mutuamente.

 ¿Cuál es el momento oportuno para ejecutar la herramienta?

La respuesta a esta pregunta depende básicamente de cuánto tiempo demanda la


ejecución de la misma.

El costo de corregir un error se incrementa con el tiempo, como indican los autores
Ivo Gomes, Pedro Morgado, Tiago Gomes y Rodrigo Moreira en su publicación
“An overview on the Static Code Analysis approach in Software Development”
[12]. Por lo tanto, el escenario ideal es el de contar con una herramienta que sea de
rápida y sencilla utilización, de manera que se pueda incorporar fácilmente a las
actividades de los desarrolladores.

Alternativamente, se puede ejecutar la herramienta en determinados hitos del ciclo


de vida del software, por ejemplo, al finalizar el desarrollo o de acuerdo a ciertas
fases del proyecto. La ejecución en estos momentos es recomendable para la
extracción de métricas, en especial si dichas métricas van a ser utilizadas como base
para un programa de capacitación.

 ¿Qué sucede con los resultados?

Para estimular a los desarrolladores a utilizar la herramienta, se recomienda


establecer un proceso en el cual los resultados de la herramienta sean considerados
dentro del análisis de la calidad de un programa y puedan ser causantes de su
rechazo.

Al margen de las consideraciones antes indicadas, Chess y West señalan que la


recomendación general para la implementación de herramientas automáticas de testing
es la de empezar con un alcance reducido y ampliarlo de manera incremental. En otras
Página 29
palabras, en el caso de los analizadores estáticos de código, es preferible empezar con
un conjunto pequeño de reglas de detección bien entendidas e incorporar nuevas reglas
de manera incremental y controlada.

1.2.1.1.6. Métricas
Métricas generales para medir la calidad del software
 Densidad de Defectos

Consiste en dividir la cantidad de defectos encontrados entre la cantidad de líneas de


código. Sin embargo, como advierten Chess y West [9], y Stephen Khan [13] esta
métrica solamente debería ser utilizada para fines comparativos entre proyectos y no
como una manera de medir el riesgo, puesto que no necesariamente dos defectos son
el doble de peligrosos que uno solo.

 Complejidad ciclomática

Stephen Khan [13], en “Metrics and Models in Software Quality Engineering”,


indica que se utiliza para medir qué tan sencillo es probar un programa y
comprender su funcionamiento. En el caso específico del software, mide el número
de caminos linealmente independientes que conforman el programa. Se deduce que
un programa con muchos caminos independientes será más complejo de probar y de
mantener.

La fórmula general para calcular la complejidad ciclomática en lenguajes de


programación que soportan el paradigma de programación estructurada es:

M = Número de sentencias “if” o bucles condicionales + puntos de salida del


programa

Se recomienda que la complejidad ciclomática no supere el valor de 10. Se adjunta


un cuadro referencial de rangos:

Página 30
Complejidad Ciclomática Evaluación del Riesgo
1-10 Programa Simple, sin mucho riesgo
11-20 Programa Medio, riesgo moderado
21-50 Programa Complejo, alto riesgo
50 Programa no testeable, muy alto riesgo

Tabla 1: Valores de complejidad ciclomática [13]

Métricas para las revisiones de código


Los autores Ivo Gomes, Pedro Morgado, Tiago Gomes y Rodrigo Moreira [12]
mencionan que en la década de 1970, la revisión formal y las inspecciones de código
fueron reconocidas como importantes para la productividad y para la calidad del
producto. La definición de Jones para la eficiencia de detección de errores es la
siguiente:

defectos encontrados
Eficiencia en la detección de errores = x 100
defectos encontrados + defectos no encontrados
(encontrados después)

Como se puede observar, existe un valor no conocido en el divisor que solamente puede
ser calculado con información de revisiones futuras.

Métricas para los analizadores estáticos de código fuente


Chess y West [9] indican que existe una garantía absoluta de que los analizadores
estáticos de código generarán falsos positivos y falsos negativos en algún momento.
Desde el punto de vista de la seguridad, los falsos negativos son peores que los falsos
positivos, puesto que se trata de un error realmente presente que no es descubierto. Por
otro lado, demasiados falsos positivos entorpecen las revisiones, generan desconfianza y
limitan la efectividad de la herramienta.

En el caso de los falsos positivos, se puede tomar la siguiente métrica. Los rangos que
conforman parte del indicador dependerán del lenguaje de programación, tipo de reglas
a verificar, etc. Únicamente para efectos informativos, el porcentaje de falsos positivos

Página 31
de herramientas comerciales para los lenguajes C, C++ y Java, oscila entre el 10% y
20% [12] [14].

cantidad de falsos positivos


índice de falsos positivos = x 100
cantidad de defectos encontrados

1.2.1.2. Casos de éxito


Coverity
Un caso interesante sobre el análisis estático de código es el servicio que ofrece
Coverity. Básicamente se trata de un servicio gratuito para la comunidad de código
abierto para ayudar a mejorar la calidad y la seguridad en el proceso de desarrollo de
software. El servicio soporta los lenguajes de programación C, C++ y Java.

En el siguiente gráfico se puede notar que la cantidad de proyectos que hacen uso de la
herramienta se ha incrementado de manera muy significativa, contando a marzo del
2014 con más de 1,500 proyectos [6].

Ilustración 6: Proyectos que utilizan Coverity Scan hasta marzo del 2014 [6]

El siguiente gráfico muestra la cantidad de errores de programación detectados por la


herramienta y cuántos de esos defectos se resolvieron en un tiempo menor a un año. El
análisis abarca desde la creación de la herramienta en el 2006 hasta el 2013 [6]. El
Página 32
número de errores es resaltable, puesto que el acumulado es de cerca de 90,000 defectos
encontrados.

Ilustración 7: Defectos corregidos entre 2008 y 2013 [6]

Adicionalmente, es importante resaltar que en el 2013 se resolvieron casi 50,000


defectos, lo cual representa más del doble que el año anterior.

Coverity en el proyecto Linux


Para mostrar los beneficios en un proyecto específico, se muestra a continuación los
resultados del análisis del código fuente de Coverity del sistema operativo Linux [6], el
cual se encuentra considerado como uno de los códigos fuentes de mayor calidad en la
industria. Dicho sistema operativo es un proyecto de código abierto en el que participan
tanto voluntarios como personal asalariado de diversas empresas. A manera
informativa, se detalla quiénes son los principales colaboradores del proyecto y algunas
de las métricas del mismo [15], las cuales dan una idea de la velocidad del ciclo de
desarrollo:

 Principales empresas contribuyentes:

- Red Hat

- Intel

Página 33
- Texas Instruments

- Linaro

- SUSE

- IBM

- Samsung

- Google

- Vision Engraving Systems Consultants

- Wolfson Microelectronics

 Tiempo medio entre publicación: 70 días

 Cantidad de líneas cambiadas entre cada publicación: 10,000.

 Cambios por hora: 7.14

 Cantidad de desarrolladores que han contribuido con el proyecto: Más de 10,000


desde 2005.

En lo que se refiere a la utilización de un analizador estático de código, el cuadro


siguiente [6] se encuentra desagregado por año e incluye todas las versiones del sistema
operativo lanzadas entre el 2006 y el 2013. Se puede apreciar que el uso de un
analizador automático ha permitido la inspección masiva de código y la corrección de
un número importante de defectos. Esto cobra aún más importancia a medida que las
líneas de código aumentan (entre el 2006 y el 2013 se analizaron 2 veces y media más
líneas de código).

Página 34
Tabla 2: Análisis de Linux 2006-2013 [6]

En el caso específico de este proyecto, existe un rol dentro del equipo de desarrollo
llamado “Coverity Scan Administrator” quien se encarga de definir y normar el uso de
la herramienta. Una medida interesante aplicada en agosto de 2013 fue la separación del
proceso de revisión en módulos más pequeños para simplificar la gestión:

Tabla 3: Densidad de defectos por componente en Linux – 2013 [6]

Página 35
El cuadro muestra la densidad de defectos de los principales componentes. En el caso
del kernel de Linux, en el año 2011 tenía una densidad de defectos de 0.95, que se
redujo a 0.76 en el 2012 y fue de 0.61 en el 2013. Este cambio es testimonio del
compromiso del equipo con la calidad y es indudable que las herramientas
automatizadas juegan un rol importante en esta mejora.

Otro de los principales cambios implementados por el Administrador de Coverity fue el


enfoque en priorizar la eliminación de los defectos detectados recientemente. Dichos
defectos son más simples de resolver, puesto que el código aún está fresco en la mente
de los desarrolladores. Por otro lado, el código antiguo es frecuentemente reescrito, por
lo que defectos antiguos se eliminan como parte del ciclo de vida natural del software
[6].

El siguiente gráfico muestra el impacto de dicho enfoque [6]:

Ilustración 8: Cantidad de días para corregir defectos nuevos encontrados [6]

Puesto que la política fue establecida a mediados del 2013 se puede apreciar fácilmente
un impacto positivo en los meses entre agosto y noviembre, siendo el tiempo de
resolución menor a 15 días en los últimos meses.

Página 36
FindBugs
Los autores Ayewah, Pugh, Hovemeyer, Morgenthaler y Penix [5], en su publicación
“Using Static Analysis to Find Bugs”, mencionan dos casos interesantes de estudio.

El primero se refiere a la utilización de un analizador estático de código para someter a


prueba a un código fuente de alta calidad como el Java Development Kit (JDK) de la
empresa Oracle.

Se analizó la versión 1.6 del JDK y solamente en las categorías de defectos de alto y
medio impacto se encontraron 379 defectos. Un análisis más detallado confirmó que
214 generaban un comportamiento funcional diferente al deseado, mientras que el resto
no impactaba en los resultados, porque la anomalía existía pero se trataba de código que
no se ejecuta nunca.

En el mismo informe [5], los autores antes señalados, detallan la experiencia de Google
en la utilización de la herramienta de análisis estático de código FindBugs, la cual se
enfoca en el lenguaje de programación Java. Los autores indican que la herramienta se
implementó en tres fases. La primera fase consistió en incorporar al analizador en la
revisión automática de todo el código fuente recientemente incorporado en el
repositorio de código. Las advertencia generadas se almacenaban para que los
desarrolladores pudieran, a través de una interfaz web, confirmar los hallazgos o
marcarlos como falsos positivos. Esto permitió ganar experiencia en relación a los
defectos encontrados por la herramienta.

En la segunda fase del proyecto, se estableció un equipo especializado, cuya labor


consistió en la detección y clasificación de los defectos y patrones de error más
importantes para la empresa de acuerdo a su política interna. Adicionalmente, se
perfeccionaron las reglas de detección. A lo largo del proceso se generaron tickets para
la atención de los errores encontrados, los cuales eran solucionados por los
desarrolladores.

Finalmente, en la tercera y actual etapa, se masificó la labor de detección y revisión.


Antes de que un código fuente pueda impactarse en el repositorio de código, otro
desarrollador debe revisarlo primero, incluyendo los resultados del analizador de
código. Adicionalmente, para facilitar las labores, se proporcionaron mecanismos para

Página 37
la supresión de falsos positivos, filtrado de defectos de acuerdo al nivel de certeza de la
herramienta, filtrado por criticidad y categoría, etc.

La información estadística indica además que los desarrolladores responden


adecuadamente y revisan diligentemente los defectos categorizados como de Alta
Prioridad como demuestra el cuadro siguiente:

Ilustración 9: Porcentaje de usuarios que revisan alertas de alta prioridad [5]

Como puede apreciarse, más de un 90% de los desarrolladores se involucra en la


revisión de alertas referidas a malas prácticas de programación, defectos potenciales que
afectan a la performance, corrección del código y concurrencia.

1.2.1.3. Tendencias
Testing
De acuerdo a Pierre Audoin Consultants [16], en su publicación denominada “Software
Testing Spends to Hit 100 billion by 2014”, las pruebas de software se han convertido
en uno de los segmentos de mayor crecimiento del mercado de TI. El informe indica
que el gasto mundial en software y servicios de pruebas continuará creciendo a una tasa
anual del 5,2% y alcanzará los US$ 100 mil millones en 2014. También se menciona
que el testing se está convirtiendo en una de las áreas más importantes de contratación
de personal en el ámbito de TI.

Página 38
Por su parte, NASSCOM Research [2], en su informe “Software Testing – Shifting from
Functional to Business Assurance” ofrece una cifra más conservadora, pero que igual
evidencia el fuerte crecimiento del sector. Vale la pena resaltar en el siguiente cuadro
que la India apunta a este segmento como un pilar estratégico.

Ilustración 10: Mercado Global del Testing 2010-2020 [2]

El informe de Pierre Audoin Consultants [16], también identifica una serie de nichos de
alto crecimiento dentro del mercado de las pruebas, incluyendo especializaciones en
SAP y Oracle, tercerización de servicios de pruebas, pruebas de seguridad de
aplicaciones y soluciones de pruebas basadas en la nube.

Por su parte, Research and Markets, en su informe “Global Software Testing Services
Market 2010-2014 “ [7], señala que la industria de pruebas de software está siendo
testigo de cambios significativos tanto en la tecnología inteligente, así como en el
proceso de negocio. Dichos cambios son impulsados por necesidades del negocio tales
como la reducción de gastos, la mejora de la calidad y el tiempo de salida al mercado.
También se hace mención a una tendencia creciente de Business Process Outsourcing
de Servicios de Testing y la oportunidad que esto significa para países como la India y
China.
Página 39
En el informe “World Quality Report 2013-14 Reveals that Application Quality
Assurance and Testing Now Accounts for Almost a Quarter of IT Spending” [1] de la
consultora Capgemini, se indica que la prueba de aplicaciones representa casi una cuarta
parte del gasto de TI a nivel mundial. En el año 2012 este porcentaje era de 18%,
mientras que en el 2013 se elevó a 23%.

También se menciona que las organizaciones son cada vez más dependientes de los
sistemas y aplicaciones de TI para apoyar la continuidad de su negocio, por lo que
muchas de ellas están aplicando un enfoque más estratégico, centralizado y de negocios
en relación a las pruebas del software. Es oportuno indicar que en algunas empresas se
han establecido métricas que le otorgan un valor más estratégico a las actividades de
testing. Estas métricas se relacionan con un mayor retorno de la inversión empresarial,
como por ejemplo, la contribución de QA a los plazos de salida al mercado o el ahorro
de costos por defecto encontrado.

Sobre este particular, NASSCOM Research confirma en su reporte “Software Testing –


Shifting from Functional to Business Assurance” [2], que efectivamente, desde hace
algunos años existe un foco mayor en la generación de métricas de testing orientadas al
negocio. También se hace mención a la automatización como una forma de reducir los
costos del testing.

Página 40
Ilustración 11: Evolución de las métricas de testing [2]

El siguiente cuadro, muestra algunas de las tendencias de la industria del Testing. Se


pueden resaltar, en el cuadrante de “Innovación”, la automatización de servicios, la
contratación de laboratorios de prueba a demanda y la virtualización de ambientes de
testing.

Por otro lado, desde el punto de vista del negocio, se empieza a considerar al testing
como un creador de valor y un diferenciador del producto final. Así mismo, existen
oportunidades de BPO (Business Process Outsourcing) en este campo. También es
interesante la aparición de nichos, como por ejemplo testing especializado para SAP y
Oracle.

Página 41
Ilustración 12: Innovación en testing [2]

En el mismo informe se explica que el talento del recurso humano es un factor


preponderante en el campo del Testing. El siguiente cuadro, que aplica al contexto de la
India, muestra que existe un fuerte énfasis en la capacitación (ya sea a través de cursos
internos, certificaciones y acuerdos con las universidades para facilitar becas) y que
además el salario medio de los testers ya se encuentra a la par con el de los
desarrolladores.

Página 42
Ilustración 13: Gestión del Talento en el área del Testing [2]

Automatización en el campo del Testing


En base a un estudio conjunto realizado por IBM, uTest y Techwell llamado “The future
of Testing – Where do Testers Spend Their time” [3] se presentan a continuación
algunos hallazgos interesantes en lo que se refiere a las actividades de testing y
automatización. Este estudio corresponde a abril del 2014 y participaron 250 testers
profesionales a nivel mundial. De estos, el 63% se ubica en los Estados Unidos de Norte
América y el 89% cuenta con seis o más años de experiencia.

Resulta interesante que el 32% de los encuestados indica que la frecuencia de


publicación de versiones en su organización se ha incrementado, lo cual evidentemente
genera mayor presión en las áreas de testing.

Página 43
Ilustración 14: Frecuencia de publicaciones de software [3]

En relación a la penetración de la automatización dentro de su trabajo, las respuestas de


los encuestados se presentan en el siguiente cuadro. Los analizadores estáticos de
código encajan en la categoría de pruebas unitarias y pruebas de seguridad, por lo que
se puede concluir que se cuenta con una penetración de alrededor de 50%.

Ilustración 15: Porcentaje de pruebas automatizadas [3]

La siguiente pregunta revela que más del 50% de los encuestados dedican más tiempo
del que quisieran a tareas no relacionadas con el testing.

Página 44
Ilustración 16: Actividades realizadas por los testers [3]

Por otro lado, los testers encuestados indicaron en un 32% que desearían que la
automatización de pruebas jugara un rol más importante en la cultura de su
organización.

Ilustración 17: Cambios organizacionales deseados por los testers [3]

Finalmente, ante la pregunta de en qué desearían invertir más tiempo, los probadores
indicaron una buena disposición hacia la creación y ejecución de pruebas automáticas.

Página 45
Ilustración 18: Actividades que desean realizar los testers [3]

Análisis estático de código


En lo que se refiere al análisis estático de código, el siguiente cuadro muestra el
Cuadrante Mágico de Gartner. Se presenta el cuadro al 2010, puesto que posteriormente
se incluyó esta categoría dentro de otra más general de “Software de Prevención de
Vulnerabilidades” que abarca también otros productos.

Ilustración 19: Cuadrante mágico de Gartner para analizadores estáticos [17]

Página 46
El cuadro evidencia que se trata de una industria competitiva en la que se encuentran
presentes empresas de grandes dimensiones como IBM y Hewlett Packard.

1.2.1.4. Síntesis sobre el asunto de estudio


A manera de resumen se puede indicar lo siguiente:

 La utilización de analizadores estáticos de código constituye una práctica de amplia


utilización entre los líderes de la industria del desarrollo de software.

 Existen casos bien documentados de los beneficios y el impacto de la utilización de


analizadores estáticos en proyectos de grandes dimensiones como por ejemplo el
sistema operativo Linux o el JDK de Java.

 Existen fundamentos teóricos maduros para la construcción de analizadores


estáticos y existen diferentes niveles de sofisticación dependiendo del alcance que se
defina como requerimiento.

 La incorporación de una herramienta de este tipo en el ciclo de vida del software


requiere de procesos y definiciones de carácter operativo que son importantes para
el éxito del emprendimiento.

 El mercado mundial del testing está creciendo y se ha convertido en un elemento


estratégico para el éxito de las empresas.

 La cantidad y frecuencia de los pedidos de revisión a las áreas de testing se viene


incrementando y existe aún un potencial significativo para iniciativas de
automatización de procesos en este campo.

Página 47
1.2.2. Conceptualizaciones Generales

Página 48
Página 49
Página 50
Página 51
Página 52
Página 53
Página 54
Página 55
Página 56
1.2.3. Modelo Teórico
Cualquier alternativa tecnológica debe abarcar tres pilares fundamentales: tecnología,
procedimientos y personas.

Tecnología

Procedimientos Personas

Ilustración 20: Tecnología, procedimientos y personas (Elaboración propia)

1.2.3.1. Tecnología
El siguiente diagrama muestra la interacción entre los diferentes elementos que
conforman el modelo teórico.

Página 57
Ilustración 21: Modelo teórico (Elaboración propia)

Durante la etapa de construcción del software, el analista de Desarrollo puede utilizar,


tantas veces como sea necesario, al analizador estático de código para verificar su
programa contra una lista de reglas previamente definidas. El analizador genera un
reporte de hallazgos para el usuario y registra los hallazgos de la verificación en un
repositorio de evidencias.

En un momento posterior, el analista de Desarrollo gestionará una solicitud de Pase a


Producción[l], la cual deberá pasar la verificación del área de testing. El analista de
testing podrá revisar los hallazgos del analizador estático y generará documentación
adicional de las pruebas y verificaciones realizadas. Dicha evidencia se almacenará en
el repositorio de evidencias.

Finalmente, la explotación de la información que se encuentra en el repositorio permite


la generación de estadísticas relevantes para la toma de decisiones.

Página 58
1.2.3.2. Procedimientos
Con respecto a los procedimientos para la implementación de un analizador estático de
código a nivel de las áreas de Testing y Desarrollo, se han tomado en consideración las
buenas prácticas señaladas en las secciones 1.2.1.1.4 y 1.2.1.1.5, delimitando las
responsabilidades como sigue:

 Se deberá definir y priorizar, en coordinación con el área de Testing, las reglas que
más valor aportan para las revisiones automáticas.

 La administración y configuración de las reglas debería estará a cargo del área de


Testing.

 La herramienta podrá ser ejecutada tanto por los desarrolladores como por el
personal del área de pruebas.

 Cuando los desarrolladores promuevan su código fuente hacia el área de testing


debería ser obligatoria la ejecución del analizador automático de código.

 Puesto que podrían presentarse falsos positivos, un analista de Testing verificará los
hallazgos de la herramienta.

 De confirmarse los hallazgos, se debería rechazar el programa.

1.2.3.3. Personas
Se deberá capacitar al personal de las áreas de Testing y Desarrollo acerca del
funcionamiento general del analizador estático de código y acerca de las políticas y
procedimientos que se definan como producto de la incorporación de la herramienta en
el ciclo de vida del software. Adicionalmente, se deberá entrenar al personal del área de
Testing en relación a la configuración de reglas de verificación.

1.2.4. Definiciones Operativas


Los siguientes indicadores aplican al modelo teórico presentado en el punto 1.2.3.

Página 59
1.2.4.1. Indicadores Cualitativos

Cualitativos Descripción
Satisfacción del equipo de Es el grado de satisfacción que perciben los integrantes del
Testing equipo de testing en relación a los resultados del analizador
de código estático.
Se mide a través de una encuesta a los usuarios sobre la
calidad de la herramienta.
Satisfacción del equipo de Es el grado de satisfacción que perciben los integrantes del
Desarrollo equipo de desarrollo en relación a los resultados del
analizador de código estático.
Se mide a través de una encuesta a los usuarios sobre la
calidad de la herramienta.

Tabla 4: Indicadores cualitativos del Modelo Teórico

1.2.4.2. Indicadores Cuantitativos

Cuantitativos Descripción
Índice de falsos positivos Es el porcentaje de falsos positivos del total de los defectos
encontrados.
Se mide mediante la confirmación de los falsos positivos
por parte de los analistas de testing.
Cantidad de falsos negativos Es la cantidad de falsos negativos detectados en las
evaluaciones manuales de código.
Se mide mediante las inspecciones de código realizadas por
los analistas de testing.

Tabla 5: Indicadores cuantitativos del Modelo Teórico

Página 60
1.3. Objeto de estudio

1.3.1. Organización objetivo


Scotiabank (The Bank of Nova Scotia) es una de las instituciones financieras líderes de
Norteamérica. Cuenta con 175 años de experiencia en el mercado y su casa matriz se
encuentra ubicada en Toronto, Canadá. El Grupo Scotiabank está conformado por un
equipo de más de 83,000 empleados dedicados a sus más de 12.5 millones de clientes en
más de 50 países, en 5 continentes y en más de 80 idiomas, lo cual lo convierte en el
banco canadiense con mayor presencia a nivel internacional. [8]

En lo que se refiere a la subsidiaria local, Scotiabank Perú S.A.A. inicia sus operaciones
en el Perú en el año 2006 combinando, a través de una fusión bancaria, la experiencia
del Banco Wiese Sudameris con el enfoque en el servicio del Banco Sudamericano.

Con respecto a la composición del accionariado, The Bank of Nova Scotia participa en
forma directa con un 2.32% de las acciones y en forma indirecta, a través de NW
Holdings Ltd. y Scotia Perú Holdings S.A., con el 55.32% y 40.11%, respectivamente.

Scotiabank Perú S.A.A. es una empresa dedicada a las operaciones de intermediación


financiera dentro del marco de la Ley General del Sistema Financiero, y la Ley
Orgánica de la Superintendencia de Banca y Seguros (Ley N° 26702). Las actividades
que desarrolla se ubican dentro del Grupo 6519 de la Clasificación Internacional
Industrial Uniforme (CIIU), que corresponde a la Actividad Bancaria Comercial y de
Seguros.

Dentro de las principales actividades que la institución realiza se pueden destacar


actividades destinadas a los segmentos de Banca Retail, Banca Corporativa, Banca
Empresarial y Banca de Inversión.

El Banco cuenta con una importante red física y una de las redes virtuales más
completas, la cual incluye servicios de banca telefónica, banca móvil y banca por
Internet. A la fecha cuenta con 182 oficinas a nivel nacional (128 en Lima y Callao y 54
en provincias), a las que se suman 507 cajeros automáticos y 1,084 Cajeros Express
(ventanillas comerciales del Banco) ubicados en los principales retailers asociados en
todo el país.

Página 61
Finalmente, de acuerdo a los resultados más recientes de la encuesta de “Great Place to
Work” (2014), Scotiabank se encuentra dentro de la lista de las 5 mejores empresas para
trabajar en el Perú (categoría de empresas con más de 1,000 colaboradores) [27].

1.3.2. Misión
“Ayudar a nuestros clientes a mejorar su situación financiera, proporcionándoles
soluciones relevantes a sus necesidades específicas” [28].

1.3.3. Visión
“Llegar a ser el mejor banco del Perú en ayudar a sus clientes a alcanzar sus objetivos”
[28].

1.3.4. Objetivos estratégicos


Se enumeran a continuación los objetivos estratégicos de la unidad de Banca
Internacional, unidad a la que pertenece Scotiabank Perú S.A.A. Dichos objetivos se
presentan clasificados de acuerdo a los cuadrantes del Balanced Scorecard:

 Finanzas

- Mejorar la rentabilidad y productividad sin enfocarse necesariamente en


aumentar el volumen.

- Incrementar la rentabilidad en todos los segmentos de clientes.

- Aumentar la participación en la gestión de la cartera de clientes objetivo.

 Clientes

- Incrementar el nivel de satisfacción del cliente.

- Optimizar el asesoramiento financiero a los clientes en los diversos canales de


atención.

- Mejorar las relaciones con los clientes de acuerdo a sus preferencias y el valor
que éstos representan para el banco.

 Operaciones

- Mejorar la integración entre canales múltiples, de manera que sucursales y


canales alternos realicen operaciones de manera eficaz y rentable.

Página 62
- Reducir el tiempo de los principales procesos de apoyo al cliente a través de la
simplificación de procesos.

 Empleados

- Desarrollar un equipo de trabajo dedicado, responsable y eficiente que posea los


conocimientos y la capacidad de adaptación necesarios.

- Fomentar condiciones que favorezcan el desarrollo personal continuo.

Puesto que el proyecto se desarrollará dentro del área de TI de la empresa, se ha visto


por conveniente adjuntar también el Mapa Estratégico del área a fin de demostrar el
alineamiento de la propuesta con los objetivos establecidos por la Gerencia de Sistemas.

Ilustración 22: Planeamiento Estratégico de TI 2013-2015 [29]

Página 63
Como se explicará más adelante, la propuesta se encuentra alineada con los objetivos de
“Mejorar el Ciclo de Desarrollo de Software” y “Excelencia Operativa”.

1.3.5. Organigrama
Se presenta a continuación el primer nivel del organigrama de la empresa.
Adicionalmente, se incluye el organigrama de la División de Operaciones y
Administración, división a la cual pertenece el área de Sistemas.

Organigrama General

Ilustración 23: Organigrama de Divisiones 2014/08 [30]

Tal como se puede apreciar, la división de Operaciones y Administración reporta


directamente a la Gerencia General.

Página 64
Organigrama de la División de Operaciones y Administración

Ilustración 24: Organigrama Divisiones 2014/08 [30]

El proyecto se desarrollará dentro del área de “Tecnología de la Información &


Soluciones” y de manera más específica beneficiará a las áreas de “Planeamiento y
Control de TI”, y a “Gestión de Aplicaciones TI”.

En el caso de la primera área mencionada, dentro de sus múltiples responsabilidades se


encuentra la ejecución de las pruebas de QA e IST de los desarrollos realizados por el
área de Desarrollo, la cual se conoce internamente como “Gestión de Aplicaciones de
TI”.

1.3.6. Mapa de Procesos


A continuación se presenta el Mapa de Procesos del área de TI y se resaltan los
procesos que se verán beneficiados por el proyecto.

Página 65
Procesos Estratégicos

Planeamiento Arquitectura e
Gestión Financiera
Estratégico Innovación

Procesos Operativos

Desarrollo de Aplicaciones

Gestión de Clientes Diseño de Servicios Construcción Despliegue

Entrega de Servicio
Clientes

Gestión de Gestión de Gestión de Gestión de


Gestión de
Niveles de disponibilidad Continuidad Seguridad
capacidad
Servicio

Procesos de Apoyo

Soporte al Servicio Infraestructura y Comunicaciones

Diseño Despliegue
Soporte a Usuarios Gestión de Cambios Infraestructura Infraestructura

Soporte
Gestión de Gestión de Tecnológico
Incidentes Configuración
Operación Operación
Gestión de Servicios Infraestructura
Problemas

Ilustración 25: Mapa de Procesos (Elaboración propia)

El proceso de Construcción corresponde a las labores de programación que se realizan


como parte del desarrollo de una solución de software. Por su parte, dentro de la
Gestión del Cambio se encuentran las labores de certificación de la idoneidad del
desarrollo realizado.

1.4. Campo de acción

1.4.1. Breve descripción


Debido a que la calidad constituye un elemento crítico para las instituciones bancarias y
para la protección de los clientes, en el proceso de Gestión del Cambio de programas
Página 66
participan diferentes áreas independientes en la revisión de los Pases a Producción[l].
Dichas áreas se detallan a continuación:

Ilustración 26: Áreas involucradas en Control de Cambios (Elaboración propia)

* Entre QA y Producción existe una breve participación de Control de Cambios.

 Desarrollo: Se trata del área que realiza la construcción de la solución y es el área


que solicita se promueva la misma al ambiente productivo.

 Área de Control de Cambios: Esta área se encarga de realizar diversos controles


relacionados a la forma del pase. Esto incluye, verificación de que la tipificación del
pase sea correcta, revisión de la documentación asociada, etc. Adicionalmente
realiza actividades de recompilación y custodia de programas. Una vez aprobado el
pase, este se promueve al área de IST [j].

 Área de IST: El propósito del área de IST (Integrated System Testing) es realizar
revisiones de tipo técnico y de seguridad a los Pases a Producción. Una vez
aprobado el pase, este se promueve al área de QA.

 Área de QA: El propósito del área de QA (Quality Assurance) es el de realizar


pruebas funcionales con el usuario y certificar el correcto funcionamiento de la
aplicación. En caso de ser conforme el pase, se aprueba el mismo y se notifica a
Control de Cambios para que instruya al área de Producción con respecto a la
promoción del pase hacia el ambiente productivo.

 Área de Producción: El paso final del flujo consiste en la copia física de los objetos
a los servidores de Producción. Esta labor la realiza el área de Producción de
Sistemas.

Página 67
El siguiente diagrama de alto nivel describe el flujo que se sigue para la aprobación de
un Pase a Producción y su posterior promoción al ambiente Productivo.

Ilustración 27: Diagrama de Alto de Nivel del Flujo de Pase a Producción

Elaboración propia

Página 68
1.4.2. Procesos del negocio
Puesto que el proyecto de tesis se enmarca dentro del ámbito de las funciones del área
de IST, se pueden indicar los siguientes aspectos complementarios al diagrama de flujo
anterior:

 Proceso de Selección de Pases

- Se trabaja por muestreo, es decir, se selecciona un porcentaje de Pases a


Producción en base a diversos criterios como pueden ser criticidad, prioridad,
disponibilidad de analistas, tiempo disponible, etc.

- Este proceso se conoce también como “Proceso de Clasificación” y se encuentra


a cargo del Supervisor del área.

- Como resultado del proceso de selección pueden presentarse tres casos:

o El pase se promueve sin revisión (semáforo verde). También se conoce


como “Marcha Blanca”.
o Se realiza una Revisión Básica (semáforo rojo).
o Se realiza una Revisión Total (semáforo rojo).

 Revisión de IST

- Las revisiones son realizadas por los Analistas de IST.

- El nivel de revisión implica la profundidad y cantidad de pruebas a realizar. En


términos generales, una revisión Básica incluye:

o Revisión y análisis de código fuente.


o Revisiones funcionales puntuales orientadas a comprobar alguno de los
hallazgos.

- Por otro lado, una Revisión Total, además de lo antes mencionado, podría
incluir:

o Pruebas funcionales más extensas.


o Pruebas de Stress.

Página 69
o Pruebas de Performance.
o Pruebas de regresión.
o Pruebas integrales con otras aplicaciones.

- La revisión debe generar documentación de las pruebas realizadas y sirve como


sustento para el área de Auditoría o si se presentara un error en Producción de
un componente probado por IST.

- Existen circunstancias excepcionales en las cuales un pase puede ser aprobado a


pesar de contar con observaciones. En este caso es precisa la elaboración de una
Carta de Desviación [d].

 Generación de Información

- Se genera información estadística bajo demanda para ciertas áreas.

1.4.3. Sistemas automatizados vinculados con el campo de acción.


Se describen brevemente a continuación los sistemas que se utilizan en la actualidad en
el campo de acción:

 Sistema de Pases de AS/400. Es un sistema desarrollado internamente en el cual los


desarrolladores registran el detalle de los objetos que componen su Pase a
Producción así como el tipo de pase, la aplicación a la pertenece, etc. El sistema
cuenta con un flujo que promueve dicho Pase a Producción por las diferentes
instancias de revisión y aprobación.

 GxCompile: Herramienta desarrollada internamente por la empresa cuya función es


agilizar y automatizar labores que son necesarias como parte del proceso de Pase a
Producción como por ejemplo la exportación de fuentes de un modelo Genexus.

 Sistema S4 de Planeamiento. Sistema en el cual se registran las iniciativas del


negocio. Una iniciativa del negocio contiene los objetivos que se esperan alcanzar
con la misma, sus beneficios, alternativas evaluadas y el análisis financiero. El

Página 70
sistema cuenta con un workflow que permite a los diferentes stakeholders del
proceso registrar su aprobación o rechazo.

 Sistema S4 de Sistemas. Se trata de un sistema derivado del Sistema S4 de


Planeamiento que cuenta con personalizaciones para el uso del área de TI. Se utiliza
para la asignación de las iniciativas al área de Desarrollo.

 Bantotal [c]: Es el sistema de core banking que utiliza la empresa. Los programas de
los desarrolladores deben interactuar con este sistema a través de una serie de
interfaces, configuraciones y reglas bien definidas. El personal de IST necesita
verificar el cumplimiento de dichas reglas.

 Sharepoint: Repositorio de documentos de las revisiones que realiza el área de IST.

1.5. Análisis crítico de los problemas de información


SITUACION PROBLEMÁTICA PROBLEMA A RESOLVER
 Los Analistas de Desarrollo no cuentan Se generan reprocesos por rechazos de
con retroalimentación temprana de las Pases a Producción.
anomalías presentes en sus programas.

 El área de IST realiza sus labores de Incidentes en producción y/o


inspección sobre una muestra de pases a incumplimiento de estándares que
producción debido a restricciones de dificultan el mantenimiento futuro de las
personal. aplicaciones.

 Para el proceso de Clasificación de Pases Demora en el proceso de Clasificación de


se trabaja con un Excel que debe Pases.
alimentarse a mano con información de
AS/400 y otras fuentes.

 El diseño actual del repositorio de Insuficiente información estadística.


información dificulta obtener
información estadística.

Página 71
SITUACION PROBLEMÁTICA PROBLEMA A RESOLVER
 Se debe exportar manualmente la Demora en la generación de información
información de los documentos de para Auditoría.
sustento de cada uno de los Pases a
Producción.
 Documentos faltantes en el repositorio
debido a que se carece de un control
automático que asegure se hayan
adjuntando todos los documentos del
checklist de revisión.

 El repositorio donde se registran las Cartas de Desviación pendientes de


Cartas de Desviación no permite alertas atención a pesar de que se encuentran
automáticas sobre el vencimiento de las vencidas.
mismas.

Tabla 6: Análisis de los problemas de Información

En base al análisis del cuadro anterior, se propone una solución que involucra el
desarrollo de un analizador estático de código fuente Genexus[i] y CL[h] que permita
ampliar la cantidad de pases revisados sin contar con una dotación adicional de personal
para el área. Poner esta herramienta a disposición del área de Desarrollo permitirá
además una retroalimentación más temprana y oportuna sobre los defectos del software,
lo cual genera ahorro de tiempo y dinero. Adicionalmente, se propone el desarrollo de
una herramienta para la gestión de las revisiones de IST acorde con las necesidades del
área con el propósito de mejorar la disponibilidad de la información de las revisiones así
como generar ahorro de tiempo en labores manuales. Finalmente, se espera reducir el
riesgo que genera la ejecución de software que cuenta con observaciones no resueltas
fuera del periodo acordado para levantarlas.

Página 72
1.6. Conclusiones
Las conclusiones de este capítulo son las siguientes:

 Resulta notorio que la utilización de un analizador estático de código fuente ha


tenido efectos sumamente positivos en lo que se refiere a la reducción de errores de
programación en empresas como Google y Oracle, así como en proyectos de código
abierto como Linux.

 La implementación de un analizador estático requiere considerar no solamente los


aspectos tecnológicos del mismo sino también los procedimientos que normarán su
uso y el factor humano que utilizará la herramienta. El modelo teórico preparado
incorpora buenas prácticas como por ejemplo utilizar el analizador estático de
manera forzosa en un paso del ciclo de control de cambios, la confirmación por
parte de un analista de los hallazgos detectados por la herramienta y la recolección
de información que permita la generación de estadísticas sobre el desempeño de la
misma y sus usuarios.

 Existe disposición a nivel de las áreas de testing a colaborar con la implementación


de herramientas automáticas que permitan la reducción de las labores manuales que
son parte del testing. Así mismo, el personal de dichas áreas está dispuesto a
comprometerse con el afinamiento y personalización de dichas herramientas.

 La implementación de un analizador estático resulta compatible con los objetivos


estratégicos del área de TI de “Mejorar el Ciclo de Desarrollo de Software” y
“Excelencia Operativa”, y aporta directamente en resolver varias de las situaciones
problemáticas detectadas durante el análisis del campo de acción, entre ellas ofrecer
una retroalimentación más temprana de las anomalías de programación a los
Analistas de Desarrollo y ampliar la cantidad de pases a Producción que reciben una
revisión de código fuente.

Página 73
CAPÍTULO 2: PROPUESTA DE SOLUCIÓN

2.1. Introducción
En el presente capítulo se expone el objetivo general del proyecto, así como su
desagregación en objetivos específicos y se plantean los indicadores que permitirán
contrastar el cumplimiento de dichos objetivos. Adicionalmente, se presenta una
explicación de las razones que sustentan la elección de los objetivos planteados y los
beneficios para la empresa. También forma parte de este capítulo la presentación de un
benchmarking de las soluciones encontradas en el mercado y la elección de la
alternativa más adecuada para las necesidades de la empresa. Finalmente, se detallan las
tendencias tecnológicas y las tecnologías propuestas para el desarrollo del presente
proyecto.

2.2. Objetivos del proyecto

2.2.1. Objetivo general


Desarrollar un Sistema para la gestión del flujo de revisiones que realiza el área de IST.

2.2.2. Objetivos específicos y fundamentación


Se detallan a continuación los objetivos específicos del proyecto y su fundamentación:

a) Desarrollar un analizador estático de código fuente CL y Genexus. La cantidad


de pases a producción rechazados se reducirá si se proporciona un analizador
estático de código que pueda ser utilizado libremente por los Analistas de
Desarrollo durante la etapa de construcción. Esto implica también una detección
más temprana y una corrección menos costosa de los defectos. Por otro lado,
incorporar al analizador como un paso obligatorio dentro del flujo de control de
cambios permitirá ampliar la base de pases revisados y asegurar que como
mínimo se haya realizado una revisión automatizada sin necesidad de
incrementar la cantidad de personal en el área de IST.

Página 74
b) Desarrollar una herramienta que permita la gestión del flujo de revisión de IST.
Esto implica: la carga al sistema de los pases que se encuentran aptos para
revisión de IST, su clasificación, su asignación, la gestión de los hallazgos,
aprobación y/o rechazo del pase. Este objetivo se fundamenta en la necesidad de
proporcionar una herramienta que facilite las labores del área en reemplazo del
Sharepoint y otras herramientas utilizadas actualmente.

c) Desarrollar una herramienta que sugiera al Supervisor de IST el tipo de revisión


a aplicar durante el proceso de Clasificación. Se reducirá el tiempo que le
demanda al Supervisor de IST determinar el tipo de revisión a aplicar a los Pases
a Producción que recibe en base a la evaluación de información estadística y
otros criterios como por ejemplo la criticidad de los programas.

d) Automatizar la generación de los principales informes estadísticos del área. El


objetivo se encuentra alineado a disminuir el esfuerzo necesario para la
generación de información estadística, lo cual, además de ahorrar tiempo,
facilita que la información se genere más a menudo.

e) Automatizar la generación de información solicitada por el área de Auditoría. El


propósito es permitir la exportación automática de los documentos que sustentan
las revisiones realizadas por el área para agilizar el proceso. Adicionalmente,
contar con la herramienta indicada en el objetivo “b” permite incorporar
controles que aseguren se registren en el sistema todos los documentos de
sustento que son parte del checklist de revisión.

f) Desarrollar un sistema que permita el registro de las Cartas de Desviación y la


emisión de alertas por vencimiento. Este objetivo se encuentra alineado con
reducir los casos de software desplegado en Producción que cuenta con
observaciones no resueltas en una Carta de Desviación.

Página 75
2.2.3. Indicadores de logro de los objetivos
Los indicadores de logro de los objetivos específicos son los siguientes:

a) Presentación de las cartas de aceptación del cliente a la conclusión de las


principales fases del proyecto.
b) Presentación de la primera versión del sistema.
c) Entrega de la carta final de aceptación del proyecto.
d) Presentación de la constancia de entrega al área de IST de la siguiente
documentación:
 Modelado del Negocio.
 Documentación relacionada al diseño y construcción.
 Plan de pruebas del sistema.
 Artefactos referentes a la gestión del proyecto.
e) Presentación de la constancia de la entrega del código fuente del proyecto al área
de IST.

2.3. Beneficios del proyecto

2.3.1. Beneficios tangibles


Los beneficios tangibles del proyecto se enumeran a continuación. Se detalla el
beneficio deseado, la forma de medición y los resultados esperados. Cabe resaltar que
estos beneficios se encuentran alineados con la estrategia de “Mejorar el Ciclo de
Desarrollo de Software” y “Excelencia Operativa” que forman parte del Mapa de
Procesos del área de TI presentado en la sección 1.3.4. Se espera conseguir los
beneficios al término de seis meses.

Beneficio Indicador Fórmula Rango Frec.(*1) Fuente


a) Incrementar Porcentaje de (Cantidad de >= M. Sistema de
95%
el porcentaje pases AS/400 pases revisados Pases y
< 95%
de Pases a con código / Cantidad total Relación de

Página 76
Producción fuente de pases en Pases
que sufren revisado. plataforma Revisados
revisión de AS/400) * 100
código fuente
en plataforma
AS/400.

b) Reducir la Porcentaje de (Cantidad de <=10% M. Sistema de


>10%
cantidad de pases pases Gestión de
y <=
pases rechazados rechazados por 15% Revisiones
> 15%
rechazados por IST por IST por de IST
por parte de defectos defectos
IST por controlados controlados por
defectos por el el analizador
controlados analizador estático de
por el estático de código /
analizador código Cantidad de
estático de pases revisados
código. por IST) * 100
Porcentaje de (Cantidad de <=10% M. Estadísticas
>10%
Falsos Falsos Positivos del
y <=
Positivos / Cantidad de 15% analizador
> 15%
Defectos estático de
encontrados) * código
100
c) Reducir el Porcentaje de (Cantidad de <=15% M. Sistema de
>15%
tiempo que el procesos de procesos de Gestión de
y <=
Supervisor de Clasificación Clasificación 20% Revisiones
> 20%
IST dedica al de Pases que realizados en de IST
proceso de le demandaron más de 10
Clasificación más de 10 minutos /
de Pases a minutos al Cantidad total

Página 77
Producción. Supervisor de de procesos de
IST. Clasificación) *
100

d) Disminuir el Porcentaje de (Cantidad de <=10% T. Sistema de


>10%
tiempo que exportaciones exportaciones Gestión de
y <=
demanda la de de documentos 15% Revisiones
> 15%
exportación documentos asociados a de IST
de los asociados a pedidos de
documentos pedidos de Auditoría que
que solicita el Auditoría que demandaron
área de demandaron más de 2
Auditoría más de 2 minutos /
(*2)
como sustento minutos. Cantidad total
de las de
revisiones exportaciones
realizadas. de documentos
asociados a
pedidos de
Auditoría) *
100
e) Reducir Porcentaje de (Cantidad de <=10% M. Sistema de
>10%
tiempos en la procesos de procesos de Gestión de
y <=
generación de generación de generación de 15% Revisiones
> 15%
información información información de IST
estadística estadística estadística que
referente a la referente a la demandaron
calidad de calidad de más de 1
programación programación minuto /
del área de del área de Cantidad total
Desarrollo y Desarrollo y de procesos de
productividad productividad generación de
del área. del área que información

Página 78
demandaron estadística) *
más de 1 100
minuto.

f) Reducir los Cantidad de Suma simple de =0 T. Sistema de


> 1
casos de casos de casos Gestión de
casos
software que software que Revisiones
se encuentre se encuentren de IST
operando operando
fuera de los fuera de los
plazos plazos
establecidos establecidos
en las Cartas en las Cartas
de Desviación de Desviación
por falta de por falta de
seguimiento. seguimiento.

g) Incrementar Satisfacción Porcentaje de >= AD Encuesta


85%
la satisfacción del personal aprobación de
< 85%
del personal de IST en y satisfacción
>=75%
de IST en relación a las
< 75%
relación a las herramientas
herramientas desarrolladas
del área como parte del
proyecto.
Tabla 7: Indicadores para beneficios tangibles

*1) M = Mensual; T=Trimestral; A=Anual; AD=A Demanda


*2) Se asume pedido típico de auditoría de 50 pases a Producción.

2.3.2. Beneficios intangibles


Dentro de los beneficios intangibles del proyecto se pueden mencionar los siguientes:

Página 79
a) Carácter formativo de las herramientas de análisis estático y de las revisiones de
código fuente en general. Si bien es cierto la detección de defectos es
importante, es igualmente importante que el infractor pueda aprender de sus
errores a fin de no cometerlos nuevamente. Las herramientas de análisis estático
de código brindan una retroalimentación temprana en este sentido y favorecen el
aprendizaje.

b) La información estadística proporcionada por la herramienta es valiosa para la


toma de decisiones y puede ser utilizada también para otros procesos. Por
ejemplo, la información de rechazos por analista se puede utilizar para la
Gestión de Desempeño Anual de cada empleado.

2.4. Antecedentes
La institución utiliza Genexus[i] para el desarrollo en plataforma AS/400. Básicamente
se trata de una herramienta Case que cuenta con su propio lenguaje de programación y
es desarrollada por la empresa uruguaya Artech. Para el caso específico del banco,
algunos de los beneficios que pueden señalarse son los siguientes:

 Incrementa la productividad de los desarrolladores de AS/400, puesto que Genexus


es un lenguaje de alto nivel sencillo en comparación con la programación en
lenguaje RPG [p] o Cobol [e].

 La herramienta automatiza el mantenimiento de la base de datos y normalización de


la misma.

 Es el mismo lenguaje de programación que utiliza la empresa desarrolladora de


[c]
Bantotal (software de core banking utilizado por el banco), lo cual genera
oportunidades de sinergia y facilita la reutilización de código.

Existen, sin embargo, algunas particularidades que se detallan a continuación:

Página 80
 El costo de licenciamiento de la herramienta es alto, por lo que se trata de una
herramienta de nicho con relativamente pocos clientes.

 El banco utiliza la versión 8 de Genexus, la cual fue lanzada en 2003. A partir de esa
fecha, Artech lanzó seis versiones nuevas. El foco de las mejoras se concentró en
funcionalidades que la institución no necesita para el desarrollo de software para
AS/400, por lo que migrar a versiones más actualizadas no resulta justificable.
Adicionalmente, la empresa desarrolladora de Bantotal también tomó la misma
decisión y es importante mantener el alineamiento.

 En lo que se refiere al desarrollo propiamente dicho, muchos de los errores de


programación no son necesariamente errores propios del lenguaje Genexus, sino que
en ocasiones se trata de violaciones a reglas definidas por los creadores de Bantotal
(es necesario respetarlas para una correcta integración con el sistema de core
banking).

2.4.1. Soluciones encontradas

2.4.1.1. Analizadores estáticos de código Genexus y CL


Debido a los factores mencionados en los antecedentes, se encontró que el mercado se
encuentra desierto de una herramienta de análisis estático que aplique a código
Genexus.

El único intento de construir una herramienta de análisis de código se encuentra


documentado en la página del proyecto Genoma
(http://wiki.genexus.com/commwiki/servlet/hwiki?CP+2.0+-+Proyecto+Genoma). El
objetivo literal del proyecto era como sigue: “Implementar la infraestructura necesaria
que permita a programadores Genexus (o programadores de extensiones) desarrollar
herramientas de análisis y procesamiento sobre la información contenida en las bases de
conocimiento Genexus”. Esto incluía el desarrollo de algunos controles visuales y los
componentes de análisis.

Página 81
En lo que se refiere específicamente al análisis, el proyecto antes mencionado no
apuntaba a la detección de defectos sino a la generación de métricas de calidad.
Desafortunadamente, la última actualización al proyecto se realizó en el 2010 y
solamente lanzaron algunas versiones beta de los controles visuales (GenomaTreeMap y
GenomaColorPicker).

Finalmente, en lo que concerniente a código CL de AS400, tampoco se ha podido


encontrar en el mercado un analizador estático para código fuente que aplique a dicho
lenguaje.

2.4.1.2. Software para la gestión de revisiones de código fuente


Para el análisis comparativo se han considerado las siguientes herramientas disponibles
en el mercado.

 JIRA integrado con Crucible. Ambos productos son desarrollados por la empresa
Atlassian. JIRA [31] se utiliza en muchas organizaciones para el registro de tareas e
incidentes y cuenta con flujos de trabajo, manejo de adjuntos, información
estadística, etc. La integración con Crucible [32] permite el registro de información
propia de revisiones de código realizadas por un analista.

 Rational Team Concert integrado con Collaborator. De manera similar al caso


anterior, Rational Team Concert [33] es un producto desarrollado por IBM el cual
permite el registro de proyectos, tareas e incidentes entre otros. Por su parte,
Collaborator [34], de la empresa SmartBear, es una herramienta para el registro de
los hallazgos propios de una inspección de código fuente.

 Finalmente, SpiraTest [35] de la empresa Inflectra cuenta con funcionalidades de


manejo de requerimientos, gestión de proyectos, administración de documentos,
testing manual y automatizado, etc.

2.4.2. Análisis comparativo

2.4.2.1. Analizadores estáticos de código Genexus y CL


Debido a que el mercado carece de herramientas de análisis de código Genexus y CL no
resulta factible realizar un análisis de benchmarking.

Página 82
2.4.2.2. Software para la gestión de revisiones de código fuente
La siguiente matriz de evaluación recoge los puntajes ponderados de cada alternativa. La calificación utiliza un rango entre 0 y 10 (más alto es
mejor).

Criterio Peso Sistema a la medida JIRA + Crucible Rational Team Concert SpiraTest
+ Collaborator
Calificación Puntaje Calificación Puntaje Calificación Puntaje Calificación Puntaje
Ponderado Ponderado Ponderado Ponderado
Integración con Sistema de Pases AS/400 (In- 20% 10.00 2.00 2.00 0.40 0.00 0.00 0.00 0.00
house)
Integración con analizador estático de código 20% 10.00 2.00 2.00 0.40 0.00 0.00 0.00 0.00
Genexus y CL
Sugerencia del tipo de revisión a aplicar en 15% 10.00 1.50 0.00 0.00 0.00 0.00 0.00 0.00
base a reglas y comportamiento histórico
Registro de hallazgos por objeto (estáticos y 10% 8.50 0.85 10.00 1.00 10.00 1.00 7.00 0.70
detectados por un analista)
Herramientas de Información Estadística (1) 10% 6.50 0.65 10.00 1.00 10.00 1.00 10.00 1.00
Flujo de Trabajo para el área de IST (2) 10% 8.00 0.80 10.00 1.00 10.00 1.00 7.00 0.70
Repositorio de Documentos (3) 10% 7.50 0.75 10.00 1.00 10.00 1.00 9.00 0.90
Notificaciones por correo electrónico 5% 10.00 0.50 10.00 0.50 10.00 0.50 10.00 0.50
Total 100% 9.05 5.30 4.50 3.80
Tabla 8: Matriz comparativa de Soluciones de Gestión de Revisión de Código

1. Se consideran las características básicas que necesita el área y también otras como la posibilidad de generar reportes personalizados sin programación.
2. Se consideran las características básicas que necesita el área y también otras como la definición de flujos sin programación.
3. Se consideran las características básicas que necesita el área y también otras como el versionamiento avanzado de documentos.

Cómo se puede apreciar, el desarrollo de un sistema a la medida cuenta con una mejor calificación en base a los criterios funcionales indicados
en la matriz. Debido a que existe una fuerte diferencia de puntaje, no se evaluaron otros criterios como costo, licenciamiento, experiencia,
presencia local del partner, etc.

Página 83
2.4.3. Evaluación de la mejor solución
A pesar de que por lo general la compra de una herramienta ya establecida y madura
resulta recomendable, en este caso particular, la mejor solución es la de construir
herramientas a la medida debido a las siguientes razones:

 El mercado se encuentra desierto de soluciones de análisis de código para Genexus


y CL.

 En el hipotético caso de que se lanzara un analizador estático para Genexus, es


sumamente remoto que funcione con una versión tan antigua de Genexus como la 8
y más remoto aún que cuente con la capacidad de enlazarse con las estructuras de
datos del sistema Bantotal para ejecutar algunos de los análisis necesarios.

 Desarrollar una solución a la medida facilita que el analizador estático se integre de


manera natural al proceso de control de cambios existente y a la cultura de la
organización.

 Por su parte, en lo que se refiere a una herramienta para la gestión del flujo de
revisiones de Pases a Producción, resulta necesaria la interacción con otros sistemas
desarrollados por Scotiabank los cuales no son soportados por soluciones
comerciales. Un ejemplo lo constituye el sistema de Pases de AS/400.

 Finalmente, también se requiere una integración muy estrecha con el analizador


estático Genexus y CL que se desarrollará.

El siguiente diagrama de alto nivel, el cual complementa el modelo teórico desarrollado


en la sección 1.2.3, muestra la funcionalidad de la solución propuesta así como la
interacción entre sus componentes.

Página 84
Ilustración 28: Solución propuesta
Fuente: Elaboración propia.

Se detalla a continuación la funcionalidad con la que contará el sistema que se propone


desarrollar:

1. Para el ciclo de Desarrollo e inicio del trámite de Pase a Producción


 Servicio web que reciba una lista de fuentes a revisar y retorne los hallazgos
detectados luego de aplicar el proceso de análisis estático de código fuente.

 El analizador estático debe soportar código fuente de los siguientes lenguajes de


programación:

- Genexus[i].

- CL[h] de AS/400.

 Adicionalmente, debe contar con reglas que abarquen los siguientes casos:

- Cumplimiento de estándares de documentación y nomenclatura.

- Cumplimiento de estándares de diseño de pantallas y reportes.

Página 85
- Detección de textos fijos (“durezas”) y palabras reservadas.

- Detección de comandos y funciones reservadas u obsoletas.

- Malas prácticas de control de compromiso de la base de datos en Genexus.

- Detección de antipatrones de programación en Genexus.

- Incumplimiento de las reglas de programación de Bantotal (core banking de


la institución).

- Detección de errores potenciales de performance, incluyendo mal uso de


índices de la base de datos.

 El analizador debe indicar la línea de código que desencadena la alerta (aplicable


de acuerdo al tipo de regla de revisión).

 Grabación de cada revisión para explotación posterior de información de


tendencias, recurrencia de errores, etc.

 Administración de los parámetros de revisión (aplicable de acuerdo al tipo de


regla).

2. Para la Selección de Pases a Producción y su asignación


 Bandeja de Pases a Producción pendientes de revisión de IST.

 Interacción con el Sistema de Pases a Producción de AS/400 para carga de lista


de pases pendientes.

 Analizador automático que debe retornar una recomendación del tipo de revisión
a realizar para un Pase a Producción específico en base a criterios técnicos como
la criticidad de los componentes, comportamiento histórico, etc.

 Consulta de los hallazgos detectados por el analizador estático para un pase en


particular.

 Asignación de un Pase a Producción a un analista de IST.

 Notificaciones automáticas por correo electrónico.

 Consulta de los pases actualmente asignados a un analista de IST para facilitar la


distribución de carga.
Página 86
3. Para el registro de las Revisiones realizadas
 Bandeja de revisiones pendientes para el analista de IST.

 Formularios para el registro de información referente a la revisión realizada


(incluye adjuntos).

 Checklist de documentos a cargar en base al tipo de revisión a realizar.

 Notificaciones por correo electrónico.

 Exportación masiva de documentación de las revisiones de IST por pedidos de


Auditoría.

4. Para la generación de información estadística


 Generación de reportes y/o consultas que muestren lo siguiente:

- Relación de pases revisados por IST en un periodo de tiempo.

- Cantidad de pases por tipo de revisión (básica, total, marcha blanca, etc.) en
un periodo especificado.

- Cantidad de pases por estado (aprobado, devuelto, en revisión, etc.) en un


periodo especificado.

- Esfuerzo de revisión realizado por los analistas de IST en un periodo


determinado.

- Defectos de software detectados por tipo de error.

- Ranking de analistas de Desarrollo con la mayor cantidad de devoluciones.

- Ranking de programas con la mayor cantidad de observaciones.

- Ranking de aplicaciones con la mayor cantidad de observaciones.

5. Para el registro y seguimiento de Cartas de Desviación


 Registro y administración de Cartas de Desviación.

 Envío de alertas relacionadas al vencimiento y próximo vencimiento del plazo


previsto para levantar una Carta de Desviación.

Página 87
6. Otros
 Mantenimiento de tablas de parámetros del sistema como por ejemplo:

- Parámetros del analizador estático de código fuente.

- Parámetros del clasificador de Pases a Producción.

 Mantenimiento de otras tablas de soporte tales como las tablas de Usuarios y


Perfiles.

2.5. Tendencias y tecnologías propuestas


La solución propuesta se encuentra alineada a la tendencia mundial de crecimiento de
las actividades de testing en general y a la automatización en dicho campo en particular.
Dichas tendencias se explican a detalle en la sección 1.2.1.3 de este documento. Así
mismo, se han considerado las últimas investigaciones (sección 1.2.1.1) y lecciones
aprendidas de los casos de éxito descritos en la sección 1.2.1.2.

2.6. Conclusiones
Las conclusiones con respecto a la Propuesta de Solución son las siguientes:

 Realizar un desarrollo a la medida se sustenta en la carencia de soluciones en el


mercado que cumplan con las expectativas del área de IST y con el nivel de
integración que se requiere con otras herramientas internas de la empresa tales como
el sistema de Pases de Producción de AS/400, GxCompile, etc.

 La propuesta de solución toma como base el modelo teórico desarrollado en el


capítulo anterior y se ha ajustado a las necesidades específicas de la empresa como
por ejemplo el lenguaje de programación utilizado por la institución. Así mismo, se
ha enriquecido el modelo para considerar el manejo de las Cartas de Desviación del
área, la utilización de notificaciones y alertas en el flujo de revisión, checklist de
revisión, etc.

Página 88
 Existen beneficios tangibles para la organización que pueden resumirse en:
reducción de errores de programación, mayor cobertura de testing y ahorro de
tiempo para el área de IST en las labores de clasificación de Pases, generación de
información estadística y generación de información para auditoría.

 En lo que se refiere a los beneficios intangibles se puede resaltar el carácter


educativo de un analizador estático de código así como una mejor toma de
decisiones de negocios en base a la información estadística del área de IST.

Página 89
CAPÍTULO 3: MODELADO DEL NEGOCIO

3.1. Introducción
El presente capítulo abarca el Modelado del Negocio. Brevemente, el contenido a
desarrollar incluye la presentación de las reglas y actores del negocio, así como los
casos de uso del negocio identificados. En adición, se detallan los trabajadores y
entidades del negocio así como sus relaciones. Para una mayor facilidad de
entendimiento se incluyen los diagramas de actividades de los casos de uso y la
descripción detallada correspondiente. Finalmente, para fines de seguimiento y
auditoría, se incluyen las matrices de trazabilidad elaboradas durante esta fase.

3.2. Reglas del negocio


Las reglas del negocio importantes para el presente proyecto se detallan en el siguiente
cuadro.

Regla Descripción Tipo

RN_01 – Código El número de Pase es un numérico de 7 posiciones. Dominio


Pase de Datos

RN_02 – Código El código del empleado es un numérico de 5 Dominio


del Empleado posiciones que corresponde al código de empleado de Datos
del usuario.

RN_03 – Pase Si el Pase a Producción es de tipo normal[m] se aplica Operación


Normal la revisión de IST.

RN_04 – Un Pase a Producción puede contener uno o más Relación


Contenido Pase objetos.

Página 90
Regla Descripción Tipo

RN_05 – Objeto La ausencia del nombre del sistema al que pertenece Inferencia
no tiene sistema el programa en la zona de documentación se
considera como un error.

RN_06 – Objeto La ausencia del nombre del subsistema al que Inferencia


no tiene pertenece el programa en la zona de documentación
subsistema se considera como un error.

RN_07 – Objeto La ausencia del nombre del programa en la zona de Inferencia


no tiene nombre documentación se considera como un error.

RN_08 – Objeto La ausencia de la descripción del programa en la zona Inferencia


no tiene de documentación se considera como un error.
descripción

RN_09 – Objeto La ausencia del autor del programa en la zona de Inferencia


no tiene autor documentación se considera como un error.

RN_10 – Objeto La ausencia de la fecha de creación en la zona de Inferencia


sin fecha documentación se considera como un error.

RN_11 – Regla La utilización de la sentencia Genexus no soportada Inferencia


“Same” SAME se considera como un error.

RN_12 - Tiene La inhabilitación del commit automático de Genexus Inferencia


COMMIT_ON_ y la utilización de commit explícito se considera
EXIT en NO y como un error.
tiene commit
explícito

RN_13 – La existencia de referencias a bibliotecas de Inferencia


Bibliotecas de Desarrollo se considera como un error.
Desarrollo

Página 91
Regla Descripción Tipo

RN_14 – La asignación del nombre del banco como texto fijo Inferencia
Nombre del (“dureza”) se considera como un error.
Banco asignado
por texto fijo

RN_15 - Nombre La asignación del nombre de la moneda como texto Inferencia


de la moneda fijo (“dureza”) se considera como un error.
asignado por
texto fijo

RN_16 - Signo La asignación del signo de la moneda como texto fijo Inferencia
de la moneda (“dureza”) se considera como un error.
asignado por
texto fijo

RN_18 – Invocar a un comando contenido en la relación de Inferencia


Comandos comandos restringidos de los Estándares de
restringidos Desarrollo se considera como un error.
Ejemplos: ADDLIBLE, DLTLIB, CLRLIB,
DLTSPLF.

RN_19 – Invocar a un comando contenido en la relación de Inferencia


Comandos para comandos para consulta a Seguridad Informática sin
autorización de contar con la autorización explícita de dicha área se
Seguridad considera como un error.
Ejemplos: RUNSQLSTM, RUNQRY, FTP, CPYSPL.

Página 92
Regla Descripción Tipo

RN_20 – Un objeto de tipo CL cuyo nombre no cumpla con Inferencia


Nomenclatura cada una de las siguientes condiciones se considera
CL como un error:
 La primera posición debe ser C, L, G o P.
 La segunda posición debe ser J.
 Las posiciones tres y cuatro deben
corresponder a un código de aplicación válido.
 La quinta posición debe ser numérica.
 La sexta posición debe ser numérica.

RN_21 – Un objeto de tipo Genexus cuyo nombre no cumpla Inferencia


Nomenclatura con cada una de las siguientes condiciones se
Genexus considera como un error:
 La primera posición debe ser P, T, W o R.
 La segunda posición debe ser C, L, G o P.
 Las posiciones tres y cuatro deben
corresponder a un código de aplicación válido.
 La sexta y séptima posiciones deben ser
numéricas.

Nota: La quinta posición es libre (no se trata de una


omisión)

RN_22 – Código Utilizar el campo de Código de Ejecutivo en Inferencia


de Ejecutivo sin Workpanels y Reportes y no utilizar la rutina
rutina genérica PLGEP10 se considera como un error.

RN_23A – El cumplimiento de las siguientes condiciones se Inferencia


Control de considera como un error:
compromiso
 El objeto es procedure.
viola regla del
 El objeto está definido como RTE [q] dentro
core banking por

Página 93
Regla Descripción Tipo

commit del ciclo de compromiso del contabilizador


del core banking (momentos P, C y R).
 El objeto tiene la propiedad COMMITMENT
ENABLED habilitada.
 El objeto realiza un commit a la base de datos.

RN_23B – El cumplimiento de las siguientes condiciones se Inferencia


Control de considera como un error:
compromiso
 El objeto es procedure.
viola regla del
 El objeto está definido como RTE [q] dentro
core banking por
del ciclo de compromiso del contabilizador
rollback
del core banking (momentos P, C y R).
 El objeto tiene la propiedad COMMITMENT
ENABLED habilitada.
 El objeto realiza un rollback a la base de
datos.

RN_24 – Configurar un programa con Commitment Disabled y Inferencia


Commit utilizar un commit explícito se considera como un
inconsistente error.

RN_25 – Configurar un programa con Commitment Disabled y Inferencia


Rollback utilizar un rollback explícito se considera como un
inconsistente error.

RN_26 – Utilizar un objeto de tipo Workpanel como RTE Inferencia


Workpanel en dentro del ciclo de compromiso del contabilizador del
ciclo de core banking (momentos P, C y R) se considera un
compromiso error.

Página 94
Regla Descripción Tipo

RN_27 – Código Asignar el código del Banco de manera fija (ejemplo: Inferencia
del Banco se &pgcod = 1) se considera como un error.
asigna de manera
fija

RN_28 – La ausencia del nombre del programa en la cabecera Inferencia


Nombre del (variable interna &Pgmname) de un objeto con
programa en interfase se considera como un error.
cabecera

RN_29 – Fecha A menos que se trate de un popup, la ausencia de la Inferencia


en la cabecera fecha de ejecución (variable interna &Today) en un
objeto con interfase se considera como un error.

RN_30 – Hora en A menos que se trate de un popup, la ausencia de la Inferencia


la cabecera hora de ejecución (variable interna &Time) en un
objeto con interfase se considera como un error.

RN_31 – La utilización de la sentencia “when none” en objetos Inferencia


Corrupción de que utilizan el spool de AS/400 se considera como un
variable de error.
impresión por
sentencia “when
none”

RN_32 – Utilizar la sentencia “for each” sin su cláusula Inferencia


Sentencia “for “defined by” correspondiente se considera como un
each” sin error.
“defined by”

RN_33 – Utilizar arreglos en la cláusula “where” de la Inferencia


Arreglos en sentencia “for each” se considera como un error.
cláusula “where”

Página 95
Regla Descripción Tipo

RN_34 - Utilizar funciones Genexus en la cláusula “where” de Inferencia


Funciones en la sentencia “for each” se considera como un error.
cláusula “where”

RN_35 – Alterar directamente el archivo de saldos del core Inferencia


Alteración banking (FSD011) se considera como un error.
directa a archivo
de saldos

RN_36 – A menos que se trate de una llamada a las rutinas Inferencia


Llamada con MOVSTRN, MOVSTRL y SUBSTRL, utilizar
parámetro de parámetros con longitud fija en las sentencia “call” se
longitud fija considera como un error.

Ejemplo de parámetros con longitud fija:


CALL('PRG001',&PGCOD,'900',&FECAPE,&FECPRX,'P')

RN_37 – Índice La utilización de índices creados en tiempo de Inferencia


temporal ejecución por Genexus se considera como un error.

RN_38 – Salida Utilizar la propiedad “Report Output” con un valor Inferencia


de reportes diferente a “Only to Printer” para objetos de tipo
reporte y procedure se considera como un error.

RN_39 – Utilizar la propiedad “Confirmation” con un valor Inferencia


Confirmación de igual a “Always Prompt” para objetos de tipo reporte
reportes y procedure se considera como un error.

RN_40 – Lectura Una lectura total a una tabla imputable al mal uso de Inferencia
completa a tabla índices se considera como un error.

Página 96
Regla Descripción Tipo

RN_41 – El analista de IST debe entregar el sustento de las Operación


Sustento de pruebas realizadas para dar por finalizada una
pruebas revisión.

RN_42 – La distribución de Revisiones por estado de revisión Cálculo


Distribución por se calcula tomando en consideración la totalidad de
estado de los Pases a Producción recibidos por el área de IST.
revisión

RN_43 – La distribución por tipo de revisión se calcula Cálculo


Distribución por tomando en consideración la totalidad de los Pases a
tipo de Revisión Producción recibidos por el área de IST.

RN_44 - La distribución por tipo de respuesta se calcula Cálculo


Distribución por tomando en consideración la totalidad de los Pases a
tipo de respuesta Producción recibidos por el área de IST.

RN_46 - Firmas Si la Carta de Desviación no contiene la firma del Estímulo/


Carta de Jefe de Desarrollo y del Gerente de Sistemas será Respuesta
Desviación rechazada.

RN_47 – Fecha Si la Carta de Desviación no indica la fecha en la que Estímulo/


Carta de se levantarán las observaciones será rechazada. Respuesta
Desviación

RN_48 – Si la Carta de Desviación no indica las acciones Estímulo/


Acciones de mediante las cuales se levantarán las observaciones Respuesta
Carta de será rechazada.
Desviación

RN_49 – Se debe levantar la totalidad de las observaciones Operación


Levantamiento contenidas en una Carta de Desviación para poder

Página 97
Regla Descripción Tipo

completo de darla por cerrada (no se admite levantamiento parcial)


Carta de
Desviación

RN_50 – Código Una revisión puede identificarse a través del número Dominio
de Revisión de de Pase a Producción y un correlativo que indica la de Datos
IST cantidad de iteraciones que dicho pase ha tenido en
IST.

RN_51 – Se requiere de una Iniciativa S4 de Planeamiento Operación


Aprobación por aprobada y con presupuesto asignado para iniciar la
Planeamiento atención de un pedido de implementación de solución
de TI.

RN_52 – Se debe contar con una Iniciativa S4 de Sistemas para Operación


Iniciativa de la atención por parte del área de Desarrollo
Sistemas

RN_53 – Un objeto puede tener uno o más hallazgos asociados. Relación


Hallazgos por
Objeto

RN_54 – IST IST puede dar respuesta a un Pase a Producción Operación


debe revisar todo solamente si se han revisado todos los objetos del
el pase pase (no se rechaza a la primera anomalía encontrada)

RN_55 – Cartas Una Carta de Desviación cuyo vencimiento sea Inferencia


por Vencer menor a 60 días se considera como una Carta de
Desviación por Vencer.

Página 98
Regla Descripción Tipo

RN_56 – Entrega La información para Auditoría se entrega completa y Operación


de Información en un único momento (no existen entregas parciales).
para Auditoría

RN_57 – Las auditorías se realizan sobre la totalidad de las Relación


Auditoría aplica actividades realizadas para un Pase a Producción, no
a Pase sobre iteraciones puntuales de revisión de IST.

RN_58 – Pases Una Solicitud de Auditoría puede contener uno o más Relación
en Solicitud de Pases a Producción.
Auditoría

RN_59 – Pase Un mismo Pase a Producción puede ser auditado en Relación


en múltiples más de una Auditoría.
auditorías

RN_60 – Una Carta de Desviación solamente puede amparar Relación


Amparo de una revisión de IST.
Revisión

RN_61 - Si se detectan uno o más hallazgos en alguno de los Estímulo /


Rechazo de Pase componentes de un Pase a Producción se rechazará Respuesta
a Producción dicho Pase.

Tabla 9: Reglas del Negocio

3.3. Modelo de Casos de Uso del Negocio

3.3.1. Actores del negocio


Se indican a continuación los actores del negocio:

Página 99
 AN01 - Usuario del Negocio

Actor que solicita se desarrolle una solución de TI para cubrir alguna necesidad o
requerimiento del negocio.

AN01_Usuario del Negocio


(from Actores)

 AN02 - Gerente de IST

Este actor es el responsable del área de IST y solicita la generación de estadísticas


para evaluar la marcha del área. Así mismo, solicita se realice el control sobre las
Cartas de Desviación.

AN02_Gerente de IST
(from Actores)

 AN03 - Auditor

Actor que solicita información al área de IST para realizar funciones periódicas de
Auditoría con respecto al cumplimiento de las labores del área.

AN03_Auditor
(from Actores)

Página 100
3.3.2. Diagrama de Casos de Uso del Negocio

CUN01_Implementar Solución de TI
AN01 - Usuario del Negocio
(f rom Casos de Uso del Negocio)
(f rom Actores)

CUN02_Generar Estadísticas de IST


AN02 - Gerente de IST
(f rom Casos de Uso del Negocio)
(f rom Actores)

CUN04_Controlar Cartas de Desviación


(f rom Casos de Uso del Negocio)

CUN03_Generar Información de IST para


AN03 - Auditor
Auditoría
(f rom Actores) (f rom Casos de Uso del Negocio)

Ilustración 29: Diagrama de Casos de Uso del Negocio

3.3.3. Casos de Uso del Negocio


 CUN01 - Implementar solución de TI: El objetivo es el de implementar una
solución de TI para cubrir una necesidad del negocio. Esto incluye la recepción y
priorización del pedido, la planificación y construcción del sistema solicitado, la
certificación del mismo y finalmente la puesta en Producción. En lo que se refiere
específicamente a las labores de testing, se realizan pruebas unitarias a cargo del

Página 101
propio desarrollador, pruebas técnicas realizadas por el área de IST y pruebas
funcionales realizadas por el área de QA.

 CUN02 - Generar Estadísticas de IST: Es importante contar con información


estadística que permita evaluar la marcha y el comportamiento del área. Las
estadísticas incluyen, pero no se limitan a, cantidad total de revisiones, distribución
por estado de revisión, distribución por tipo de revisión, cantidad de pases por tipo
de respuesta, etc. De igual manera, dado que el área constituye un punto de control
dentro del proceso de Gestión de Cambios, es importante emitir estadísticas para
medir la cantidad de defectos que contienen los Pases a Producción revisados y la
recurrencia de dichos defectos.

 CUN03 - Generar información de IST para Auditoría: El caso de uso consiste en


la consolidación de la documentación solicitada por el área de Auditoría con
respecto a una relación específica de pases a Producción con el propósito de
confirmar que el área de IST cumple con los protocolos de revisión propios de su
función.

 CUN04 - Controlar Cartas de Desviación: Las Cartas de Desviación cuentan con


una fecha de vencimiento, fecha en la cual deberían haberse levantado las
observaciones que motivaron la desviación. Se debe validar periódicamente el
estado de las Cartas y si las observaciones han sido subsanadas de manera oportuna.

Página 102
3.4. Modelo de Análisis del Negocio

3.4.1. Trabajadores del negocio

TN01 - Broker de Sistemas TN03 - Jefe de Proyecto de Desarrollo TN05 - Analista de Control de Cambios
TN04 - Analista de Desarrollo

TN06 - Jefe de Control de Cambios TN08 - Jefe de IST TN09 - Analista de QA


TN07 - Analista de IST

TN10 - Jefe de QA TN11 - Gerente Revisador de IST TN13 - Operador de Producción

Ilustración 30: Trabajadores del Negocio

Trabajador Descripción

TN01 - Bróker de Se encarga de la interacción con el Usuario del Negocio, la


Sistemas revisión del pedido que este último solicita, así como la
priorización y la asignación al área de Desarrollo.

TN03 - Jefe de Proyecto Se encarga de liderar el proyecto para atender los


de Desarrollo requerimientos del negocio. Dentro de sus
responsabilidades se encuentran la planificación del
desarrollo y la especificación del mismo para su asignación
a los desarrolladores. También realiza tareas de revisión de
los entregables de los analistas asignados al proyecto.

TN04 – Analista de Dentro de sus responsabilidades se encuentran el desarrollo


Desarrollo del código fuente así como labores de testing unitario. Es
también responsable de generar la documentación

Página 103
Trabajador Descripción

necesaria para poder iniciar el proceso de Pase a


Producción.

TN05 - Analista de Realiza labores de revisión de fuentes y documentación, y


Control de Cambios manejo de binarios para el proceso de certificación de las
áreas de IST y QA.

TN06 - Jefe de Control Se encarga de la consolidación de todos los pases que


de Cambios deberán ser pasados a Producción en una fecha
determinada y coordina con el área de Producción para la
promoción de dichos pases.

TN07 - Analista de IST Realiza labores de revisión técnica de los objetos que se
encuentran registrados en un Pase a Producción.

TN08 - Jefe de IST Se encarga de clasificar los pases que llegan al área de IST
y realizar un análisis para determinar si se deberá revisar el
pase. También administra el trabajo de los analistas de IST
y responde ante pedidos de estadísticas o pedidos de
Auditoría.

TN09 - Analista de QA Realiza pruebas funcionales en coordinación con el usuario


de negocios.

TN10 - Jefe de QA Asigna los pases a los analistas de QA y se encarga de


verificar si el proceso de certificación del pase se realizó
adecuadamente.

TN11 - Gerente Recibe los pedidos del área de Auditoría. Se encarga de


Revisador de IST delegarlos a sus subordinados y revisar la respuesta antes
de enviarla a Auditoría.

Página 104
Trabajador Descripción

TN13 - Operador de Realiza la promoción de los objetos en ambiente


Producción Productivo.

Tabla 10: Trabajadores del Negocio

3.4.2. Entidades del negocio

Entidad del Negocio Descripción

EN01 - Iniciativa S4 de Documento mediante el cual se solicita al área de TI la


Planeamiento atención de un requerimiento. La iniciativa es ingresada por
el área de Planeamiento luego de una validación de varios
stakeholders. El documento contiene los objetivos de la
iniciativa, beneficios, alternativas evaluadas y el análisis
financiero.

EN02 - Pase a Contiene información importante para poder realizar un Pase


Producción a Producción. Algunos de los datos más relevantes son el
código del pase, el analista solicitante, la descripción del
cambio, el tipo de pase y la relación de objetos que se está
solicitando promover al ambiente productivo.

EN03 - Relación de Consiste en una relación administrada por el área IST en


Programas Críticos donde se registran aquellos programas que deberán pasar por
una revisión de IST de manera obligatoria. Por lo general
contiene rutinas muy sensibles para la continuidad del
negocio.

EN04 - Relación de Consiste en una relación administrada por el área de IST.


Aplicaciones Críticas Existen aplicaciones que por su criticidad deben pasar
necesariamente por una revisión de IST.

Página 105
Entidad del Negocio Descripción

EN05 - Estándares de Se trata de un documento que contiene los estándares que el


Desarrollo área de Desarrollo debe cumplir para la construcción de
aplicaciones.

EN06 - Checklist de Es un checklist de los documentos que los analistas de IST


Documentos deben adjuntar dependiendo del tipo de revisión que se les
asigne.

EN07 - Informe de Informe que emite el área de IST luego de la revisión de un


Revisión de IST Pase a Producción. Contiene las anomalías que pudieran
haberse encontrado así como un veredicto (aprobado o
rechazado)

EN08 - Informe Contiene información estadística del área. Por lo general se


Estadístico de IST trata de reportes de periodicidad semanal o mensual.

EN09 - Carta de Se trata de un documento que autoriza a un Pase a


Desviación Producción a continuar con el flujo de aprobación a pesar de
que el área de IST haya podido encontrar anomalías en su
revisión. La carta contiene una explicación de los hallazgos
detectados, las medidas de compensación que pueden
aplicarse, la fecha comprometida para el levantamiento de
las observaciones y la forma en que éstas se levantarán.

EN10 - Informe de Informe que realiza el área de Arquitectura de TI con


Arquitectura respecto a la factibilidad de una solución. Adicionalmente
contiene el costeo de infraestructura y recomendaciones para
el desarrollo de la solución.

EN11 - Cronograma de Cronograma para la administración del tiempo que es


Desarrollo preparado por el área de Desarrollo cuando se le asigna un
proyecto o tarea.

Página 106
Entidad del Negocio Descripción

EN12 – Documento Documento de especificación para que los desarrolladores


Técnico de Desarrollo puedan implementar la funcionalidad necesaria para el
negocio.

EN14 - Carga de Trabajo Excel que se utiliza para el registro de los pases en atención
de IST y para fines de determinar si existen analistas disponibles
para realizar una revisión.

EN15 - Documentos Consiste en documentación que es generada como parte de


Internos de IST las pruebas y queda como un sustento interno de las
mismas.

EN16 - Código Fuente Es el código fuente de los programas generados como parte
de la construcción del requerimiento del usuario de negocios.

EN17 – Pedido de Se trata de un documento preparado por el área de Auditoría


Auditoría y que contiene el detalle de la información que dicha área
está solicitando. Además de instrucciones, contiene una
relación de pases a Producción tomados aleatoriamente y
que pueden pertenecer a cualquiera de los meses
transcurridos desde la última revisión.

EN18 - Relación de Relación resumen de las Cartas de Desviación que el área de


Cartas de Desviación IST tiene en su poder.

EN19 - Relación de Relación de las Cartas de Desviación Vencidas y por Vencer


Cartas de Desviación para que el Gerente del área de IST pueda realizar las
Vencidas y por Vencer coordinaciones pertinentes con las áreas involucradas.

Página 107
Entidad del Negocio Descripción

EN22 - Iniciativa S4 de Documento registrado por un Bróker de Sistemas. A través


Sistemas de este documento se formaliza un pedido al área de
Desarrollo. Entre otras cosas, el documento contiene una
descripción del pedido, los plazos acordados para el
desarrollo de la solución y algunos datos internos no
contemplados en la Iniciativa S4 – Planeamiento.

EN23 - Documentación Documentación que es requerida por el área de Control de


CC Cambios para permitir un Pase a Producción.

EN24 – Binarios para Binarios que se almacenan en una ubicación segura como
CC parte del proceso de Pase a Producción. Luego son copiados
al ambiente de Testing por Control de Cambios.

EN25 – Binarios en Corresponde a los binarios que son generados a partir de la


Desarrollo compilación del código fuente y que se encuentran en el
ambiente de Desarrollo.

EN27 - Informe de Informe que emite el área de Control de Cambios luego de la


Revisión de CC revisión de un Pase a Producción. Contiene las anomalías
que pudieran haberse encontrado así como un veredicto
(aprobado o rechazado).

EN28 - DUP Documento que es preparado por el área de Desarrollo y el


Usuario del Negocio y que contiene los casos de prueba para
la certificación de QA. Por razones históricas se le sigue
como conociendo como “Documento único de pruebas” a
pesar de que existen en la actualidad otras áreas en la
institución que realizan testing.

Página 108
Entidad del Negocio Descripción

EN29 - Relación de Reporte consolidado emitido por Control de Cambios que


Pases para Producción incluye un resumen de los pases a promover a Producción.

EN30 - Carga de Trabajo Excel que se utiliza para el registro de los pases en atención
de QA por QA.

EN31 - Histórico de Relación histórica de todos los pases revisados por IST.
Revisiones de IST Incluye en número de pase, el Analista de Desarrollo
responsable, la fecha de revisión, el Analista de IST
responsable, si el pase fue aprobado o rechazado, las razones
del rechazo, etc.

EN32 - Respuesta a Conjunto de documentos que se envían al área de Auditoría


Auditoría en respuesta a una solicitud de información de dicha área.

EN33 - Binarios en Corresponde a los binarios que son copiados desde una
Testing ubicación segura hacia el ambiente de Testing por el área de
Control de Cambios.

Corresponde a los binarios que son transferidos al ambiente


EN34 - Binarios en de Producción una vez finalizado el proceso de Pase a
Producción Producción.

EN35 - Código Fuente Se trata de una versión de código de fuente que se “congela”
CC para realizar las actividades del proceso de Pase a
Producción.

EN36 – Pedido a Correo que envía el Jefe de IST a un Analista de IST


Analista de IST indicando el pase que debe revisarse.

EN37 - Respuesta de Correo de respuesta del Analista de IST donde se indica la


Analista de IST finalización de la revisión.

Página 109
Entidad del Negocio Descripción

EN38 – Pedido a Correo que envía el Jefe de QA a un Analista de IST


Analista de QA indicando el pase que debe revisarse.

EN39 - Respuesta de Correo de respuesta del Analista de QA donde se indica la


Analista de QA finalización de la revisión.

Tabla 11: Entidades del Negocio

3.5. Realización de los Casos de Uso del Negocio

CUN01_Implementar Solución de TI CUNR01_Implementar Solución de TI


(from Casos de Uso del Negocio)

CUN02_Generar Estadísticas de IST CUNR02_Generar Estadísticas de IST


(from Casos de Uso del Negocio)

CUN03_Generar Información de IST para CUNR03_Generar Información de IST para


Auditoría Auditoría
(from Casos de Uso del Negocio)

CUN04_Controlar Cartas de Desviación CUNR04_Controlar Cartas de Desviación


(from Casos de Uso del Negocio)

Ilustración 31: Realización de los Casos de Uso del Negocio

Página 110
3.5.1. CUNR01 - Implementar solución de TI
A pesar de que el ámbito del proyecto corresponde principalmente a las labores del área
de IST, se ha visto por conveniente describir y diagramar el proceso completo de
Implementación de una solución de TI para proporcionar un mejor entendimiento del
funcionamiento del negocio.

3.5.1.1. Especificación del caso de uso

3.5.1.1.1 Actores del Negocio


AN01 - Usuario del Negocio

3.5.1.1.2 Propósito
Implementar una solución de TI para cumplir con los requerimientos solicitados por el
Usuario del Negocio.

3.5.1.1.3 Breve Descripción


El caso de uso se inicia cuando el Usuario del Negocio solicita a su Bróker de Sistemas
se inicie el desarrollo e implementación de una solución de TI. Luego de pasar por un
proceso de priorización, el pedido se asigna al área de Desarrollo para la construcción
del mismo. Una vez finalizado dicho proceso, se realizan labores de certificación a
través de las áreas de Control de Cambios, IST y QA. El caso de uso finaliza cuando el
Operador de Producción promueve los objetos binarios hacia el ambiente productivo
por instrucción del Jefe de Control de Cambios.

3.5.1.1.4 Flujo Básico


1. El Usuario del Negocio solicita a su Bróker de Sistemas la implementación de
una solución de TI.
2. El Bróker de Sistemas recibe el pedido y valida que exista una Iniciativa S4 de
Planeamiento aprobada y con presupuesto asignado [RN_51]. La existencia de la
iniciativa indica que el pedido ha pasado por alineamiento a los objetivos
estratégicos de la empresa y un estudio previo de factibilidad y costos.

Página 111
3. El Bróker de Sistemas asigna el pedido al área de Desarrollo a través de un
proceso de planificación y priorización que se realiza semanalmente.
Adicionalmente genera una Iniciativa S4 de Sistemas.
4. El Jefe de Proyecto de Desarrollo asignado revisa los detalles de la Iniciativa S4
de Sistemas y realiza la planificación del Proyecto [RN_52]. Como resultado se
generan un Documento Técnico de Desarrollo y un Cronograma de Desarrollo.
5. El Jefe de Proyecto de Desarrollo solicita al Analista de Desarrollo el desarrollo
de una funcionalidad.
6. El Analista de Desarrollo desarrolla la funcionalidad asignada tomando como
base el Documento Técnico de Desarrollo, los Estándares de Desarrollo y el
Cronograma de Desarrollo. Como resultado de las actividades del analista se
genera Código Fuente y Binarios en Desarrollo.
7. Una vez finalizado el desarrollo, el Analista de Desarrollo realiza pruebas
unitarias para comprobar que el Código Fuente y los Binarios en Desarrollo
cumplan con los requerimientos.
8. El Analista de Desarrollo genera la Documentación para Control de Cambios y el
DUP.
9. El Analista de Desarrollo solicita revisión por parte del Jefe de Proyecto de
Desarrollo.
10. El Jefe de Proyecto de Desarrollo revisa el Documento Técnico de Desarrollo, los
Estándares de Desarrollo, el Código Fuente, los Binarios en Desarrollo, la
Documentación para Control de Cambios y el DUP entregados por el Analista de
Desarrollo.
11. De estar conforme, le solicita se inicie el proceso de Pase a Producción.
12. El Analista de Desarrollo genera el Pase a Producción en el Sistema de Pases
[RN_01, RN_02 y RN_04]. Como parte del proceso también se generan el
Código Fuente para Control de Cambios y los Binarios para Control de Cambios.
13. El Analista de Desarrollo solicita una aprobación por parte del Jefe de Proyecto
de Desarrollo.
14. El Jefe de Proyecto de Desarrollo aprueba y el Pase a Producción pasa al área de
Control de Cambios para ser atendido por un Analista de Control de Cambios.
15. El Analista de Control de Cambios recibe el pedido y contrasta que el Pase a
Producción corresponda con la Documentación para Control de Cambios y que

Página 112
dicha documentación esté completa. También realiza algunos controles sobre el
Código Fuente para Control de Cambios. Independientemente del resultado de la
revisión, se genera un Informe de Revisión de Control de Cambios.
16. Si el Analista de Control de Cambios está conforme con la revisión, se copian los
Binarios para Control de Cambios hacia el ambiente de Testing y se crean los
Binarios en Testing, los cuales son utilizados por las áreas de IST y QA.
17. El Analista de Control de Cambios promueve el Pase a Producción al área de IST
para las labores de revisión técnica.
18. El Jefe de IST recibe la solicitud de revisión y la analiza para determinar si se
trata de un pedido que deberá pasar por revisión de IST y de qué tipo debería ser
dicha revisión (clasificación) [RN_03]. Para este proceso se vale de la
información contenida en el Pase a Producción, la Relación de Programas
Críticos, la Relación de Aplicaciones Críticas, la Iniciativa S4 de Sistemas y la
Carga de Trabajo de IST. Opcionalmente, si la descripción del pase indica que
resuelven las observaciones de una Carta de Desviación consulta la carta
correspondiente.
19. En caso el Pase a Producción sea seleccionado para revisión, se asigna dicha
revisión a un Analista de IST. Se actualiza la Carga de Trabajo de IST como
parte de la asignación y se genera un Pedido a Analista de IST.
20. El Analista de IST procede a realizar la validación técnica del Pase a Producción
para lo cual se vale de la siguiente información: Relación de Aplicaciones
Críticas, Relación de Programas Críticos, Binarios en Testing, la Iniciativa S4 de
Sistemas, Checklist de Documentos, Código Fuente para Control de Cambios,
Informe de Arquitectura, Estándares de Desarrollo y opcionalmente información
de una Carta de Desviación. Dentro de las reglas que utilizan para la validación y
que son automatizables se tienen:
- RN_05 – Objeto no tiene sistema

- RN_06 – Objeto no tiene subsistema

- RN_07 – Objeto no tiene nombre

- RN_08 – Objeto no tiene descripción

- RN_09 – Objeto no tiene autor

Página 113
- RN_10 – Objeto sin fecha

- RN_11 – Regla “Same”

- RN_12 - Tiene COMMIT_ON_EXIT en NO y tiene commit explícito

- RN_13 – Bibliotecas de Desarrollo

- RN_14 – Nombre del Banco asignado por texto fijo

- RN_15 – Nombre de la moneda asignado por texto fijo

- RN_16 – Signo de la moneda asignado por texto fijo

- RN_18 – Comandos restringidos

- RN_19 – Comandos para autorización de Seguridad

- RN_20 – Nomenclatura CL

- RN_21 – Nomenclatura Genexus

- RN_22 – Código de Ejecutivo sin rutina genérica

- RN_23A – Control de compromiso viola regla del core banking por commit

- RN_23B – Control de compromiso viola regla del core banking por rollback

- RN_24 – Commit inconsistente

- RN_25 – Rollback inconsistente

- RN_26 – Workpanel en ciclo de compromiso

- RN_27 – Código del Banco se asigna de manera fija

- RN_28 – Nombre del programa en cabecera

- RN_29 – Fecha en la cabecera

- RN_30 – Hora en la cabecera

- RN_31 – Corrupción de variable de impresión por sentencia “when none”

- RN_32 – Sentencia “for each” sin “defined by”

- RN_33 – Arreglos en cláusula “where”

- RN_34 - Funciones en cláusula “where”

- RN_35 – Alteración directa a archivo de saldos


Página 114
- RN_36 – Llamada con parámetro de longitud fija

- RN_37 – Índice temporal

- RN_38 – Salida de reportes

- RN_39 – Confirmación de reportes

- RN_40 – Lectura completa a tabla

21. El Analista de IST genera documentación asociada a la revisión (Informe de


Revisión de IST y Documentos Internos IST) y actualiza el Histórico de
Revisiones IST [RN_50].
22. El Analista de IST envía el veredicto sobre el pase revisado al Jefe de IST a
través de una Respuesta de Analista de IST [RN_54].
23. El Jefe de IST revisa la Respuesta del Analista de IST, el Informe de Revisión de
IST, los Documentos Internos IST y Checklist de Documentos [RN_41].
24. De estar conforme con la revisión y en caso la misma haya sido aprobatoria,
promueve el Pase a Producción al área de QA.
25. El Jefe de QA revisa el contenido del Pase a Producción, la Iniciativa S4 de
Sistemas y la Carga de Trabajo de QA para asignar el pase a un Analista de QA.
Se genera un Pedido a Analista de QA.
26. El Analista de QA recibe el pedido y realiza pruebas funcionales con un usuario
del negocio. Para dicha labor requiere de la información del Pase a Producción,
de la información de los casos de prueba contenidos en el DUP, la Iniciativa S4
de Sistemas y los Binarios en Testing. Como parte de las pruebas se actualiza el
DUP con los resultados de las mismas.
27. Luego de finalizadas las pruebas, el Analista de QA envía una Respuesta de
Analista de QA al Jefe de QA.
28. El Jefe de QA revisa el contenido del DUP.
29. De ser conforme la revisión, promueve el Pase a Producción a la siguiente
instancia, es decir al Jefe de Control de Cambios.
30. El Jefe de Control de Cambios recibe el pedido de promoción hacia Producción y
lo consolida en la Relación de Pases para Producción. Para esto consulta el
contenido del Pase a Producción.

Página 115
31. El Jefe de Control de Cambios solicita al Operador de Producción la promoción
de los objetos de acuerdo al tipo de Pase y criticidad del mismo.
32. El Operador de Producción realiza la promoción de los Binarios en Producción
en base a lo instruido por el Jefe de Control de Cambios. Adicionalmente el Pase
a Producción cambia al estado de “Pasado a Producción”. Para estas labores se
vale de la Relación de Pases y de los Binarios en Testing.
33. El Usuario del Negocio cuenta con el desarrollo solicitado en el Ambiente de
Producción.

3.5.1.1.5 Flujos Alternos

 El Jefe de Proyectos de Desarrollo no se encuentra conforme con el entregable del


Analista de Desarrollo.

Si el Jefe de Proyecto de Desarrollo no se encuentra conforme (punto 10 del Flujo


Básico), solicitará al Analista de Desarrollo el levantamiento de las observaciones.
El flujo regresa al punto 6 del Flujo Básico.

 El Analista de Control de Cambios rechaza el pase.

Si el Analista de Control de Cambios encuentra alguna anomalía en la forma o


documentación del pase (punto 15 del Flujo Básico), el Pase a Producción es
rechazado y se devuelve a Desarrollo. El Jefe de Proyecto de Desarrollo recibe la
respuesta, analiza el Informe de Revisión de Control de Cambios y solicita las
correcciones necesarias al Analista de Desarrollo. El flujo regresa al punto 6 del
Flujo Básico.

 El Pase a Producción no es seleccionado para revisión

En el punto 18 del Flujo Básico, el Jefe de IST revisa si el Pase a Producción debe
pasar por inspección de IST. En caso sea negativa la respuesta, el Pase a Producción
se promueve a la siguiente instancia, es decir, al área de QA donde es recibido por el
Jefe de QA. El flujo continúa en el punto 25 del Flujo Básico.

Página 116
 El Jefe de IST no se encuentra conforme con la revisión realizada por el Analista de
IST

En el punto 23 del Flujo Básico, de no estar conforme con la revisión realizada, el


Jefe de IST solicita al Analista de IST la corrección de las observaciones
encontradas. El flujo regresa al punto 20 del Flujo Básico.

 IST encuentra observaciones

En el punto 23 del Flujo Básico, en caso la respuesta de IST sea rechazar el pase
pero se cuente con una Carta de Desviación, se procede a promover el pase a la
instancia de QA previo registro de la Carta de Desviación en la Relación de Cartas
de Desviación y el flujo continúa en el paso 25 del Flujo Básico [RN_46, RN_47,
RN_48 y RN_60].

En caso no se cuente con una Carta de Desviación, el Jefe de IST devuelve el Pase
a Producción al Jefe de Proyecto de Desarrollo adjuntando el Informe de Revisión
de IST. El Jefe de Proyecto de Desarrollo revisa el informe y solicita al Analista de
Desarrollo la corrección de los defectos encontrados y el flujo continúa en el punto 6
del Flujo Básico [RN_61].

 QA rechaza el pase

En el punto 26 del Flujo Básico, se realizan pruebas de certificación con el usuario.


En caso las pruebas no sean exitosas, se devuelve el Pase a Producción al Jefe de
Proyecto de Desarrollo adjuntando el DUP con los casos ejecutados. El Jefe de
Proyecto de Desarrollo revisa el documento y solicita al Analista de Desarrollo la
corrección de los defectos encontrados. El flujo continúa en el punto 6 del Flujo
Básico.

Página 117
3.5.1.1.6 Precondiciones
Existe una Iniciativa S4 - Planeamiento aprobada por dicha área (indica alineamiento a
los objetivos del Banco y presupuesto asignado). Existe un Informe de Arquitectura de
TI elaborado con respecto a la factibilidad de la solicitud.

3.5.1.1.7 Postcondiciones
Se habrán generado y/o actualizado las siguientes entidades:

 Iniciativa S4 de Sistemas

 Cronograma de Desarrollo

 Documento Técnico de Desarrollo

 Código Fuente, Binarios en Desarrollo

 Documentación para Control de Cambios

 Binarios para Control de Cambios

 Código Fuente para Control de Cambios

 DUP

 Informe de Revisión de Control de Cambios

 Binarios en Testing

 Carga de Trabajo de IST

 Pedido a Analista de IST

 Informe de Revisión de IST

 Documentos Internos de IST

 Histórico de Revisiones de IST

 Respuesta de Analista de IST

 Relación de Cartas de Desviación

 Carga de Trabajo de QA

 Pedido a Analista de QA

Página 118
 Respuesta de Analista de QA

 Relación de Pases para Producción

 Binarios en Producción

 El Pase a Producción se encontrará en estado de “Pasado a Producción”.

Página 119
3.5.1.2. Diagrama de actividades
En el entregable digital por favor utilizar la función zoom de Word.
En el documento físico por favor consultar el diagrama impreso en A2 que se encuentra en la página siguiente.

Ilustración 32: CUNR01 - Diagrama de Actividades


3.5.1.3. Diagrama de clases del negocio
En el entregable digital por favor utilizar la función zoom de Word.
En el documento físico por favor consultar el diagrama impreso en A3 que se encuentra en la página siguiente.
Las líneas de colores tienen como único propósito facilitar la lectura del diagrama.

EN06 - Checklist Documentos

EN09 - Carta Desviación EN10 - Informe de Arquitectura

EN15 - Documentos Internos IST

EN04 - Relación de Aplicaciones Críticas


EN33 - Binarios en Testing
TN07 - Analista de IST
EN36 - Pedido a Analista IST
EN14 - Carga de Trabajo IST
EN37 - Respuesta de Analista IST
EN05 - Estándares de Desarrollo

EN35 - Código Fuente CC

EN24-Binarios para CC
(from Entidades del Negocio)

EN03 - Relación de Programas Críticos

EN07 - Informe de Revisión de IST EN16 - Código Fuente

TN04 - Analista de Desarrollo


TN08 - Jefe de IST

TN05 - Analista de Control de Cambios EN23 - Documentación CC

EN27 - Informe de Revisión de CC


EN18 - Relación de Cartas de Desviación

EN12 - Documento Técnico de Desarrollo

EN29 - Relación de Pases para Producción EN02 - Pase a Producción EN25 - Binarios en Desarrollo
TN06 - Jefe de Control de Cambios

EN11 - Cronograma de Desarrollo


EN30 - Carga de Trabajo QA TN03 - Jefe de Proyecto de Desarrollo

TN13 - Operador de Producción

EN28 - DUP

TN10 - Jefe de QA

EN34 - Binarios en Producción


EN39 - Respuesta de Analista de QA
(from Entidades del Negocio)

EN38 - Pedido a Analista de QA


(from Entidades del Negocio) TN09 - Analista de QA
EN22 - Iniciativa S4 de Sistemas

EN01 - Iniciativa S4 de Planeamiento


TN01 - Broker de Sistemas

Ilustración 33: CUNR01 - Diagrama de Clases del Negocio


3.5.1.4. Lista de actividades por automatizar
La relación de actividades a automatizar es la siguiente y se refiere a actividades que
son realizadas por el Analista de Desarrollo, Jefe de IST y Analista de IST:
1. Verificar Desarrollo (se plantea la utilización del analizador estático de código para
facilitar la detección temprana de errores).
2. Generar Pase a Producción (se plantea la utilización del analizador estático de
código para facilitar la detección temprana de errores).
3. Clasificar y determinar si el pase debe pasar por revisión de IST.
4. Asignar pase al Analista de IST.
5. Realizar Verificación Técnica de Pase a Producción.
6. Gestionar Documentación de Sustento.
7. Enviar respuesta a Supervisor.
8. Auditar revisión y documentación.
9. Registrar Carta de Desviación.

Página 122
3.5.2. CUNR02 - Generar Estadísticas de IST

3.5.2.1. Especificación del caso de uso

3.5.2.1.1. Actores del Negocio


AN02 - Gerente de IST

3.5.2.1.2. Propósito
El propósito es contar con información estadística que permita evaluar la calidad del
área de Desarrollo y el desempeño del área de IST.

3.5.2.1.3. Breve Descripción


El caso de uso se inicia cuando el Gerente de IST le solicita al Jefe de IST la generación
de un Informe Estadístico de IST. El Jefe de IST valida que la información del área se
encuentre actualizada y procede a la generación del informe. El caso de uso finaliza
cuando el Jefe de IST entrega el informe solicitado al Gerente de IST.

3.5.2.1.4. Flujo Básico


1. El Gerente de IST le solicita al Jefe de IST la generación de un Informe
Estadístico de IST.
2. El Jefe de IST verifica en el Histórico de Revisiones IST si la información que
necesita para el informe se encuentra actualizada.
3. De contar con la información necesaria, el Jefe de IST procesa la información y
genera el Informe Estadístico de IST solicitado a partir del Histórico de
Revisiones de IST. Dependiendo del reporte aplican las siguientes reglas de
cálculo: [RN_42, RN_43 y RN_44].
4. El Jefe de IST entrega el Informe Estadístico de IST al Gerente de IST.
5. El Gerente de IST recibe el informe solicitado.

3.5.2.1.5. Flujos Alternos

 No se cuenta con información actualizada.

Si en el punto 2 del Flujo Básico, el Jefe de IST detecta que no cuenta con toda la
información necesaria para generar el reporte, solicita al Analista de IST se
Página 123
complete dicha información. El Analista de IST completa la información faltante en
el Histórico de Revisiones IST y flujo continúa en el paso 2 del Flujo Básico.

3.5.2.1.6. Precondiciones
Ninguna

3.5.2.1.7. Postcondiciones
Se habrá generado un Informe Estadístico de IST y se contará con el Histórico de
Revisiones de IST actualizado.

Página 124
3.5.2.2. Diagrama de actividades

Ilustración 34: CUNR02 - Diagrama de Actividades

Página 125
3.5.2.3. Diagrama de clases del negocio

EN31 - Histórico de Revisiones IST


(from Entidades del Negocio) TN07 - Analista de IST
(from Trabajadores del Negocio)

EN08 - Informe Estadístico de IST


TN08 - Jefe de IST (from Entidades del Negocio)
(from Trabajadores del Negocio)

Ilustración 35: CUNR02 - Diagrama de Clases del Negocio

3.5.2.4. Lista de actividades por automatizar


La relación de actividades a automatizar es la siguiente:
1. Generar Estadísticas
2. Actualizar Información de Revisiones

Página 126
3.5.3. CUNR03 - Generar información de IST para Auditoría

3.5.3.1. Especificación del caso de uso

3.5.3.1.1. Actores del Negocio


AN03 - Auditor

3.5.3.1.2. Propósito
Generar la documentación solicitada por el área de Auditoría con respecto a las
revisiones realizadas sobre una relación específica de Pases a Producción.

3.5.3.1.3. Breve Descripción


El caso de uso se inicia cuando el Auditor solicita al Gerente Revisador de IST la
entrega de toda la documentación relacionada a una relación de Pases a Producción
revisados por el área de IST. El Gerente Revisador de IST delega la generación de la
información al Jefe de IST y a sus Analistas de IST los cuales preparan la Respuesta a
Auditoría. Posteriormente, el Gerente Revisador de IST revisa la documentación
generada y el caso de uso finaliza cuando le envía la respuesta al Auditor solicitante.

3.5.3.1.4. Flujo Básico


1. El Auditor solicita al Gerente Revisador de IST toda la documentación asociada a
las revisiones realizadas por el área de IST sobre un conjunto específico de Pases
a Producción. Los pases a sustentar se encuentran en el Pedido de Auditoría.
2. El Gerente Revisador de IST recibe la solicitud y analiza el Pedido de Auditoría.
3. El Gerente Revisador de IST solicita al Jefe de IST la recopilación de la
información necesaria [RN_57, RN_58 y RN_59].
4. El Jefe de IST consulta el Pedido de Auditoría y acopia la información de las
siguientes fuentes: Histórico de Revisiones de IST, Informe de Revisión de IST y
Documentos Internos de IST.
5. Si la documentación está completa, consulta el pedido de Auditoría y la
información recabada en el punto anterior, y genera la Respuesta a Auditoría
[RN_56].
6. El Jefe de IST envía la información al Gerente Revisador de IST.
7. El Gerente Revisador de IST revisa la Respuesta a Auditoría recibida.
Página 127
8. En caso de estar conforme, envía la Respuesta a Auditoría al Auditor solicitante.
9. El Auditor recibe la información requerida.

3.5.3.1.5. Flujos Alternos

 El Jefe de IST encuentra información faltante.

Si en el punto 4, el Jefe de IST detecta que no cuenta con toda la información


necesaria, solicita al Analista de IST se complete dicha información. El Analista de
IST completa la información faltante en el Histórico de Revisiones IST, Informes de
Revisión de IST o Documentos Internos de IST. El flujo continúa en el paso 4.

 El Gerente Revisador de IST no se encuentra conforme con la información


entregada.

Si en el punto 7 del Flujo Básico, el Gerente Revisador de IST no se encuentra de


acuerdo con la Respuesta a Auditoría solicitará se vuelva a generar información para
sustentar el Pedido de Auditoría. El flujo continúa en el paso 3 del Flujo Básico.

3.5.3.1.6. Precondiciones
Existe un Pedido de Auditoría entregado por dicha área.

3.5.3.1.7. Postcondiciones
Se habrá generado una Respuesta a Auditoría y se contará con los Informes de Revisión
de IST, Documentos Internos de IST y/o Histórico de Revisiones de IST actualizados.

Página 128
3.5.3.2. Diagrama de actividades

Ilustración 36: CUNR03 - Diagrama de Actividades

Página 129
3.5.3.3. Diagrama de clases del negocio

EN32 - Respuesta a Auditoría

TN11 - Gerente Revisador de IST

EN07 - Informe de Revisión de IST

EN17 - Pedido de Auditoría

EN15 - Documentos Internos IST


TN08 - Jefe de IST

EN31 - Histórico de Revisiones IST

TN07 - Analista de IST


(f rom Trabajadores del Negocio)

Ilustración 37: CUNR03 - Diagrama de Clases del Negocio

3.5.3.4. Lista de actividades por automatizar


La relación de actividades a automatizar es la siguiente:
1. Acopiar documentación para Informe de Auditoría.
2. Actualizar Documentación.

Página 130
3.5.4. CUNR04 - Controlar Cartas de Desviación

3.5.4.1. Especificación del caso de uso

3.5.4.1.1. Actores del Negocio


AN02 - Gerente de IST

3.5.4.1.2. Propósito
Controlar periódicamente el estado de las Cartas de Desviación y si las observaciones
han sido subsanadas de manera oportuna.

3.5.4.1.3. Breve Descripción


El caso de uso se inicia cuando el Gerente de IST solicita información acerca de las
Cartas de Desviación registradas en el área. El Jefe de IST prepara una Relación de
Cartas de Desviación Vencidas y por Vencer. El caso de uso finaliza cuando el Gerente
de IST recibe del Jefe de IST la información solicitada.

3.5.4.1.4. Flujo Básico


1. El Gerente de IST solicita se controle el estado de las Cartas de Desviación.
2. El Jefe de IST consulta la Relación de Cartas de Desviación en busca de las
cartas con fecha vencida o por vencer. Adicionalmente, analiza el contenido de
las Cartas de Desviación y el Histórico de Revisiones de IST [RN_55].
3. En caso encuentre que las observaciones de las Cartas no han sido levantadas,
genera una Relación de Cartas de Desviación Vencidas y por Vencer en base a la
información contenida en la Relación de Cartas de Desviación y las Cartas de
Desviación propiamente dichas.
4. El Jefe de IST envía la Relación de Cartas de Desviación Vencidas y por Vencer
al Gerente de IST, a fin de que se notifique al área de Desarrollo del estado de las
Cartas de Desviación involucradas.
5. El Gerente de IST recibe la información enviada.

3.5.4.1.5. Flujos Alternos

 Se levantaron las observaciones de una Carta de Desviación

Página 131
En el punto 3 del Flujo Básico, el Jefe de IST revisa si existe algún Pase a
Producción con el cual se hayan levantado las observaciones de la Carta de
Desviación [RN_49]. De ser el caso, actualiza la Relación de Cartas de Desviación.
El flujo continúa en el paso 2 del Flujo Básico.

3.5.4.1.6. Precondiciones
Ninguna

3.5.4.1.7. Postcondiciones
Se habrá generado una Relación de Cartas de Desviación Vencidas y por Vencer, y se
contará con la Relación de Cartas de Desviación actualizada.

Página 132
3.5.4.2. Diagrama de actividades

Ilustración 38: CUNR04 - Diagrama de Actividades

Página 133
3.5.4.3. Diagrama de clases del negocio

EN31 - Histórico de Revisiones IST EN09 - Carta Desviación


(from Entidades del Negocio) (from Entidades del Negocio)

TN08 - Jefe de IST


(from Trabajadores del Negocio)

EN18 - Relación de Cartas de Desviación


(from Entidades del Negocio) EN19 - Relación de Cartas de Desviación Vencidas y por Vencer
(from Entidades del Negocio)

Ilustración 39: CUNR04 - Diagrama de Clases del Negocio

3.5.4.4. Lista de actividades por automatizar


La relación de actividades a automatizar es la siguiente:
1. Generar y analizar cartas vencidas o próximas a vencer (generación de la lista y
alertas)
2. Actualizar información de cartas de Desviación.
3. Generar relación de Cartas Vencidas y por Vencer.

Página 134
3.6. Trazabilidad

3.6.1. Casos de Uso del Negocio vs Reglas del Negocio

 CUN01_ CUN02_ CUN03_ CUN04_


Implementar Generar Generar Controlar Cartas
Solución de TI Estadísticas de Información de de Desviación
IST IST para
Auditoría
RN_01 – Código
X
Pase

RN_02 – Código del


X
Empleado
RN_03 –
X
Pase Normal
RN_04 – Contenido
X
Pase

RN_05 – Objeto no
X
tiene sistema

RN_06 – Objeto no
X
tiene subsistema

RN_07 – Objeto no
X
tiene nombre

RN_08 – Objeto no
X
tiene descripción

RN_09 – Objeto no
X
tiene autor

RN_10 – Objeto sin


X
fecha

RN_11 – Regla
X
“Same”

Página 135
 CUN01_ CUN02_ CUN03_ CUN04_
Implementar Generar Generar Controlar Cartas
Solución de TI Estadísticas de Información de de Desviación
IST IST para
Auditoría
RN_12 - Tiene
COMMIT_ON_EXIT
X
en NO y tiene
commit explícito

RN_13 – Bibliotecas
X
de Desarrollo

RN_14 – Nombre del


Banco asignado por X
texto fijo

RN_15 - Nombre de
la moneda asignado X
por texto fijo

RN_16 - Signo de la
moneda asignado por X
texto fijo

RN_18 – Comandos
X
restringidos

RN_19 – Comandos
para autorización de X
Seguridad

RN_20 –
X
Nomenclatura CL

RN_21 –
Nomenclatura X
Genexus
RN_22 – Código de
Ejecutivo sin rutina X
genérica

Página 136
 CUN01_ CUN02_ CUN03_ CUN04_
Implementar Generar Generar Controlar Cartas
Solución de TI Estadísticas de Información de de Desviación
IST IST para
Auditoría

RN_23A – Control
de compromiso viola
X
regla del core
banking por commit

RN_23B – Control de
compromiso viola
X
regla del core
banking por rollback

RN_24 – Commit
X
inconsistente

RN_25 – Rollback
X
inconsistente

RN_26 – Workpanel
en ciclo de X
compromiso

RN_27 – Código del


Banco se asigna de X
manera fija

RN_28 – Nombre del


X
programa en cabecera

RN_29 – Fecha en la
X
cabecera

RN_30 – Hora en la
X
cabecera

RN_31 – Corrupción
de variable de
impresión por X
sentencia “when
none”

Página 137
 CUN01_ CUN02_ CUN03_ CUN04_
Implementar Generar Generar Controlar Cartas
Solución de TI Estadísticas de Información de de Desviación
IST IST para
Auditoría

RN_32 – Sentencia
“for each” sin X
“defined by”

RN_33 – Arreglos en
X
cláusula “where”

RN_34 - Funciones
X
en cláusula “where”

RN_35 – Alteración
directa a archivo de X
saldos

RN_36 – Llamada
con parámetro de X
longitud fija

RN_37 – Índice
X
temporal

RN_38 – Salida de
X
reportes
RN_39 –
Confirmación de X
reportes

RN_40 – Lectura
X
completa a tabla

RN_41 – Sustento de
X
pruebas

RN_42 - Distribución
X
por estado de revisión

Página 138
 CUN01_ CUN02_ CUN03_ CUN04_
Implementar Generar Generar Controlar Cartas
Solución de TI Estadísticas de Información de de Desviación
IST IST para
Auditoría

RN_43 - Distribución
X
por tipo de Revisión

RN_44 - Distribución
X
por tipo de respuesta

RN_46 - Firmas
X
Carta de Desviación

RN_47 – Fecha Carta


X
de Desviación

RN_48 – Acciones de
X
Carta de Desviación

RN_49 –
Levantamiento
X
completo de Carta de
Desviación

RN _50 – Código de
X
Revisión de IST

RN_51 – Aprobación
X
por Planeamiento

RN_52 – Iniciativa
X
de Sistemas

RN_53 – Hallazgos
X
por Objeto

Página 139
 CUN01_ CUN02_ CUN03_ CUN04_
Implementar Generar Generar Controlar Cartas
Solución de TI Estadísticas de Información de de Desviación
IST IST para
Auditoría

RN_54 – IST debe


X
revisar todo el pase

RN_55 – Cartas por


X
Vencer

RN_56 – Entrega de
Información para X
Auditoría

RN_57 – Auditoría
X
aplica a Pase

RN_58 – Pases en
Solicitud de X
Auditoría

RN_59 – Pase en
X
múltiples auditorías

RN_60 – Amparo de
X
Revisión

RN_61 - Rechazo de
X
Pase a Producción

Tabla 12 : Casos de Uso del Negocio vs Reglas del Negocio

Página 140
3.6.2. Casos de Uso del Negocio vs Trabajadores del Negocio

CUNR01 CUNR02 CUNR03 CUNR04


Implementar Generar Generar Controlar Cartas
Solución de TI Estadísticas de Información de de Desviación
IST IST para
Auditoría
TN01 - Bróker de
X
Sistemas
TN03 - Jefe de
Proyecto de X
Desarrollo
TN04 – Analista
X
de Desarrollo
TN05 - Analista
de Control de X
Cambios
TN06 - Jefe de
Control de X
Cambios
TN07 - Analista
X X X
de IST
TN08 - Jefe de
X X X X
IST
TN09 - Analista
X
de QA
TN10 - Jefe de QA X
TN11 - Gerente
X
Revisador de IST
TN13 - Operador
X
de Producción

Tabla 13: Casos de Uso del Negocio vs Trabajadores del Negocio

Página 141
3.6.3 Casos de Uso del Negocio vs Entidades del Negocio
CUN01 CUN02 CUN03 CUN04
Implementar Generar Generar Información Controlar Cartas
Solución de TI Estadísticas de de IST para Auditoría de Desviación
IST
EN01 -
Iniciativa S4 de X
Planeamiento
EN02 - Pase a
X
Producción
EN03 - Relación
de Programas X
Críticos
EN04 - Relación
de Aplicaciones X
Críticas
EN05 -
Estándares de X
Desarrollo
EN06 -
Checklist X
Documentos
EN07 - Informe
de Revisión de X X
IST
EN08 - Informe
Estadístico de
X
IST

EN09 – Carta de
X X
Desviación
EN10 - Informe
X
de Arquitectura

Página 142
CUN01 CUN02 CUN03 CUN04
Implementar Generar Generar Información Controlar Cartas
Solución de TI Estadísticas de de IST para Auditoría de Desviación
IST
EN11 -
Cronograma de X
Desarrollo
EN12 –
Documento
X
Técnico de
Desarrollo
EN14 - Carga de
Trabajo de IST X

EN15 -
Documentos
X X
Internos de IST

EN16 - Código
X
Fuente

EN17 – Pedido
X
de Auditoría
EN18 - Relación
de Cartas de X X
Desviación
EN19 - Relación
de Cartas de
Desviación X
Vencidas y por
Vencer
EN22 -
Iniciativa S4 de X
Sistemas

Página 143
CUN01 CUN02 CUN03 CUN04
Implementar Generar Generar Información Controlar Cartas
Solución de TI Estadísticas de de IST para Auditoría de Desviación
IST
EN23 -
Documentación X
CC
EN24 – Binarios
X
para CC
EN25 – Binarios
X
en Desarrollo
EN27 - Informe
de Revisión de X
CC
EN28 – DUP
X

EN29 - Relación
de Pases para
Promoción a X

Producción

EN30 - Carga de
X
Trabajo de QA
EN31 -
Histórico de X X X X
Revisiones IST
EN32 -
Respuesta a X
Auditoría
EN33 - Binarios
X
en Testing
EN34 - Binarios
en Producción X

Página 144
CUN01 CUN02 CUN03 CUN04
Implementar Generar Generar Información Controlar Cartas
Solución de TI Estadísticas de de IST para Auditoría de Desviación
IST
EN35 - Código
X
Fuente CC
EN36 – Pedido a
X
Analista de IST
EN37 -
Respuesta de X
Analista de IST
EN38 – Pedido a
X
Analista de QA
EN39 -
Respuesta de X
Analista de QA

Tabla 14: Casos de Uso del Negocio vs Entidades del Negocio

Página 145
3.7. Conclusiones
Como resultado de la elaboración de este capítulo, se presentan las siguientes
conclusiones:

 En el caso específico de este proyecto, los artefactos que RUP [r]


propone para el
Modelado del Negocio permitieron reducir el tiempo de revisión de los entregables
con los usuarios, dado que los mencionados usuarios pertenecen al área de TI y ya
cuentan con conocimientos previos de UML.

 La mayor parte de las Reglas del Negocio relevadas se encuentran relacionadas con
las revisiones de código fuente, lo cual resulta consistente con el rol del área.

 El Modelo del Negocio desarrollado puede ser de utilidad también para otros
proyectos que abarquen el proceso de Control de Cambios, puesto que se ha
realizado con un enfoque de alto nivel independiente de una implementación a nivel
de sistemas.

 Dado que algunos de los casos de uso son complejos y cuentan con un gran número
de entidades, trabajadores y reglas del negocio, la utilización de matrices de
trazabilidad resultó muy valiosa para identificar y resolver problemas de
relevamiento y modelamiento.

Página 146
CAPÍTULO 4: REQUERIMIENTOS

4.1. Introducción
El presente capítulo abarca la especificación de los requerimientos de tipo funcional y
no funcional, los cuales son importantes para perfilar el sistema a desarrollar.
Adicionalmente, se presentan los actores y casos de uso que conforman el sistema
clasificados de acuerdo a los atributos de calidad definidos. Finalmente, este capítulo
incluye el Modelo Conceptual y su correspondiente diccionario de datos.

4.2. Especificación de los requerimientos

4.2.1 Requerimientos Funcionales

4.2.1.1. Requerimientos Funcionales Asociados a los casos de Uso

Código Descripción Caso de Uso


del Negocio

RF_01 El sistema deberá proveer un analizador estático[a] que Implementar


permita revisar fuentes de programas de tipo Genexus[i]. solución de TI

RF_02 El sistema deberá proveer un analizador estático[a] que Implementar


permita revisar fuentes de programas de tipo CL [h]. solución de TI

RF_03 El sistema deberá permitir consultar el historial de Implementar


hallazgos de un objeto puntual. solución de TI

RF_04 El sistema deberá permitir que un analista de IST Implementar


confirme los hallazgos del analizador estático. solución de TI

RF_05 El sistema deberá permitir agregar, modificar o eliminar Implementar


la lista de comandos AS/400 restringidos[f] que el solución de TI
analizador estático utiliza como parte de su análisis.

RF_06 El sistema deberá permitir agregar, modificar o eliminar Implementar


la lista de comandos AS/400 que requieren autorización solución de TI
de Seguridad Informática [g] y que el analizador estático
utiliza como parte de su análisis.

Página 147
Código Descripción Caso de Uso
del Negocio

RF_07 El sistema deberá permitir agregar, modificar o eliminar Implementar


la lista de textos fijos (“durezas”) que el analizador solución de TI
estático busca como parte de su análisis.

Nota: Los textos fijos incluyen: bibliotecas de


Desarrollo, nombres del banco, nombres de moneda y
signos de moneda.

RF_08 El sistema deberá permitir consultar las revisiones de Implementar


Pases a Producción. solución de TI

RF_09 El sistema deberá cargar al sistema los nuevos Pases a Implementar


Producción que se encuentran asignados al área de IST a solución de TI
demanda del usuario.

RF_10 El sistema deberá permitir consultar la relación de Implementar


revisiones de IST que los analistas tienen asignadas en el solución de TI
momento en que se ejecuta la consulta.

RF_11 El sistema deberá analizar un Pase a Producción y Implementar


sugerir el tipo de revisión a aplicar (para mayor solución de TI
información sobre los tipos de revisión existentes por
favor consultar la sección 1.4.2).

RF_12 El sistema deberá permitir la asignación de una revisión Implementar


de IST a un analista de IST. solución de TI

RF_13 El sistema deberá permitir registrar la aprobación o Implementar


rechazo del Pase a Producción revisado. solución de TI

Nota: No se espera integración con el Sistema de Pases de AS/400


en la aprobación o rechazo.

RF_14 El sistema deberá permitir al Analista de IST administrar Implementar


la documentación que sustenta las pruebas realizadas por solución de TI
el área de IST.

RF_15 El sistema deberá permitir al Jefe de IST consultar la Implementar


documentación que sustenta las pruebas realizadas por el solución de TI
área de IST.

RF_16 El sistema deberá notificar al Supervisor de IST cuando Implementar


el Analista de IST haya respondido a un pedido de solución de TI
revisión.

Página 148
Código Descripción Caso de Uso
del Negocio

RF_17 El sistema deberá notificar al Analista de IST acerca de Implementar


la asignación de la revisión de un Pase a Producción. solución de TI

RF_18 El sistema deberá permitir agregar, modificar o eliminar Implementar


la lista de programas críticos[o] que el clasificador solución de TI
automático utiliza como parte de su análisis.

RF_19 El sistema deberá permitir agregar, modificar o eliminar Implementar


la lista de aplicaciones críticas[b] que el clasificador solución de TI
automático utiliza como parte de su análisis.

RF_20 El sistema deberá permitir modificar los parámetros para Implementar


el análisis estadístico del clasificador de pases solución de TI
(umbrales, cantidad de revisiones que se consideran
como “recientes”, etc.).

RF_21 El sistema deberá permitir administrar la configuración Implementar


de los documentos que forman parte del checklist de
solución de TI
revisión por cada tipo de Revisión.

RF_22 El sistema deberá poder exportar la documentación que Implementar


sustenta una revisión de IST realizada a demanda del
solución de TI
usuario.

RF_23 El sistema deberá generar el “status report” de IST a Generar


demanda del usuario y correspondiente a un periodo de
Estadísticas de
tiempo indicado por éste (semanal o mensual).
IST

RF_24 El sistema deberá permitir modificar los parámetros que Generar


se utilizan para el informe de esfuerzo de revisión
Estadísticas de
realizado por los Analistas de IST.
IST

RF_25 El sistema deberá generar un gráfico de esfuerzo de Generar


revisión de los Analistas de IST a demanda del usuario y
Estadísticas de
correspondiente a un periodo de tiempo indicado por
éste. IST

Página 149
Código Descripción Caso de Uso
del Negocio

RF_26 El sistema deberá generar el ranking de analistas de Generar


Desarrollo con mayor cantidad de errores en IST a
Estadísticas de
demanda del usuario y correspondiente a un periodo de
tiempo indicado por éste. IST

Nota 1: Se utilizará la Fecha de Fin de la Revisión para determinar


si la misma pertenece al rango de fechas solicitado.
Nota 2: Solamente se consideran aquellas revisiones que se
encuentran en estado de finalizadas, lo cual excluye del análisis a
los hallazgos estáticos que pudieran haberse generado como parte
de las labores de desarrollo.
Nota 3: Este requerimiento se relaciona con el requerimiento no
funcional RNF-046.

RF_27 El sistema deberá generar el ranking de aplicaciones de Generar


Desarrollo con mayor cantidad de errores en IST a
Estadísticas de
demanda del usuario y correspondiente a un periodo de
tiempo indicado por éste. IST

Nota 1: Se utilizará la Fecha de Fin de la Revisión para determinar


si la misma pertenece al rango de fechas solicitado.
Nota 2: Solamente se consideran aquellas revisiones que se
encuentran en estado de finalizadas, lo cual excluye del análisis a
los hallazgos estáticos que pudieran haberse generado como parte
de las labores de desarrollo.
Nota 3: Este requerimiento se relaciona con el requerimiento no
funcional RNF-046.

RF_28 El sistema deberá generar el ranking de programas con Generar


mayor cantidad de hallazgos en IST a demanda del
Estadísticas de
usuario y correspondiente a un periodo de tiempo
indicado por éste. IST

Nota 1: Se utilizará la Fecha de Fin de la Revisión para determinar


si la misma pertenece al rango de fechas solicitado.
Nota 2: Solamente se consideran aquellas revisiones que se
encuentran en estado de finalizadas, lo cual excluye del análisis a
los hallazgos estáticos que pudieran haberse generado como parte
de las labores de desarrollo.
Nota 3: Este requerimiento se relaciona con el requerimiento no
funcional RNF-046.

RF_29 El sistema deberá generar el ranking de los hallazgos Generar


más frecuentes a demanda del usuario y correspondiente
Estadísticas de
a un periodo de tiempo indicado por éste.
IST
Nota 1: Se utilizará la Fecha de Fin de la Revisión para determinar
si la misma pertenece al rango de fechas solicitado.
Nota 2: Solamente se consideran aquellas revisiones que se
encuentran en estado de finalizadas, lo cual excluye del análisis a
los hallazgos estáticos que pudieran haberse generado como parte

Página 150
Código Descripción Caso de Uso
del Negocio
de las labores de desarrollo.
Nota 3: los hallazgos se encuentran codificados de acuerdo a la
tabla que se presenta en el Anexo 3.
Nota 4: Este requerimiento se relaciona con el requerimiento no
funcional RNF-046.

RF_30 El sistema deberá permitir administrar los pedidos de Generar


Auditoría. Información de
IST para
Auditoría

RF_31 El sistema deberá permitir exportar la documentación de Generar


un conjunto de pases previamente indicado de manera Información de
masiva. IST para
Auditoría
Nota: Este requisito se relaciona con el requisito no funcional RNF-
026.

RF_32 El sistema deberá guardar registro de cualquier Generar


inserción, actualización o eliminación que se haya Información de
realizado con relación a un pedido de Auditoría. IST para
Auditoría

RF_33 El sistema deberá permitir administrar las Cartas de Controlar


Desviación asociadas a las revisiones de IST realizadas. Cartas de
Desviación

RF_34 El sistema deberá permitir la consulta de las Cartas de Controlar


Desviación. Cartas de
Desviación

RF_35 El sistema deberá guardar registro de cualquier Controlar


inserción, modificación o eliminación que se haya Cartas de
realizado con relación a una Carta de Desviación. Desviación

RF_36 El sistema deberá generar, a demanda del usuario, la Controlar


relación de Cartas de Desviación vencidas y por vencer Cartas de
ordenadas de manera ascendente de acuerdo a la fecha Desviación
de vencimiento.

Nota: Este requisito se relaciona con el requisito no funcional RNF-


047.

RF_38 El sistema, a manera de alerta, deberá emitir y enviar por Controlar


correo electrónico la relación de Cartas de Desviación Cartas de
vencidas y por vencer al Supervisor de IST todos los Desviación
jueves a las 11 pm.
Tabla 15: Requerimientos Funcionales asociados a los Casos de Uso

Página 151
4.2.1.2. Requerimientos Funcionales asociados a Aspectos Generales

Código Descripción

RFG_01 El sistema deberá autenticar al usuario a través de un nombre de


usuario y una contraseña registrados en el sistema.

RFG_02 El sistema deberá permitir al usuario cambiar su contraseña previa


autenticación de su identidad.

RFG_03 El sistema deberá permitir administrar usuarios (crear, modificar,


eliminar y consultar).

RFG_04 El sistema deberá permitir administrar perfiles (crear, modificar,


desactivar y asignar perfiles de usuario).

Nota: El perfil se encuentra definido por una combinación de una área y un


rol.

Tabla 16: Requerimientos funcionales asociados a aspectos generales

4.2.2. Requerimientos No Funcionales

4.2.2.1. Usabilidad

Código Descripción
RNF-001 La calificación por parte del usuario de la facilidad de
entendimiento del sistema debe ser superior a "Bueno" (4 o
superior en una escala de 1 a 5)

Nota: La calificación se realizará por cada caso de uso.


RNF-002 El usuario debe poder utilizar correctamente el sistema con un
máximo de una hora de capacitación.
Tabla 17: Requerimientos No Funcionales - Usabilidad

4.2.2.2. Confiabilidad

Código Descripción
RNF-004 Se deberá considerar en el backup la información hasta un
máximo de 10 años de antigüedad.
RNF-005 El sistema deberá estar disponible el 99.7% del tiempo
comprendido dentro del horario de Lunes a Domingo de 8 am. a 9
pm.
Tabla 18: Requerimientos No Funcionales - Confiabilidad

Página 152
4.2.2.3 Rendimiento

Código Descripción
RNF-007 El 95% de las transacciones de registro no debe exceder los 5
segundos (sujeto a la arquitectura detallada en el punto 5.8).

Nota 1: para el caso del analizador estático se considerará el


análisis de un objeto como una transacción de registro.
Nota 2: Se excluyen las interacciones que involucren subida de
archivos, puesto que el tiempo es dependiente del tamaño del
mismo.
RNF-008 El 95% de los reportes ejecutados no debe demorar más de un
minuto (sujeto a la arquitectura detallada en el punto 5.8).
RNF-010 El sistema deberá soportar 30 usuarios concurrentes (sujeto a la
arquitectura detallada en el punto 5.8).
Tabla 19: Requerimientos No Funcionales - Rendimiento

4.2.2.4. Soporte

Código Descripción
RNF-011 El servidor que alojará la aplicación deberá cumplir con los
siguientes requerimientos mínimos: Procesador Intel Xeon, de 2.8
GHz, 4GB memoria RAM, HD 100 GB, conexión a red de 1
Mbps.

Nota: las especificaciones mencionadas se aplican a los servidores


web y servidores de aplicación.
Se deberá contar con 200 GB para el almacenamiento de los
RNF-012 adjuntos considerando un dimensionamiento a tres años (se
utilizará el clúster de File Server con el que cuenta la empresa).
El sistema será compatible con estaciones de trabajo que cuenten
RNF-013 como mínimo con: procesador Pentium dual core, 4 GB de
memoria y 100GB de disco.
El sistema deberá soportar el navegador Microsoft Internet
RNF-014
Explorer 11 (standard corporativo de la empresa).
El motor de base de datos deberá ser Microsoft SQL Server 2012
RNF-015 (se utilizará el clúster de SQL Server 2012 con el que cuenta la
empresa).
RNF-016 El sistema operativo del servidor deberá ser Windows 2012 R2.
El servidor de correo deberá ser Windows Exchange Server 2010
RNF-048
(se utilizará el clúster con el que cuenta la empresa).
Tabla 20: Requerimientos No Funcionales – Soporte

Página 153
4.2.2.5. Restricciones de Diseño

Código Descripción
RNF-017 El sistema deberá ser de tipo Web.

RNF-018 Se utilizará el patrón MVC implementado con ASP.NET MVC.


No deberán utilizarse controles ActiveX dentro del desarrollo de
RNF-019
la solución.
RNF-020 Los Web Services serán de tipo WCF (SOAP XML).

RNF-021 La librería de acceso a datos será Enterprise Library 6.

RNF-022 Se entregará un proyecto Visual Studio 2013 (lenguaje C#)

RNF-025 Se utilizará el Microsoft Framework 4.5.


El formato de salida de los informes para auditoría deberá ser en
RNF-026
formato Word (docx).
Las alertas y notificaciones se realizarán a través de correo
RNF-027 electrónico y únicamente a direcciones que formen parte del
dominio “scotiabank.com.pe”.
El sistema deberá contar con mecanismos que permitan el registro
RNF-039
de los errores producidos durante la ejecución de la solución.
Los gráficos estadísticos se generarán utilizando la librería
RNF-040 Charting (System.Web.UI.DataVisualization) propia del .Net
Framework.
Los adjuntos que subirán al sistema los Analistas de IST como
RNF-041
parte de su revisión serán de tipo Word (.docx).
El servidor de aplicaciones será Internet Information Server 8 (IIS
RNF-042
8).
RNF-043 Las Cartas de Desviación se subirán al sistema en formato PDF.
El formato de exportación para los reportes de ranking será en
RNF-046
formato Excel (.xlsx).
La relación de Cartas de Desviación Vencidas y por Vencer se
RNF-047
generará en formato Word (.docx).
Tabla 21: Requerimientos No Funcionales - Restricciones de Diseño

4.2.2.6. Documentación de Usuario y Sistema de Ayuda

Código Descripción
RNF-029 Se deberá contar con un manual técnico que detalle las reglas de
validación del analizador estático para su publicación en la
intranet del área de Desarrollo.
Tabla 22: Requerimientos No Funcionales - Documentación y Sistema de Ayuda

Página 154
4.2.2.7. Componentes Adquiridos
No aplica.

4.2.2.8. Interfases

4.2.2.8.1. Interfases de Software

Código Descripción
RNF-030 El sistema se conectará a la base de datos DB2 de AS/400
utilizando el controlador propio de IBM (IBM.Data.DB2.iSeries).

Nota: En el AS/400 existen dos bases de datos que es necesario


consultar. Estas son: la base de datos del Sistema de Pases de
AS/400 y el sistema Bantotal [c].
RNF-031 El analizador estático deberá integrarse con el programa
GxCompile exponiendo un WebService de tipo WCF (SOAP
XML).
Tabla 23: Interfases de Software

4.2.2.8.2. Interfases de Comunicaciones


No aplica.

4.2.2.9. Licenciamiento

Código Descripción
RNF-033 Se deberá tener licencia de Microsoft SQL Server 20012.

RNF-034 Se deberá contar con licencia de Microsoft Visual Studio 2013.


Se deberá contar con licencia de Microsoft Windows Server 2012
RNF-035
R2 para cada uno de los servidores web y de aplicaciones.
Tabla 24: Requerimientos No Funcionales - Licenciamiento

4.2.2.10. Requerimientos Legales y de Derechos de Autor


No aplica.

4.2.2.11. Estándares Aplicables


No aplica.

4.2.2.12. Seguridad del Sistema

Código Descripción
RNF-036 Se deberá forzar una longitud de clave de por lo menos 8 caracteres.

Página 155
Código Descripción
RNF-037 Se deberá obligar la utilización de claves fuertes (combinación de
mayúsculas, minúsculas, números y caracteres especiales).

RNF-038 Si el usuario ingresa una clave incorrecta más de 3 veces


consecutivas, el sistema lo bloqueará impidiendo su acceso hasta
que el administrador lo habilite.

RNF-044 Se deberá forzar un cambio de clave si han pasado más de 30 días


desde el último cambio de clave.
RNF-045 Se deberá solicitar las credenciales de autenticación nuevamente si
no se ha registrado actividad en los últimos 30 minutos.

Tabla 25: Requerimientos No Funcionales - Seguridad

Página 156
4.3. Modelo de Casos de Uso del Sistema
Para la elaboración de esta sección se consultaron las siguientes fuentes bibliográficas:
El Proceso Unificado de Desarrollo de Software [36]. UML and the Unified Process –
Practical Object-Oriented Analysis & Design [37], The Unified Model Language User
Guide [38] y Dear Dr. Use Case: Is Clock an Actor [39].

4.3.1. Actores del Sistema


Actor Descripción
AS01-Analista de IST Actor cuyas labores consisten en la
revisión de los Pases a Producción así
como la generación de los sustentos
documentarios correspondientes.
AS02-Jefe de IST Actor cuyas labores comprenden
actividades importantes como la
clasificación de pases, la administración
de las revisiones, la gestión de Cartas de
Desviación, la atención de los pedidos
de Auditoría y la generación de
información estadística.
AS03-Consumidor de Análisis Estático Actor que representa a un sistema que
consume los servicios del analizador
estático de código. Por ejemplo, el
sistema GxCompile.
AS04-Empleado de IST Actor generalizado que comprende al
Jefe de IST y al Analista de IST para
labores comunes de ambos actores.
AS98-Administrador del Sistema Actor que se encarga de realizar labores
administrativas como por ejemplo el
mantenimiento de perfiles y usuarios.

Página 157
Actor Descripción
AS99-Usuario Actor generalizado que representa a los
usuarios que activan los casos de uso de
login y de cambio de contraseña.

Tabla 26: Actores del Sistema

Página 158
4.3.2. Diagrama de Actores del Sistema

AS99-Usuario

AS03-Consumidor de Análisis Estático AS04-Empleado AS98-Administrador del


de IST Sistema

AS01-Analista de AS02-Jefe de IST


IST

Ilustración 40: Diagrama de Actores del Sistema

4.3.3. Diagrama de Paquetes del Sistema

PK01-Análisis Estático PK02-Gestión de Revisiones


(from Casos de Uso del Sistema) (from Casos de Uso del Sistema)
...)

PK03-Gestión de Cartas de PK04-Seguridad


Desviación (from Casos de Uso del Sistema)
(from Casos de Uso del Sistema)

Ilustración 41: Diagrama de Paquetes

Página 159
4.3.4. Diagrama de Casos de uso del Sistema por paquete

4.3.4.1. PK01-Análisis Estático

CUS01-Analizar código fuente


Genexus

AS03-Consumidor de
Análisis Estático
(from Actores del Sistema)
CUS02-Analizar código fuente CL

CUS03-Administrar parámetros de
AS02-Jefe de IST revisión estática
(from Actores del Sistema)
...)

Ilustración 42: Diagrama de C. U. del Sistema–PK01-Análisis Estático

Página 160
4.3.4.2. PK02-Gestión de Revisiones

CUS16-Administrar checklist CUS17-Administrar parámetros de


Documentos Gestión de Revisiones

CUS05-Consultar asignación de CUS10-Emitir respuesta de


revisiones Revisión

<<extend>>

AS01-Analista de
AS02-Jefe de IST CUS06-Gestionar ciclo de Revisión IST
(from Actores del Sistema)
...) de IST (from Actores del Sistema)
...)

<<extend>>

<<extend>>

CUS11-Administrar pedido de
Auditoría CUS04-Consultar historia de CUS08-Administrar hallazgos y
hallazgos por objeto evidencia

AS04-Empleado
de IST
CUS12-Generar "status report" (from Actores del Sistema)
...)
CUS13-Generar ranking de
desempeño del área de Desarrollo

CUS15-Generar información de
esfuerzo realizado por Analistas IST

Ilustración 43: Diagrama de C.U. del Sistema–PK02-Gestión de Revisiones

Página 161
4.3.4.3. PK03-Gestión de Cartas de Desviación

CUS18-Administrar Carta de
Desviación

<<extend>>

AS02-Jefe de IST
(from Actores del Sistema)
...)
CUS19-Generar relación de Cartas
de Desviación por Vencimiento

CUS20-Consultar Cartas de
AS01-Analista de Desviación
IST
(from Actores del Sistema)
...)

AS98-Administrador CUS21-Emitir alertas


del Sistema
(from Actores del Sistema)

Ilustración 44: Diagrama de C.U. del Sistema-PK03-Gestión de Cartas de Desviación

Página 162
4.3.4.4. PK04-Seguridad

CUS22-Realizar inicio de sesión

<<extend>>

AS99-Usuario
(from Actores del Sistema)
...)

CUS23-Cambiar Contraseña

AS98-Administrador CUS24-Administrar Usuarios


del Sistema
(from Actores del Sistema)

CUS25-Administrar perfiles

Ilustración 45: Diagrama de C.U. del Sistema–PK04-Seguridad

Página 163
4.4. Atributos de los Casos de Uso del Sistema

Paquete Nombre del Complejidad Estado Dificultad Resp. Prior./


Caso de Uso Ciclo
PK01-Análisis CUS01-Analizar Primario Definido Alta Roberto 0
Estático Código Fuente Vaccari
Genexus
PK01-Análisis CUS02-Analizar Primario Definido Alta Roberto 0
Estático Código Fuente Vaccari
CL
PK01-Análisis CUS03- Opcional Definido Baja Roberto 2
Estático Administrar Vaccari
parámetros de
revisión estática
PK02-Gestión CUS04- Secundario Definido Baja Roberto 1
de Revisiones Consultar Vaccari
Historia de
Hallazgos por
Objeto
PK02-Gestión CUS05- Secundario Definido Media Roberto 1
Consultar
de Revisiones Vaccari
asignación de
revisiones
PK02-Gestión CUS06- Primario Definido Alta Roberto 0
Gestionar Ciclo
de Revisiones Vaccari
de Revisión de
IST
PK02-Gestión CUS08- Primario Definido Media Roberto 0
Administrar
de Revisiones Vaccari
Hallazgos y
Evidencia
PK02-Gestión CUS10-Emitir Secundario Definido Baja Roberto 1
Respuesta de
de Revisiones Vaccari
Revisión
PK02-Gestión CUS11- Primario Definido Alta Roberto 0
Administrar
de Revisiones Vaccari
Pedido de
Auditoría
PK02-Gestión CUS12-Generar Secundario Definido Media Roberto 1
“status report”
de Revisiones Vaccari
PK02-Gestión CUS13- Generar Secundario Definido Baja Roberto 1
ranking de
de Revisiones Vaccari
desempeño del
área de
Desarrollo

Página 164
Paquete Nombre del Complejidad Estado Dificultad Resp. Prior./
Caso de Uso Ciclo
PK02-Gestión CUS15-Generar Secundario Definido Media Roberto 1
información de
de Revisiones Vaccari
esfuerzo
realizado por
Analistas IST
PK02-Gestión CUS16- Opcional Definido Baja Roberto 2
Administrar
de Revisiones Vaccari
Checklist de
Documentos
PK02-Gestión CUS17- Opcional Definido Baja Roberto 2
Administrar
de Revisiones Vaccari
parámetros de
Gestión de
Revisiones
PK03-Gestión CUS18- Primario Definido Media Roberto 0
de Cartas de Administrar
Vaccari
Desviación Carta de
Desviación
PK03-Gestión CUS19-Generar Secundario Definido Baja Roberto 1
de Cartas de relación de
Vaccari
Desviación Cartas de
Desviación por
Vencimiento
PK03-Gestión CUS20- Secundario Definido Baja Roberto 1
de Cartas de Consultar Cartas
Vaccari
Desviación de Desviación
PK03-Gestión CUS21-Emitir
Secundario Definido Media Roberto 1
de Cartas de alertas
Vaccari
Desviación
PK04- CUS22-Realizar Secundario Definido Baja Roberto 1
Seguridad inicio de sesión
Vaccari
PK04- CUS23-Cambiar Secundario Definido Baja Roberto 1
Seguridad Contraseña
Vaccari
PK04- CUS24_ Secundario Definido Baja Roberto 1
Seguridad Administrar
Vaccari
Usuarios
PK04- CUS25- Secundario Definido Baja Roberto 1
Seguridad Administrar
Vaccari
perfiles
Tabla 27: Atributos de los casos de uso del sistema

Página 165
El siguiente gráfico muestra la distribución de los Casos de Uso del Sistema por ciclo de
desarrollo.

Ilustración 46: Distribución de los Casos de Uso por Ciclo

Página 166
4.5. Sustento de los casos de uso elegidos como núcleo central

A manera de resumen del cuadro anterior, se pueden sustentar los casos del núcleo
central de la siguiente forma:

Paquete Caso de Uso del Sistema Sustento


PK01-Análisis CUS01-Analizar Código El analizador estático constituye un
Estático Fuente Genexus pilar del sistema. Además del valor
para el negocio, el caso de uso
abarca clases fundamentales del
modelo conceptual. Finalmente, el
desarrollo de un analizador estático
es una tarea compleja que impacta
sobre la arquitectura del sistema.

PK01-Análisis CUS02-Analizar Código Ídem al caso anterior.


Estático Fuente CL
PK02-Gestión de CUS06-Gestionar Ciclo El caso de uso abarca parte de la
Revisiones de Revisión de IST funcionalidad más importante del
sistema. Su desarrollo permite el
descubrimiento de clases
importantes del modelo conceptual.
Así mismo, cuenta con
funcionalidad compleja como la
clasificación automática de Pases a
Producción.

PK02-Gestión de CUS08-Administrar De manera similar al caso anterior,


Revisiones Hallazgos y Evidencia se perdería gran funcionalidad de no
implementarse este caso de uso y
comprende algunas de las clases
más relevantes del modelo

Página 167
Paquete Caso de Uso del Sistema Sustento
conceptual.

PK02-Gestión de CUS11-Administrar El caso de uso utiliza clases


Revisiones Pedido de Auditoría importantes del modelo conceptual
e impacta en las decisiones de
arquitectura, puesto que incluye
funcionalidad de exportación y
consolidación de archivos.

PK03-Gestión de CUS18-Administrar Carta El caso de uso es identificado por el


Cartas de de Desviación usuario como uno de los más
Desviación significativos desde el punto de
vista funcional. Adicionalmente,
trabaja con clases fundamentales del
modelo conceptual, realiza carga de
archivos y requiere versionamiento.

Tabla 28: Sustento de los Casos de Uso del núcleo central

Página 168
4.6. Trazabilidad entre requerimientos funcionales y casos de uso
CUS CUS CUS CUS CUS CUS CUS CUS CUS CUS CUS CUS CUS CUS CUS CUS CUS CUS CUS CUS CUS CUS
01 02 03 04 05 06 08 10 11 12 13 15 16 17 18 19 20 21 22 23 24 25
El sistema deberá proveer un analizador estático[a] que permita revisar fuentes de programas de tipo Genexus [i].
RF_01
X
El sistema deberá proveer un analizador estático[a] que permita revisar fuentes de programas de tipo CL [h].
RF_02
X
El sistema deberá permitir consultar el historial de hallazgos de un objeto puntual.
RF_03
X
El sistema deberá permitir que un analista de IST confirme los hallazgos del analizador estático.
RF_04
X
El sistema deberá permitir agregar, modificar o eliminar la lista de comandos AS/400 restringidos [f] que el analizador estático utiliza como parte de su análisis.
RF_05
X
El sistema deberá permitir agregar, modificar o eliminar la lista de comandos AS/400 que requieren autorización de Seguridad Informática [g] y que el analizador estático
RF_06 utiliza como parte de su análisis.
X
El sistema deberá permitir agregar, modificar o eliminar la lista de textos fijos (“durezas”) que el analizador estático busca como parte de su análisis.
RF_07
X
El sistema deberá permitir consultar las revisiones de Pases a Producción.
RF_08
X X X
El sistema deberá cargar al sistema los nuevos Pases a Producción que se encuentran asignados al área de IST a demanda del usuario.
RF_09
X
El sistema deberá permitir consultar la relación de revisiones de IST que los analistas tienen asignadas en el momento en que se ejecuta la consulta.
RF_10
X
El sistema deberá analizar un Pase a Producción y sugerir el tipo de revisión a aplicar (para mayor información por favor consultar la sección 1.4.2).
RF_11
X
El sistema deberá permitir la asignación de una revisión de IST a un analista.
RF_12
X
El sistema deberá permitir registrar la aprobación o rechazo del Pase a Producción revisado.
RF_13
X

Página 169
CUS CUS CUS CUS CUS CUS CUS CUS CUS CUS CUS CUS CUS CUS CUS CUS CUS CUS CUS CUS CUS CUS
01 02 03 04 05 06 08 10 11 12 13 15 16 17 18 19 20 21 22 23 24 25
El sistema deberá permitir al analista administrar la documentación que sustenta las pruebas realizadas por el área de IST.
RF_14
X
El sistema deberá permitir al Jefe de IST consultar la documentación que sustenta las pruebas realizadas por el área de IST.
RF_15
X X
El sistema deberá notificar al Supervisor de IST cuando el Analista de IST haya respondido a un pedido de revisión.
RF_16
X
El sistema deberá notificar al Analista de IST acerca de la asignación de la revisión de un Pase a Producción.
RF_17
X
El sistema deberá permitir agregar, modificar o eliminar la lista de programas críticos[o] que el clasificador automático utiliza como parte de su análisis.
RF_18
X
El sistema deberá permitir agregar, modificar o eliminar la lista de aplicaciones críticas[b] que el clasificador automático utiliza como parte de su análisis.
RF_19
X
El sistema deberá permitir modificar los parámetros para el análisis estadístico del clasificador de pases (umbrales, cantidad de revisiones que se consideran como
RF_20 “reciente”, etc.).
X
El sistema deberá permitir la configuración de los documentos que forman parte del checklist de revisión por cada tipo de Revisión.
RF_21
X
El sistema deberá poder exportar la documentación que sustenta una revisión de IST realizada.
RF_22
X
El sistema deberá generar el “status report” mensual de IST a demanda del usuario y correspondiente a un periodo de tiempo indicado por éste.
RF_23
X
El sistema deberá permitir modificar los parámetros para el informe de esfuerzo de revisión realizado por los Analistas de IST.
RF_24
X
El sistema deberá generar gráfico de esfuerzo de revisión realizado por los Analistas de IST a demanda del usuario y correspondiente a un periodo de tiempo indicado por
RF_25 éste.
X
El sistema deberá generar el ranking de analistas de Desarrollo con mayor cantidad de errores en IST a demanda del usuario y correspondiente a un periodo de tiempo
indicado por éste.
RF_26
X

Página 170
CUS CUS CUS CUS CUS CUS CUS CUS CUS CUS CUS CUS CUS CUS CUS CUS CUS CUS CUS CUS CUS CUS
01 02 03 04 05 06 08 10 11 12 13 15 16 17 18 19 20 21 22 23 24 25
El sistema deberá generar el ranking de aplicaciones de Desarrollo con mayor cantidad de errores en IST a demanda del usuario y correspondiente a un periodo de tiempo
RF_27 indicado por éste.
X
El sistema deberá generar el ranking de programas con mayor cantidad de hallazgos en IST a demanda del usuario y correspondiente a un periodo de tiempo indicado por
RF_28 éste.
X
El sistema deberá generar el ranking de los hallazgos más frecuentes a demanda del usuario y correspondiente a un periodo de tiempo indicado por éste. Nota: los errores
RF_29 se encuentran codificados de acuerdo a la tabla que se presenta en el Anexo 3.
X
El sistema deberá permitir administrar los pedidos de Auditoría.
RF_30
X
El sistema deberá permitir exportar la documentación de un conjunto de pases previamente indicado de manera masiva. Nota: Este requisito se relaciona con el requisito
RF_31 no funcional RNF_026.
X
El sistema deberá guardar registro de cualquier inserción, actualización, eliminación o exportación de documentos que se haya realizado con relación a un pedido de
RF_32 Auditoría.
X
El sistema deberá permitir administrar las Cartas de Desviación asociadas a las revisiones de IST realizadas.
RF_33
X
El sistema deberá permitir la consulta de las Cartas de Desviación.
RF_34
X X
El sistema deberá guardar registro de cualquier inserción, modificación o eliminación que se hayan realizado con relación a una Carta de Desviación.
RF_35
X
El sistema deberá generar, a demanda del usuario, la relación de Cartas de Desviación vencidas y por vencer ordenadas de manera ascendente de acuerdo a la fecha de
RF_36 vencimiento
X
El sistema, a manera de alerta, deberá emitir y enviar por correo electrónico la relación de Cartas de Desviación vencidas y por vencer al Supervisor de IST todos los
RF_38 lunes.
X
El sistema deberá autenticar al usuario a través de un nombre de usuario y una contraseña registrados en el sistema.
RFG_01
X
El sistema deberá permitir que el usuario pueda cambiar su contraseña previa autenticación de su identidad.
RFG_02
X

Página 171
CUS CUS CUS CUS CUS CUS CUS CUS CUS CUS CUS CUS CUS CUS CUS CUS CUS CUS CUS CUS CUS CUS
01 02 03 04 05 06 08 10 11 12 13 15 16 17 18 19 20 21 22 23 24 25
El sistema deberá permitir administrar usuarios (crear, modificar, eliminar y consultar).
RFG_03
X
El sistema deberá permitir administrar perfiles (crear, modificar, desactivar y asignar perfiles de usuario).
RFG_04
X

Tabla 29: Trazabilidad - Casos de Uso del Sistema y Requerimientos Funcionales

Página 172
4.7. Especificación de alto nivel de los Casos de Uso
A continuación se presenta la especificación de alto nivel de los casos de uso que NO
forman del núcleo central. Los casos de uso del núcleo central se explican de
manera detallada en el punto 4.8.

Nombre CUS03-Administrar parámetros de revisión estática

Actores AS02-Jefe de IST

Propósito Administrar los parámetros que utiliza el analizador estático de


código.

Descripción El caso de uso se inicia cuando el Jefe de IST requiere modificar los
parámetros que utiliza el analizador estático de código para sus
revisiones. El sistema proporcionará la posibilidad de agregar,
modificar o eliminar los valores de las siguientes categorías:
 Comandos restringidos.
 Comandos que requieren autorización de Seguridad
Informática.
 Textos fijos (“durezas”).
El caso de uso finaliza cuando el sistema graba las modificaciones
realizadas a solicitud del Jefe de IST.
Nota: Los textos fijos mencionados se relacionan con el RF_07.

Requerimientos Ver sección 4.6.

Puntos de Ninguno
Inclusión

Puntos de Ninguno
Extensión

Clasificación Opcional

Tabla 30: CUS03-Administrar parámetros de revisión estática

Página 173
Nombre CUS04-Consultar historia de hallazgos por objeto

Actores AS04-Empleado de IST

Propósito Consultar la historia de los hallazgos que han sido detectados a lo


largo del tiempo para un objeto en particular.

Descripción El caso de uso se inicia cuando el Empleado de IST solicita consultar


la historia de hallazgos para un objeto específico. Luego de
ingresados el objeto y la ubicación del fuente, el sistema muestra una
lista que contiene: número de revisión, código de hallazgo,
descripción del hallazgo, información adicional, observaciones y si
se trata de un falso positivo. El caso de uso finaliza cuando el
sistema muestra los hallazgos solicitados.

Requerimientos Ver sección 4.6.

Puntos de Ninguno
Inclusión

Puntos de Ninguno
Extensión

Clasificación Secundario

Tabla 31: CUS04-Consultar historia de hallazgos por objeto

Nombre CUS05-Consultar asignación de revisiones

Actores Jefe de IST

Propósito Consultar las revisiones que tienen asignadas los analistas de IST
para fines de nueva asignación de revisiones.

Descripción El caso de uso se inicia cuando el Jefe de IST solicita consultar las
revisiones que tienen asignadas los Analistas de IST.
El sistema debe mostrar el código del analista, su nombre y el
esfuerzo total estimado de las revisiones que tiene asignadas.
Adicionalmente deber ser posible ver el detalle de dichas revisiones
(con sus respectivos componentes y el esfuerzo de cada uno).
El caso de uso finaliza cuando el Jefe de IST sale de la consulta.

Nota: El cálculo del esfuerzo se realiza en base a los mismos

Página 174
criterios definidos en el Anexo 5.

Requerimientos Ver sección 4.6.

Puntos de Ninguno
Inclusión

Puntos de Ninguno
Extensión

Clasificación Secundario

Tabla 32: CUS05-Consultar asignación de revisiones

Nombre CUS10-Emitir Respuesta de Revisión

Actores AS01-Analista de IST

Propósito Dar respuesta sobre la revisión que ha realizado el Analista de IST.

Descripción El caso de uso se inicia cuando el Analista de IST selecciona una de


las revisiones que tiene pendientes de contestar y emite su veredicto
con respecto a si se debería aprobar o rechazar un Pase a Producción.
También se permite agregar observaciones que acompañen al
resultado. El caso de uso finaliza cuando el sistema graba la
respuesta y modifica el estado de la revisión a “Respondida”.

Requerimientos Ver sección 4.6.

Puntos de Ninguno
Inclusión

Puntos de Ninguno
Extensión

Clasificación Secundario

Tabla 33: CUS10-Emitir Respuesta de Revisión

Página 175
Nombre CUS12-Generar “status report”

Actores AS02-Jefe de IST

Propósito Generar un documento Word con el “Status Report” del área. Esto
incluye la relación de pases recibidos en el periodo de tiempo que
abarca el informe así como otras informaciones estadísticas que se
detallan en la descripción del caso de uso.

Descripción El caso de uso se inicia cuando el Jefe de IST solicita la emisión del
“Status Report” del área, para lo cual debe indicar el periodo de
tiempo que desea considerar en el reporte (puede ser semanal o
mensual). El sistema genera la información estadística necesaria y
completa las siguientes secciones de la plantilla Word de “Status
Report” definida por al área de IST (ver Anexo 6):
 La relación de pases recibidos en el periodo indicado.

 Estadísticas IST del periodo indicado.


o Distribución por estado de Revisión.
o Distribución por tipo de Revisión.
o Distribución por tipo de Respuesta.

 Comparativo Histórico.
o Distribución por Tipo de Revisión Mensual (últimos
12 meses)
o Distribución por Tipo de Respuesta Mensual (últimos
12 meses)

El caso de uso finaliza cuando el sistema genera el reporte


mencionado.

Nota 1: El periodo a analizar puede ser semanal o mensual. En


cualquiera de los dos casos, el comparativo histórico se realiza
considerando un lapso de tiempo mensual.
Nota 2: Se utilizará la Fecha de Inicio de la Revisión para determinar
a qué periodo pertenece la misma.

Requerimientos Ver sección 4.6.

Puntos de Ninguno
Inclusión

Puntos de Ninguno
Extensión

Página 176
Clasificación Secundario

Tabla 34: CUS12-Generar “Status Report”

Nombre CUS13-Generar ranking de desempeño del área de Desarrollo

Actores AS04-Empleado de IST

Propósito Generar un ranking del desempeño del área de Desarrollo tomando


como base la información histórica de los hallazgos detectados por el
área de IST. El detalle de las opciones del ranking se encuentra en la
descripción del caso de uso.

Descripción El caso de uso se inicia cuando el Empleado de IST solicita la


generación de información que contenga el ranking del desempeño
del área de Desarrollo.
Esta consulta abarca las siguientes opciones y el Empleado de IST
debe ingresar el periodo de tiempo a considerar:
 Ranking de los Analistas de Desarrollo con mayor cantidad
de hallazgos.
 Ranking de las aplicaciones que contienen la mayor cantidad
de hallazgo.
 Ranking de los programas con mayor cantidad de hallazgos.
 Ranking de los hallazgos que se presentan con mayor
frecuencia.

La consulta deberá estar ordenada de mayor a menor, mostrar


únicamente los 25 primeros registros y permitir exportación a Excel.
El caso de uso finaliza cuando el sistema genera la información
solicitada.

Nota 1: Se utilizará la Fecha de Fin de la Revisión para determinar si


la misma pertenece al rango de fechas solicitado.
Nota 2: Solamente se consideran aquellas revisiones que se
encuentran en estado de finalizadas, lo cual excluye del análisis a los
hallazgos estáticos que pudieran haberse generado como parte de las
labores de desarrollo.
Nota 3: los hallazgos se encuentran codificados de acuerdo a la tabla que se
presenta en el Anexo 3.

Requerimientos Ver sección 4.6.

Página 177
Puntos de Ninguno
Inclusión

Puntos de Ninguno
Extensión

Clasificación Secundario

Tabla 35: CUS13-Generar ranking de desempeño del área de Desarrollo

Nombre CUS15-Generar información de esfuerzo realizado por Analistas


IST

Actores AS02-Jefe de IST

Propósito Generar un gráfico estadístico en base a la información histórica de


las revisiones realizadas por los analistas de IST con el propósito de
analizar su esfuerzo de revisión durante el periodo que abarca el
informe.

Descripción El caso de uso se inicia cuando el Jefe de IST solicita consultar la


información del esfuerzo de revisión realizado por los Analistas de
IST, para lo cual debe indicar la fecha de inicio y de fin del periodo
que desea evaluar.
El sistema debe generar un gráfico estadístico que permita comparar
el esfuerzo realizado por los analistas de IST durante dicho periodo
de tiempo en intervalos mensuales. Los criterios para la
determinación del esfuerzo se encuentran documentados en el Anexo
5.
El caso de uso finaliza cuando el sistema genera y presenta la
información solicitada.
Nota 1: Se utilizará la Fecha de Fin de la Revisión para determinar a
qué periodo pertenece la misma.
Nota 2: Solamente se considerarán dentro del análisis las revisiones
que se encuentren en estado de Finalizadas.

Requerimientos Ver sección 4.6.

Puntos de Ninguno
Inclusión

Puntos de Ninguno
Extensión

Página 178
Clasificación Secundario

Tabla 36: CUS15-Generar información de esfuerzo realizado por Analistas IST

Nombre CUS16-Administrar Checklist Documentos

Actores AS02-Jefe de IST

Propósito Administrar los tipos de documento que están asociados a un tipo de


revisión de IST, lo cual se conoce como “checklist de documentos”.

Descripción El caso de uso se inicia cuando el Jefe de IST requiere realizar


alguna modificación a los tipos de documento que se encuentran
asociados a un tipo de revisión de IST específica.
Las opciones incluyen agregar o eliminar una asociación entre un
tipo de revisión y un tipo de documento. El cambio solamente
afectará a las revisiones que se inicien de manera posterior a la
modificación de la asociación. Adicionalmente debe ser posible
agregar, modificar o eliminar un tipo de documento.
El caso de uso finaliza cuando el sistema graba la información del
Checklist de documentos a solicitud del actor.

Requerimientos Ver sección 4.6.

Puntos de Ninguno
Inclusión

Puntos de Ninguno
Extensión

Clasificación Opcional

Tabla 37: CUS16-Administrar Checklist Documentos

Nombre CUS17-Administrar parámetros de Gestión de Revisiones

Actores AS02-Jefe de IST

Página 179
Propósito Administrar parámetros que son utilizados por el clasificador
automático y para el cálculo del esfuerzo de revisión de los analistas.

Descripción El caso de uso se inicia cuando el Jefe de IST desea actualizar


alguno de los parámetros que se utilizan como parte del proceso de
Gestión de Revisiones.
El sistema debe permitir operar sobre los siguientes parámetros y
ofrecer las opciones de agregar, editar y eliminar según corresponda:
 Parámetros del Clasificador Automático (agregar, editar y
eliminar)
o Programas críticos
o Aplicativos críticos
o Umbrales del clasificador (editar valores únicamente)

 Parámetros de Esfuerzo de Revisión de los Analistas (editar


valores)
o Factor de Esfuerzo por tipo de Objeto.
o Factor de Esfuerzo por tipo de Revisión.
o Factor de Esfuerzo por Complejidad Ciclomática.
o Factor de Esfuerzo por Cantidad de líneas de código.

El caso de uso finaliza cuando el sistema graba la actualización de


parámetros a petición del usuario.

Requerimientos Ver sección 4.6.

Puntos de Ninguno
Inclusión

Puntos de Ninguno
Extensión

Clasificación Opcional

Tabla 38: CUS17-Administrar parámetros de Gestión de Revisiones

Nombre CUS19-Generar relación de Cartas de Desviación por


Vencimiento

Actores AS02-Jefe de IST

Propósito Generar la relación de Cartas de Desviación Vencidas y por Vencer


para que el Jefe de IST pueda realizar el seguimiento del caso.

Página 180
Descripción El caso de uso se inicia cuando el Jefe de IST requiere generar una
relación de las Cartas de Desviación vencidas y por vencer.
El sistema debe mostrar el identificador de la carta, el título de la
misma, la revisión a la que ampara, el pase al que ampara, la fecha
de registro, las observaciones del registro, la fecha de vencimiento,
el tipo de vencimiento (vencida o por vencer). El ordenamiento será
por Fecha de Vencimiento de manera ascendente. Adicionalmente,
debe ser posible exportar la relación y generar a un archivo Word.
El caso de uso finaliza cuando el sistema genera el informe
solicitado.

Nota 1: La identificación de las Cartas por vencer se realiza


mediante la RN_55.
Nota 2: El formato a utilizar para la exportación se encuentra en el
Anexo 7.

Requerimientos Ver sección 4.6.

Puntos de Ninguno
Inclusión

Puntos de Ninguno
Extensión

Clasificación Secundario

Tabla 39: CUS19-Generar relación de Cartas de Desviación por Vencimiento

Nombre CUS20-Consultar Cartas de Desviación

Actores AS01-Analista de IST

Propósito Consultar la lista de todas las Cartas de Desviación registradas en el


sistema.

Descripción El caso de uso se inicia cuando el actor señalado solicita consultar


las Cartas de Desviación presentes en el sistema.
El sistema debe mostrar el identificador de la carta, el título de la
misma, la revisión a la que ampara, la fecha de registro, la fecha de
vencimiento, la fecha de levantamiento, la revisión que levanta la
carta y el estado de la misma. Adicionalmente, debe ser posible ver
las observaciones del registro y las observaciones del levantamiento

Página 181
de la Carta. El ordenamiento será por número de Carta de
Desviación de manera descendente.
El caso de uso finaliza cuando el actor sale de la consulta de Cartas
de Desviación.

Requerimientos Ver sección 4.6.

Puntos de Ninguno
Inclusión

Puntos de Ninguno
Extensión

Clasificación Secundario

Tabla 40: CUS20-Consultar Cartas de Desviación

Nombre CUS21-Emitir alertas

Actores AS98-Administrador del Sistema

Propósito Alertar al Jefe de IST con respecto a las Cartas de Desviación que se
encuentran vencidas o próximas a vencer.

Descripción El caso de uso se inicia cuando el Administrador del Sistema


encuentra Cartas de Desviación vencidas y por vencer. El sistema
debe enviar un reporte por correo electrónico para el Jefe de IST. El
caso de uso finaliza con el envío antes mencionado.

Nota 1: El reloj del sistema asumirá el rol de Administrador del


Sistema, de manera que las alertas puedan emitirse de manera
automática y en el momento oportuno.
Nota 2: La identificación de las Cartas por vencer se realiza
mediante la RN_55.
Nota 3: El formato a utilizar se encuentra en el Anexo 7.

Requerimientos Ver sección 4.6.

Puntos de Ninguno
Inclusión

Página 182
Puntos de Ninguno
Extensión

Clasificación Secundario

Tabla 41: CUS21-Emitir alertas

Nombre CUS22-Realizar inicio de sesión

Actores AS99-Usuario

Propósito Identificar al usuario ante el sistema y constatar que cuenta con


credenciales de acceso válidas.

Descripción El caso de uso se inicia cuando el Usuario se identifica con el


sistema. Ocasionalmente el sistema podría solicitarle cambio de
clave de acuerdo a las políticas de seguridad. El caso de uso
concluye cuando el sistema valida la identidad y permisos del
Usuario.

Requerimientos Ver sección 4.6.

Puntos de Ninguno
Inclusión

Puntos de CUS23-Cambiar Contraseña


Extensión

Clasificación Secundario

Tabla 42: CUS22-Realizar inicio de sesión

Nombre CUS23-Cambiar Contraseña

Actores AS99-Usuario

Propósito Permitir al Usuario modificar su contraseña.

Descripción El caso de uso se inicia cuando el Usuario requiere modificar su


contraseña. El caso de uso finaliza cuando el sistema graba la nueva
contraseña.

Página 183
Requerimientos Ver sección 4.6.

Puntos de Ninguno
Inclusión

Puntos de Ninguno
Extensión

Clasificación Secundario

Tabla 43: CUS23-Cambiar Contraseña

Nombre CUS24-Administrar Usuarios

Actores AS98-Administrador del Sistema

Propósito Realizar la administración de los usuarios en el sistema.

Descripción El caso de uso se inicia cuando el Administrador de Seguridad


requiere modificar los datos de los usuarios. El sistema debe permitir
agregar, modificar, eliminar, activar, desactivar usuarios y
reinicializar la contraseña. El caso de uso finaliza cuando el sistema
graba las modificaciones realizadas.

Requerimientos Ver sección 4.6.

Puntos de Ninguno
Inclusión

Puntos de Ninguno
Extensión

Clasificación Secundario

Tabla 44: CUS24-Administrar Usuarios

Nombre CUS25-Administrar perfiles

Actores AS98-Administrador del Sistema

Página 184
Propósito Realizar la administración de perfiles en el sistema.

Descripción El caso de uso se inicia cuando el Administrador de Seguridad


requiere modificar los roles de los usuarios. El perfil se encuentra
definido por una combinación de un área y un rol. Debe ser posible
agregar, modificar o eliminar un perfil, así como darle
mantenimiento a las tablas de roles y áreas. El caso de uso finaliza
cuando el sistema graba las modificaciones realizadas.

Requerimientos Ver sección 4.6.

Puntos de Ninguno
Inclusión

Puntos de Ninguno
Extensión

Clasificación Secundario

Tabla 45: CUS25-Administrar perfiles

Página 185
4.8. Especificación detallada de los Casos de Uso del Sistema
Para la elaboración de la presente sección se consultó la siguiente bibliografía: El
Proceso Unificado de Desarrollo de Software [36], UML and the Unified Process –
Practical Object-Oriented Analysis & Design [37], The Unified Model Language User
Guide [38], Simplifying use case models with CRUD Patterns [40] y Writing Effective
Use Cases [41].

4.8.1. CUS01-Analizar Código Fuente Genexus

4.8.1.1. Actores del Sistema


AS03-Consumidor de Análisis Estático

4.8.1.2. Propósito
Ejecutar el análisis estático del código fuente de un programa Genexus y devolver al
Consumidor de Análisis Estático la relación de anomalías encontradas.

4.8.1.3. Breve Descripción


El caso de uso se inicia cuando el Consumidor de Análisis Estático solicita la ejecución
de un análisis estático de código fuente de tipo Genexus para lo cual debe proveer los
datos necesarios para que el sistema realice dicha labor. El caso de uso finaliza cuando
el sistema retorna al Consumidor de Análisis Estático los resultados del análisis. Es
responsabilidad de dicho consumidor presentarle la información al usuario en el
tiempo y forma que crea conveniente (no forma parte de este caso de uso la
presentación al usuario final).

Nota: Un consumidor del analizador estático es el programa GxCompile. Dado que


su funcionalidad no forma parte de este caso de uso, en el Anexo 2 se puede
consultar la secuencia de pasos a seguir dentro de dicha herramienta para ejecutar
el análisis estático.

Página 186
4.8.1.4. Flujo Básico
a) El Consumidor de Análisis Estático solicita la revisión de un objeto de tipo Genexus
para lo cual deberá proporcionar la siguiente información. Es responsabilidad del
Consumidor de Análisis Estático obtener el código fuente del programa y generar la
Lista de Navegación [k] previamente.
 Nombre del programa (obligatorio)
 Ubicación del Fuente (obligatorio, modelo Genexus en el cual se encuentra).
 Fuente del programa a analizar (obligatorio).
 Lista de Navegación del programa a analizar (obligatorio).
 El código del analista que solicita el análisis (obligatorio) [RN_02].
 El número de Pase a Producción solamente en caso el programa a analizar
forme parte de un Pase a Producción [RN_01].

b) El sistema aplica las reglas de revisión estática y devuelve una lista de hallazgos
[RN_53]. La relación de reglas del negocio que se consideran se encuentran
detalladas en el punto 4.8.1.11. Cada hallazgo de la lista consta de lo siguiente:
 Nombre del objeto.
 Código de error.
 Tipo de error.
 Descripción del error.
 Información adicional (dependiendo del código de error la información
adicional puede contener la línea de código que desencadena el mismo).

c) El caso de uso finaliza cuando el Consumidor de Análisis Estático recibe la


información previamente señalada. Es responsabilidad de dicho consumidor
presentarle la información al usuario en el tiempo y forma que crea conveniente
(no forma parte de este caso de uso la presentación al usuario final).

4.8.1.5. Subflujos
Ninguno

Página 187
4.8.1.6. Flujos Alternos

4.8.1.6.1. Datos obligatorios en blanco


Se presenta en el punto “a” del Flujo Básico.

a) En caso alguno de los datos obligatorios para la ejecución venga en blanco, el


sistema devuelve al consumidor un error indicando la anomalía detectada finalizando
el caso de uso. Es responsabilidad del consumidor del servicio mostrar el mensaje al
usuario.

4.8.1.6.2. Fuente no corresponde con el nombre del objeto enviado


Se presenta en el punto “a” del Flujo Básico.

a) En caso el fuente no corresponda con el nombre del objeto enviado, el sistema


devuelve un error al consumidor indicando la anomalía detectada finalizando el caso
de uso. Es responsabilidad del consumidor del servicio mostrar el mensaje al usuario

4.8.1.6.3 Lista de Navegación no corresponde con el Fuente


Se presenta en el punto “a” del Flujo Básico.

a) En caso la Lista de Navegación [u] no corresponda con el fuente enviado, el sistema


devuelve un error al consumidor indicando la anomalía detectada finalizando el caso
de uso. Es responsabilidad del consumidor del servicio mostrar el mensaje al usuario.

4.8.1.7. Precondiciones
Ninguna.

4.8.1.8 Postcondiciones
ES01-RevisiónEstática y ES02-HallazgoEstático contendrán información de la revisión
estática realizada.

Página 188
4.8.1.9 Puntos de Inclusión
Ninguno.

4.8.1.10. Puntos de Extensión


Ninguno.

4.8.1.11. Reglas del Negocio


Reglas Generales

RN_01 – Código Pase


RN_02 – Código del Empleado
RN_53 – Hallazgos por Objeto

Reglas de Revisión
RN_05 – Objeto no tiene sistema
RN_06 – Objeto no tiene subsistema
RN_07 – Objeto no tiene nombre
RN_08 – Objeto no tiene descripción
RN_09 – Objeto no tiene autor
RN_10 – Objeto sin fecha
RN_11 – Regla “Same”
RN_12 – Tiene COMMIT_ON_EXIT en NO y tiene commit explícito
RN_13 – Bibliotecas de Desarrollo
RN_14 – Nombre del Banco asignado por texto fijo
RN_15 – Nombre de la moneda asignado por texto fijo
RN_16 – Signo de la moneda asignado por texto fijo
RN_18 – Comandos restringidos
RN_19 – Comandos para autorización de Seguridad
RN_21 – Nomenclatura Genexus
RN_22 – Código de Ejecutivo sin rutina genérica
RN_23A – Control de compromiso viola regla del core banking por commit
RN_23B – Control de compromiso viola regla del core banking por rollback
RN_24 – Commit inconsistente
RN_25 – Rollback inconsistente
RN_26 – Workpanel en ciclo de compromiso
RN_27 – Código del Banco se asigna de manera fija
RN_28 – Nombre del programa en cabecera
RN_29 – Fecha en la cabecera
RN_30 – Hora en la cabecera
RN_31 – Corrupción de variable de impresión por sentencia “when none”
RN_32 – Sentencia “for each” sin “defined by”
RN_33 – Arreglos en cláusula “where”

Página 189
RN_34 – Funciones en cláusula “where”
RN_35 – Alteración directa a archivo de saldos
RN_36 – Llamada con parámetro de longitud fija
RN_37 – Índice temporal
RN_38 – Salida de reportes
RN_39 – Confirmación de reportes
RN_40 – Lectura completa a tabla

4.8.1.12. Información Adicional


Ninguna.

Página 190
4.8.2 CUS02-Analizar Código Fuente CL

4.8.2.1. Actores del Sistema


AS03-Consumidor de Análisis Estático

4.8.2.2. Propósito
Ejecutar el análisis estático del código fuente de un programa CL y presentar la relación
de anomalías encontradas si hubiera alguna.

4.8.2.3. Breve Descripción


El caso de uso se inicia cuando el Consumidor de Análisis Estático solicita la ejecución
de un análisis estático de código fuente de tipo CL para lo cual debe proveer los datos
necesarios para que el sistema realice dicha labor. El caso de uso finaliza cuando el
sistema retorna al Consumidor de Análisis Estático los resultados del análisis. Es
responsabilidad de dicho consumidor presentarle la información al usuario en el
tiempo y forma que crea conveniente (no forma parte de este caso de uso la
presentación al usuario final).

Nota: Un consumidor del analizador estático es el programa GxCompile. Dado que


su funcionalidad no forma parte de este caso de uso, en el Anexo 2 se puede
consultar la secuencia de pasos a seguir dentro de dicha herramienta para ejecutar
el análisis estático.

4.8.2.4. Flujo Básico


a) El Consumidor de Análisis Estático solicita la revisión de un objeto de tipo CL para
lo cual deberá proporcionar la siguiente información. Es responsabilidad del
Consumidor de Análisis Estático obtener el código fuente del programa desde el
AS/400.
 Nombre del programa (obligatorio)
 Ubicación donde reside el código fuente (obligatorio, librería y nombre del
archivo físico de Fuentes de AS/400 que lo contiene).
 Fuente del programa a analizar (obligatorio).
 El código del analista que solicita el análisis (obligatorio) [RN_02].

Página 191
 El número de Pase a Producción solamente en caso el programa a analizar
forme parte de un Pase a Producción [RN_01].

b) El sistema aplica las reglas de revisión estática y devuelve una lista de hallazgos
[RN_53]. La relación de reglas del negocio que se consideran se encuentran
detalladas en el punto 4.8.2.11. Cada hallazgo de la lista consta de lo siguiente:
 Nombre del objeto.
 Código de error.
 Tipo de error.
 Descripción del error.
 Información adicional (dependiendo del código de error, la información
adicional puede contener la línea de código que desencadena el mismo).

c) El caso de uso finaliza cuando el Consumidor de Análisis Estático recibe la


información previamente señalada. Es responsabilidad de dicho consumidor
presentarle la información al usuario en el tiempo y forma que crea conveniente
(no forma parte de este caso de uso la presentación al usuario final).

4.8.2.5. Subflujos
Ninguno

4.8.2.6. Flujos Alternos

4.8.2.6.1. Datos obligatorios en blanco


Se presenta en el punto “a” del Flujo Básico.

a) En caso alguno de los datos obligatorios para la ejecución venga en blanco, el


sistema devuelve un error indicando la anomalía detectada finalizando el caso de
uso. Es responsabilidad del consumidor del servicio mostrar el mensaje al usuario.

Página 192
4.8.2.7. Precondiciones
Ninguna.

4.8.2.8. Postcondiciones
ES01-RevisiónEstática y ES02-HallazgoEstático contendrán información de la revisión
estática realizada.

4.8.2.9. Puntos de Inclusión


Ninguno.

4.8.2.10. Puntos de Extensión


Ninguno.

4.8.2.11. Reglas del Negocio


Reglas Generales

RN_01 – Código Pase


RN_02 – Código del Empleado
RN_53 – Hallazgos por Objeto

Reglas de Revisión
RN_05 – Objeto no tiene sistema
RN_06 – Objeto no tiene subsistema
RN_07 – Objeto no tiene nombre
RN_08 – Objeto no tiene descripción
RN_09 – Objeto no tiene autor
RN_10 – Objeto sin fecha
RN_13 – Bibliotecas de Desarrollo
RN_18 – Comandos restringidos
RN_19 – Comandos para autorización de Seguridad
RN_20 – Nomenclatura CL

4.8.2.12. Información Adicional


Ninguna.

Página 193
4.8.3. CUS06-Gestionar Ciclo de Revisión de IST

4.8.3.1. Actores del Sistema


AS02-Jefe de IST

4.8.3.2. Propósito
El propósito del caso de uso es el de gestionar el ciclo de vida por las que pasan las
revisiones que realiza el área de IST.

4.8.3.3. Breve Descripción


El caso de uso inicia cuando el Jefe de IST ingresa a su consulta de Revisiones de Pases
a Producción. El sistema debe permitir gestionar el ciclo de vida de una revisión de IST,
es decir, debe permitir agregar una revisión, clasificar el Pase a Producción que
contiene, asignar la revisión a un Analista de IST, ver el análisis realizado por dicho
analista, emitir un resultado de la inspección realizada, exportar documentación, realizar
búsquedas de revisiones y consultar eventos. El caso de uso finaliza cuando el Jefe de
IST emite el resultado antes mencionado.

4.8.3.4. Flujo Básico


a) El Jefe de IST ingresa a su consulta de Revisiones de Pases a Producción.

Ilustración 47: Mockup Referencial - Consulta de Revisiones de Pases a Producción

b) El sistema debe mostrar los siguientes datos:

Página 194
 Identificador de la Revisión.
 Número de Pase a Producción [RN_01 y RN_50].
 Iteración [RN_50].
 Título del Pase a Producción.
 Tipo de Revisión.
 Prioridad.
 Nombre del Analista de IST asignado.
 Código de la Carta de Desviación (en caso la revisión haya sido aprobada con
una)
 Estado de la revisión.
 Recomendación del Analista de IST con respecto a la revisión (aprobar o
rechazar).
 Respuesta final del Supervisor de IST (aprobado o rechazado).

c) Para iniciar una nueva revisión, el Jefe de IST solicita al sistema que realice el
ingreso automático de los nuevos Pases a Producción que se encuentran asignados al
área de IST. Dicha información proviene del Sistema de Pases a Producción del
AS/400 [RN_03].

d) El sistema deberá realizar la carga de información y calcular la iteración de revisión


que corresponda. La información que debe grabarse es la siguiente:
 Identificador de la Revisión (autogenerado).
 Número de Pase a Producción [RN_01 y RN_50].
 Iteración [RN_50].
 Título del Pase a Producción.
 Código del Servicio S4.
 Código del analista de Desarrollo [RN_02].
 El Estado de la revisión, el cual debe empezar en “IST”.

e) Además de la información general del Pase a Producción mencionado en el paso


anterior, el sistema deberá recuperar y grabar automáticamente la relación de objetos
que forman parte del Pase a Producción. Los datos a considerar son:

Página 195
 Nombre del Objeto.
 Ubicación donde reside su código fuente.
 Ubicación donde reside el binario generado.
 Código de Aplicación.
 Tipo de Objeto.
f) En caso se trate de objetos Genexus y CL, el sistema deberá asociar los hallazgos
detectados por el analizador estático con los objetos mencionados en el paso anterior.
g) El sistema graba la información antes mencionada.
h) El Jefe de IST puede posteriormente realizar las siguientes actividades:
 Ver detalle de Pase a Producción (4.8.3.5.1)
 Clasificar Revisión (4.8.3.5.2)
 Asignar Revisión (4.8.3.5.3)
 Ver el análisis realizado por el Analista de IST (4.8.3.5.4)
 Devolver la revisión al Analista de IST (4.8.3.5.5)
 Aprobar Pase a Producción (4.8.3.5.6)
 Rechazar Pase a Producción (4.8.3.5.7)
 Generar documentación de Revisión (4.8.3.5.8)
 Buscar Revisión (4.8.3.5.9)
 Consultar Eventos (4.8.3.5.10)
i) El caso de uso finaliza.

4.8.3.5. Subflujos

4.8.3.5.1. Ver detalle de Pase a Producción


a) El Jefe de IST debe seleccionar la revisión de la que quiere ver mayor detalle.
b) El sistema deberá mostrar la siguiente información:
 Identificador de la Revisión.
 Número de Pase a Producción [RN_01 y RN_50].
 Iteración [RN_50].
 Título del Pase a Producción.
 Servicio S4.
 Tipo de Revisión.

Página 196
 Prioridad.
 Código del Analista de Desarrollo.
 Nombre del Analista de IST asignado.
 Fecha de Inicio de la Revisión.
 Fecha de Fin de la Revisión.
 Código de la Carta de Desviación.
 Estado de la revisión.
 Recomendación del Analista de IST con respecto a la revisión (aprobar o
rechazar).
 Respuesta final del Supervisor de IST (aprobado o rechazado).

c) Adicionalmente, debe mostrar los ítems que son parte de la revisión a realizar. Por
cada uno de ellos deberá mostrarse: Nombre del Objeto, Ubicación del Fuente,
Ubicación del Binario, Aplicación y Tipo de Objeto.
d) El subflujo finaliza cuando el Jefe de IST sale de la consulta de detalle.

4.8.3.5.2. Clasificar Revisión


a) El Jefe de IST debe determinar el tipo de revisión de IST a realizar, para lo cual
deberá seleccionar una revisión de su Consulta de Revisiones.
b) El sistema deberá analizar el Pase a Producción y sugerir un tipo de revisión para el
mismo. Adicionalmente, deberán mostrarse los criterios que se encuentran fuera los
parámetros tolerados y que motivan el tipo de revisión asignado. Los criterios de
clasificación pueden encontrarse en el Anexo 4.

Página 197
Ilustración 48: Mockup Referencial - Clasificar Revisión

c) El Jefe de IST complementa el análisis y asigna el tipo de revisión que crea por
conveniente. Opcionalmente puede registrar también alguna observación.
d) El subflujo finaliza cuando el sistema graba la información ingresada. Si la revisión
es Total o Básica el estado de la revisión será de “Clasificado”, mientras que si fue
“Marca Blanca” el estado será “Finalizado” y la respuesta del Jefe de IST será
“Aprobado”. Se graban en el log la fecha y hora, responsable y el código del evento.
Adicionalmente, se graban entradas en el log del negocio con la fecha de inicio y fin
para realizar cálculos posteriores sobre el tiempo que demandó la clasificación.

4.8.3.5.3. Asignar Revisión


a) El Jefe de IST selecciona uno de los Pases a Producción pendientes de asignación
(estado de revisión “Clasificado”).
b) El Jefe de IST asigna a un Analista de IST para su revisión. También debe indicar la
prioridad que tiene la misma. Opcionalmente, puede indicar alguna observación.

Página 198
Ilustración 49: Mockup Referencial - Asignar Revisión

c) El sistema debe grabar automáticamente la fecha y hora de la asignación, así como el


usuario asignador y asignado. La revisión debe pasar al estado “Asignado”.
d) El subflujo finaliza cuando el sistema graba la información a solicitud del usuario y
envía un correo electrónico al analista de IST asignado notificándolo del evento.

4.8.3.5.4. Ver el análisis realizado por el Analista de IST


a) El Jefe de IST selecciona una revisión de IST y solicita ver el resumen de los
hallazgos detectados así como los documentos subidos como adjuntos por el
Analista de IST.
b) El sistema presenta, en primer lugar, la respuesta del Analista de IST con respecto a
la revisión realizada. También muestra la relación de documentos subidos por el
Analista de IST, los cuales pueden ser consultados por el Supervisor. Finalmente,
muestra la relación de hallazgos detectados durante la revisión. Para este último
caso, la información que se muestra es la siguiente: Nombre del componente, código
de Hallazgo, descripción del Hallazgo, la línea de código de desencadena el
hallazgo (para las reglas que aplican a líneas específicas de código), observaciones y
si el Analista de IST clasificó un hallazgo detectado por analizador estático como
falso positivo o no.

Página 199
Ilustración 50: Mockup Referencial - Resumen de Revisión – Supervisor de IST.

c) El subflujo finaliza cuando el actor sale de la consulta.

4.8.3.5.5. Devolver la revisión al Analista de IST.


a) En caso el Jefe de IST no se encuentre conforme con la evidencia consultada en el
punto anterior, seleccionará la revisión y solicitará se devuelva la misma al analista
de IST. Deberá indicar en las observaciones la causa del rechazo.
b) El sistema envía un correo electrónico al analista de IST asignado notificándolo del
evento de devolución. Adicionalmente, debe grabar automáticamente la fecha y hora
de la devolución, así como el usuario asignador y asignado. La revisión debe pasar
al estado “Devuelto”.

4.8.3.5.6. Aprobar Pase a Producción.


a) El Jefe de IST selecciona una revisión de IST pendiente de aprobación.
b) El Jefe de IST puede ingresar un comentario si lo desea y luego solicita se registre la
aprobación de la revisión. En caso exista una Carta de Desviación de por medio, se
registrará el número de la carta que ampara la revisión [RN_60].

Página 200
c) El subflujo concluye cuando el Jefe de IST confirma la aprobación y el sistema
registra la misma. Deberá registrarse en el log de Eventos de Revisión la fecha, la
hora y el responsable de la aprobación. El estado de la revisión debe ser de
“Finalizado” y la respuesta del Jefe de IST debe ser “Aprobado”.

4.8.3.5.7. Rechazar Pase a Producción.


a) El Jefe de IST selecciona una revisión de IST pendiente de aprobación.
b) El Jefe de IST puede ingresar un comentario si lo desea y luego solicita se registre el
rechazo de una revisión de Pase a Producción [RN_61].
c) El subflujo concluye cuando el Jefe de IST confirma el rechazo y el sistema registra
el mismo. Deberá registrarse en el log de Eventos de Revisión la fecha, la hora y el
responsable del rechazo. El estado de la revisión debe ser de “Finalizado” y la
respuesta del Jefe de IST debe ser “Rechazado”.

4.8.3.5.8. Generar documentación de Revisión.


a) El Jefe de IST selecciona una revisión de IST de su lista de revisiones y solicita se
genere un documento que contiene y consolida los hallazgos y los sustentos de la
revisión realizada.
b) El sistema deberá solicitar confirmación de la operación.
c) El subflujo concluye cuando el sistema genera el documento correspondiente a la
revisión realizada por el área de IST (un ejemplo del documento se puede encontrar
en el Anexo 8). Adicionalmente, se graba una entrada en el log del negocio con el
tiempo que demoró la exportación.

4.8.3.5.9. Buscar Revisión


a) El Jefe de IST solicita buscar una revisión en particular, para lo cual deberá indicar
el número de revisión, número de pase o título del mismo
b) El subflujo finaliza cuando el sistema muestra la revisión de IST indicada en la
consulta de Revisiones de Pases a Producción en base al criterio de búsqueda. Las
columnas que deben mostrarse se encuentran descritos en el punto 4.8.3.4.b.

Página 201
4.8.3.5.10. Consultar Eventos
a) El Jefe de IST solicita ver los eventos de una revisión en particular, para lo cual
deberá seleccionar una revisión.
b) El subflujo finaliza cuando el sistema muestra la siguiente información: código de
revisión, fecha y hora, estado, descripción del estado, código de usuario, usuario,
indicador de aprobado y observaciones.

4.8.3.6. Flujos Alternos

4.8.3.6.1. Tipo de Revisión no existe


Se presenta en el punto “c” del subflujo Clasificar Revisión.

a) En caso el tipo de revisión no exista, el sistema deberá mostrar un mensaje


informando al respecto.
b) El Jefe de IST corrige los datos ingresados y la ejecución continúa en el punto “d”
del subflujo Clasificar Revisión.

4.8.3.6.2. Información no válida en Asignación de Pase para revisión.


Se presenta en el punto “b” del subflujo Asignar Revisión.

a) En caso el analista de IST o la prioridad no sean válidos, el sistema deberá mostrar


un mensaje informando al respecto.
b) El Jefe de IST corrige los datos ingresados y la ejecución continúa en el punto “c”
del subflujo Asignar Revisión.

4.8.3.6.3. Revisión inexistente en Buscar Revisión.


Se presenta en el punto “b” del subflujo Buscar Revisión.

a) En caso la revisión indicada no exista el sistema no mostrará ningún registro en la


lista de revisiones de IST.

Página 202
b) El Jefe de IST corrige los datos ingresados y la ejecución continúa en el punto “c”
subflujo Buscar Revisión.

4.8.3.6.4. Carta de Desviación inexistente


Se presenta en el punto “b” del subflujo Aprobar Pase a Producción.

a) En caso la Carta de Desviación indicada no exista el sistema mostrará un mensaje de


error.
b) El Jefe de IST corrige los datos ingresados y la ejecución continúa en el punto “c”
del subflujo Aprobar Pase a Producción.

4.8.3.6.5. Carta de Desviación ampara a otra carta


Se presenta en el punto “b” del subflujo Aprobar Pase a Producción.

a) En caso la Carta de Desviación esté amparando a otra revisión sistema mostrará un


mensaje de error.
b) El Jefe de IST corrige los datos ingresados y la ejecución continúa en el punto “c”
del subflujo Aprobar Pase a Producción.

4.8.3.6.6. Carta de Desviación se encuentra cerrada.


Se presenta en el punto “b” del subflujo Aprobar Pase a Producción.

a) En caso la Carta de Desviación se encuentre cerrada el sistema mostrará un mensaje


de error.
b) El Jefe de IST corrige los datos ingresados y la ejecución continúa en el punto “c”
del subflujo Aprobar Pase a Producción.

4.8.3.6.7. Tipo de revisión asignado difiere de la recomendación del Clasificador


automático.
Se presenta en el punto “c” del subflujo Clasificar Revisión.

Página 203
a) En caso el tipo de revisión asignado por el Jefe de IST difiera de la recomendación
del clasificador automático se solicitará una confirmación.
b) El Jefe de IST confirma la asignación y la ejecución continúa en el punto “d” del
subflujo antes mencionado. En caso no confirme la asignación regresa al punto “c”
del subflujo antes indicado.

4.8.3.6.8. Jefe de IST intenta aprobar, rechazar o devolver sin haber consultado trabajo
realizado por el analista de IST.
Se presenta en los puntos “b” del subflujo Aprobar Pase a Producción, “b” del subflujo
Rechazar Pase a Producción y “a” del subflujo Devolver la revisión al Analista de IST.

a) En caso el Supervisor de IST no haya revisado previamente el análisis realizado por


el Analista de IST el sistema deberá mostrar un mensaje de error.
b) El Jefe de IST revisa el análisis realizado por el Analista de IST y se ejecuta
nuevamente el subflujo Aprobar Pase a Producción, Rechazar Pase a Producción o
Devolver la revisión al Analista de IST según sea el caso.

4.8.3.7. Precondiciones
Existe información generada por el analizador estático de código para los programas
Genexus y CL contenidos en el Pase a Producción (ES01-RevisiónEstática y ES02-
HallazgoEstático). Adicionalmente, existe información de Cartas de Desviación (ES13-
Carta de Desviación) para aprobación de Pases con Carta.

4.8.3.8. Postcondiciones
Se habrá insertado información en ES06-RevisiónIST y ES07-ÍtemRevisión. Se contará
con los eventos de revisión (ES16-EventoRevisión) y las entradas de log (ES17-
LogNegocio) registradas.

4.8.3.9. Puntos de Inclusión


Ninguno.

Página 204
4.8.3.10. Puntos de Extensión
CUS04-Consultar Historia de Hallazgos por Objeto

CUS05-Consultar Asignación de Revisiones

4.8.3.11. Reglas del Negocio


RN_01 – Código Pase
RN_02 – Código del Empleado
RN_03 – Pase Normal
RN_50 – Código de Revisión de IST
RN_61 - Rechazo de Pase a Producción

4.8.3.12. Información Adicional


Ninguna.

Página 205
4.8.4. CUS08-Administrar Hallazgos y Evidencia

4.8.4.1. Actores del Sistema


AS01-Analista de IST

4.8.4.2. Propósito
Administrar en el sistema los hallazgos y la documentación técnica correspondiente a
las revisiones de IST, la cual sirve como sustento ante Auditoría.

4.8.4.3. Breve Descripción


El caso de uso se inicia cuando el Analista de IST ingresa a su consulta de Revisiones
de IST. A continuación deberá seleccionar una revisión pendiente de atención y podrá
consultar los detalles del Pase a Producción y los objetos que lo componen. Como parte
de sus labores deberá registrar todos los hallazgos que detecte durante la revisión.
Dichos hallazgos pueden ser también modificados y eliminados. Adicionalmente, debe
adjuntar documentos de sustento que sirven como evidencia de la revisión. El caso de
uso finaliza cuando el Analista de IST graba la información antes señalada en el
sistema.

4.8.4.4. Flujo Básico


a) El Analista de IST ingresa a su consulta de Revisiones de IST.
b) El sistema deberá mostrar solamente aquellas revisiones que corresponden al analista
que está ingresando a la consulta, ya sea que estén en estado de “Asignada”,
“Respondida”, “Devuelta” o “Finalizada”. El orden es desde la revisión más reciente
a la más antigua. Los datos a mostrar son:
 Identificador de la Revisión.
 Número de Pase a Producción [RN_01 y RN_50].
 Iteración [RN_50].
 Título del Pase a Producción.
 Código del Servicio S4.
 Nombre del analista de Desarrollo.
 Tipo de Revisión.
 Prioridad.

Página 206
 Código de la Carta de Desviación (en caso se haya aprobado la revisión con
una Carta).
 Estado de la revisión.
 Recomendación del Analista de IST con respecto a la revisión (aprobar o
rechazar).
 Respuesta final del Supervisor de IST (aprobado o rechazado).

Ilustración 51: Mockup Referencial - Consulta de Revisiones de IST - Analista

c) El Analista de IST selecciona una de las revisiones de IST en estado de “Asignada” y


solicita consultar los ítems que forman parte del Pase a Producción.
d) El sistema muestra la relación de ítems que componen el Pase a Producción asociado
[RN_04]. Los datos que muestra por cada uno de los objetos son los siguientes:
 Nombre del Objeto.
 Ubicación del código fuente del objeto.
 Ubicación del binario del objeto.
 Aplicación.
 Tipo de Objeto.

Página 207
Ilustración 52: Mockup referencial - Lista de Ítems

e) El Analista de IST ingresa los hallazgos que encuentre como parte de su revisión
[RN_54]. Dicho ingreso se realiza asociando el hallazgo al objeto en particular que
lo contiene [RN_53]. Los datos a registrar son el código del hallazgo y las
observaciones del analista.

Ilustración 53: Mockup Referencial - Hallazgos del Analista de IST

f) El sistema graba la información ingresada a solicitud del usuario.


g) Posteriormente, el Analista de IST puede realizar las siguientes actividades:
 Revisar y confirmar hallazgos estáticos (4.8.4.5.1)
 Modificar Hallazgo (4.8.4.5.2)
 Eliminar Hallazgo (4.8.4.5.3)
 Adjuntar documentos de sustento (4.8.4.5.4)
 Eliminar documentos de sustento (4.8.4.5.5)
 Ver resumen de revisión (4.8.4.5.6)
 Buscar Revisión (4.8.4.5.7)
Página 208
 Consultar Eventos (4.8.4.5.8)
h) El caso de uso finaliza.

4.8.4.5. Subflujos

4.8.4.5.1. Revisar y confirmar hallazgos estáticos


a) El Analista de IST selecciona un objeto contenido en la Revisión de IST que está
atendiendo.
b) El sistema muestra los hallazgos que el analizador estático detectó para ese objeto (si
es Genexus o CL). Dichos hallazgos se generaron cuando el Analista de Desarrollo
realizó las actividades de pase a producción.
c) El sistema muestra el código del hallazgo, la descripción del mismo y dependiendo
del tipo de hallazgo información adicional como por ejemplo la línea de código
fuente que desencadena el hallazgo [ver reglas de la sección 4.8.4.11]. También
muestra las observaciones del Analista de IST y si se trata de un falso positivo.

Ilustración 54: Mockup Referencial - Hallazgos del Analizador Estático

d) El Analista de IST confirma el hallazgo y puede registrar observaciones si lo desea.


También puede indicar si el hallazgo es producto de un falso positivo del analizador
estático. En este último caso deberá ingresar obligatoriamente sus observaciones.
e) El subflujo finaliza cuando el sistema graba la información a solicitud del usuario.

4.8.4.5.2. Modificar Hallazgo

Página 209
a) El Analista de IST selecciona un objeto contenido en la Revisión de IST que está
atendiendo.
b) El sistema muestra los hallazgos ingresados para dicho objeto [RN_53]. Esto incluye
el código del hallazgo, la descripción del mismo y las observaciones ingresadas por
el Analista de IST.
c) El Analista de IST modifica el código del hallazgo y/o las observaciones registradas.
d) El subflujo finaliza cuando el sistema graba la modificación a solicitud del usuario.

4.8.4.5.3. Eliminar Hallazgo


a) El Analista de IST selecciona un objeto contenido en la Revisión de IST que está
atendiendo.
b) El sistema muestra los hallazgos ingresados para dicho objeto. Esto incluye el código
del hallazgo, la descripción del mismo y las observaciones ingresadas por el Analista
de IST.
c) El Analista de IST solicita la eliminación del hallazgo.
d) El sistema solicita una confirmación para la eliminación.
e) El subflujo finaliza cuando el sistema graba la eliminación del hallazgo con la
conformación del usuario.

4.8.4.5.4. Adjuntar documentos de sustento


a) El Analista de IST selecciona una Revisión de IST de su lista de revisiones por
procesar (en estado de “Asignada” o “Devuelta”).
b) El sistema muestra los documentos que se han definido como necesarios para el tipo
de revisión de IST que está realizando [RN_41].
c) El Analista de IST indica la ubicación del documento de sustento que desea cargar al
sistema. El archivo debe cumplir con lo especificado en el RNF_041.

Página 210
Ilustración 55: Mockup Referencial - Adjuntos de la Revisión.

d) El subflujo finaliza cuando el sistema realiza la carga del documento y lo almacena


en el servidor.

4.8.4.5.5. Eliminar documentos de sustento


a) El Analista de IST selecciona una Revisión de IST de su lista de revisiones por
procesar (en estado de “Asignada” o “Devuelta”).
b) El sistema muestra los documentos que se han definido como necesarios para el tipo
de revisión de IST que está realizando [RN_41].
c) El Analista de IST indica el adjunto que desea eliminar.
d) El subflujo finaliza cuando el sistema elimina el adjunto indicado.

4.8.4.5.6. Ver resumen de revisión


a) El Analista de IST solicita ver el resumen de los hallazgos detectados así como los
documentos subidos como adjuntos.
b) El sistema muestra los documentos que se han definido como necesarios para el tipo
de revisión de IST que está realizando [RN_41] y muestra los enlaces de los
documentos adjuntos.
c) Adicionalmente, presenta una relación de hallazgos que incluye el nombre del
componente, el código de hallazgo, su descripción, la línea de código de
desencadena el hallazgo (para las reglas que aplican a líneas específicas de código)
y las observaciones del analista. En caso de ser un hallazgo detectado por el
analizador estático se incluye también si se trata de un falso positivo. La relación

Página 211
sigue el orden en que los objetos fueron ingresados al sistema de pases y luego se
aplica ordenamiento por código de hallazgo.

Ilustración 56: Mockup Referencial - Resumen de Revisión - Analista de IST

d) El subflujo finaliza cuando el actor sale de la consulta.

4.8.4.5.7. Buscar Revisión


a) El Analista de IST solicita buscar una revisión en particular, para lo cual deberá
indicar el número de revisión, número de pase o título del mismo.
b) El subflujo finaliza cuando el sistema muestra la revisión de IST indicada en la
consulta de Revisiones de Pases a Producción en base al criterio de búsqueda. Las
columnas que deben mostrarse se encuentran descritos en el punto 4.8.4.4.b.

4.8.4.5.8. Consultar Eventos


a) El Analista de IST solicita ver los eventos de una revisión en particular, para lo cual
deberá seleccionar una revisión.
b) El subflujo finaliza cuando el sistema muestra la siguiente información: código de
revisión, fecha y hora, estado, descripción del estado, código de usuario, usuario,
indicador de aprobado y observaciones.

Página 212
4.8.4.6. Flujos Alternos

4.8.4.6.1. Información inválida en registro de Hallazgo.


Se presenta en el punto “e” del Flujo Básico y “c” del subflujo “Modificar Hallazgo”.

a) En caso el código del hallazgo no exista o las observaciones se encuentren en blanco,


el sistema deberá mostrar un mensaje de error.
b) El Analista de IST corrige los datos ingresados y la ejecución continúa en el punto
“f” del Flujo Básico o en el punto “d” del subflujo “Modificar Hallazgo” según
corresponda.

4.8.4.6.2. Información inválida en upload de documentación.


Se presenta en el punto “c” del Subflujo Adjuntar Documentos de Sustento.

a) En caso los archivos no se ajusten a los parámetros definidos (RNF_042), el sistema


deberá mostrar un mensaje de error.
b) El Analista de IST corrige los datos ingresados y la ejecución continua en el punto
“d” del Subflujo Adjuntar Documentos de Sustento.

4.8.4.6.3. Falso positivo sin observaciones.


Se presenta en el punto “d” del subflujo “Revisar y confirmar hallazgos estáticos”.

a) En caso se esté indicando que un hallazgo es un falso positivo y no se ingresen


observaciones, el sistema deberá mostrar un mensaje de error.
b) El Analista de IST corrige los datos ingresados y la ejecución continúa en el punto
“e” del subflujo “Revisar y confirmar hallazgos estáticos”.

4.8.4.7. Precondiciones
Existe una ES06-RevisiónIST en estado de “Asignada”, “Respondida”, “Devuelta” o
“Finalizada” y asignada al Analista de IST.

Página 213
4.8.4.8. Postcondiciones
ES08-Hallazgo contendrá los hallazgos detectados por el analista, los hallazgos
estáticos (E02-Hallazgo Estático) se habrán confirmado y los adjuntos (ES09-Adjunto)
estarán registrados.

4.8.4.9. Puntos de Inclusión


Ninguno.

4.8.4.10. Puntos de Extensión


CUS04-Consultar historia de hallazgos por objeto

4.8.4.11. Reglas del Negocio


Reglas Generales

RN_04 – Contenido Pase


RN_41 – Sustento de pruebas
RN_53 – Hallazgos por Objeto
RN_54 – IST debe revisar todo el pase

Reglas de Revisión
RN_05 – Objeto no tiene sistema
RN_06 – Objeto no tiene subsistema
RN_07 – Objeto no tiene nombre
RN_08 – Objeto no tiene descripción
RN_09 – Objeto no tiene autor
RN_10 – Objeto sin fecha
RN_11 – Regla “Same”
RN_12 – Tiene COMMIT_ON_EXIT en NO y tiene commit explícito
RN_13 – Bibliotecas de Desarrollo
RN_14 – Nombre del Banco asignado por texto fijo
RN_15 – Nombre de la moneda asignado por texto fijo
RN_16 – Signo de la moneda asignado por texto fijo
RN_18 – Comandos restringidos
RN_19 – Comandos para autorización de Seguridad
RN_20 – Nomenclatura CL
RN_21 – Nomenclatura Genexus
RN_22 – Código de Ejecutivo sin rutina genérica
RN_23A – Control de compromiso viola regla del core banking por commit
RN_23B – Control de compromiso viola regla del core banking por rollback
RN_24 – Commit inconsistente
RN_25 – Rollback inconsistente
RN_26 – Workpanel en ciclo de compromiso
RN_27 – Código del Banco se asigna de manera fija
RN_28 – Nombre del programa en cabecera
Página 214
RN_29 – Fecha en la cabecera
RN_30 – Hora en la cabecera
RN_31 – Corrupción de variable de impresión por sentencia “when none”
RN_32 – Sentencia “for each” sin “defined by”
RN_33 – Arreglos en cláusula “where”
RN_34 – Funciones en cláusula “where”
RN_35 – Alteración directa a archivo de saldos
RN_36 – Llamada con parámetro de longitud fija
RN_37 – Índice temporal
RN_38 – Salida de reportes
RN_39 – Confirmación de reportes
RN_40 – Lectura completa a tabla

4.8.4.12. Información Adicional


Ninguna.

Página 215
4.8.5. CUS11-Administrar Pedido de Auditoría

4.8.5.1. Actores del Sistema


AS02-Jefe de IST

4.8.5.2. Propósito
Mantener un registro de los pedidos de Auditoría recibidos con el propósito de contar
con un histórico y a la vez facilitar la generación de la información necesaria para
cumplir con la solicitud del auditor responsable.

4.8.5.3. Breve Descripción


El caso de uso inicia cuando el Jefe de IST ingresa a su consulta de Pedidos de
Auditoría. El sistema debe permitir gestionar el ciclo de vida de una solicitud, es decir,
debe permitir agregar, consultar, modificar y eliminar. Como parte de las labores de
administración, se debe también registrar los Pases a Producción que son materia de la
revisión de Auditoría. El caso de uso finaliza cuando el sistema graba la información
ingresada por el Jefe de IST.

4.8.5.4. Flujo Básico


a) El Jefe de IST ingresa a su consulta de solicitudes de Auditoría recibidas.
b) El sistema muestra la relación de Pedidos de Auditoría ordenados de manera
descendente por código de pedido indicando:
 El código del pedido de auditoría (número interno autogenerado).
 La fecha de la solicitud.
 La fecha límite para la entrega de la información.
 La fecha en que se respondió la solicitud.
 La fecha de cierre de la auditoría.
 Nombre del Auditor.
 Observaciones del registro de la solicitud.
 El estado de la Auditoría.

Página 216
Ilustración 57: Mockup Referencial - Consulta de Pedidos de Auditoría

c) Para registrar un nuevo pedido, el Jefe de IST deberá registrar los datos mencionados
a continuación:
 Fecha de la solicitud de Auditoría.
 Fecha límite para la entrega de la información.
 Auditor Solicitante [RN_02].
 Observaciones si hubiera alguna.

d) El sistema debe obtener automáticamente los siguientes datos:


 Número del pedido de Auditoría (número interno autogenerado).
 Usuario que realiza el registro de la misma [RN_02].
 El estado del pedido de auditoría, el cual debe ser de “En Curso”.

e) Adicionalmente, el Jefe de IST debe registrar la relación de Pases a Producción que


se encuentran bajo auditoría [RN_01, RN_58 y RN_59]. Para este fin, el usuario
indicará los números de los Pases a Producción que desea agregar a la lista [RN_57].
f) El sistema deberá mostrar el número del pase, el código de la revisión, el título del
pase y el analista de Desarrollo responsable del mismo.

Página 217
Ilustración 58: Mockup Referencial - Pases asociados al Pedido de Auditoría

g) El sistema graba la información a petición del usuario. El estado del pedido deberá
ser “En Curso”. Internamente deberá buscar todas las revisiones de IST que hayan
sido parte del análisis de la relación de Pases a Producción indicada y relacionarlas al
pedido de auditoría. Así mismo, el sistema deberá grabar los atributos del pedido en
el log del negocio.
h) Posteriormente, el Jefe de IST puede realizar las siguientes actividades:
 Modificar Pedido de Auditoría (4.8.5.5.1)
 Eliminar Pedido de Auditoría (4.8.5.5.2)
 Exportar Documentación para Auditoría (4.8.5.5.3)
 Marcar Pedido como Respondido (4.8.5.5.4)
 Cerrar Pedido de Auditoría (4.8.5.5.5)
 Ver detalle de Pedido de Auditoría (4.8.5.5.6)
i) El caso de uso finaliza.

4.8.5.5. Subflujos

4.8.5.5.1. Modificar Pedido de Auditoría


a) El Jefe de IST iniciará la modificación de un pedido de Auditoría para lo cual deberá
seleccionar un pedido de su bandeja.
b) El sistema permitirá modificar los siguientes datos:
 La fecha de la solicitud de Auditoría
 La fecha límite para la entrega de la información.
 La fecha en que se respondió la solicitud.
 El Auditor solicitante [RN_02]
 Observaciones si hubiera alguna.

Página 218
c) Adicionalmente, el Jefe de IST podrá modificar la relación de Pases a Producción
que se encuentran bajo auditoría [RN_01, RN_57, RN_58 y RN_59].
d) El subflujo termina cuando el sistema graba la información modificada por el
usuario, así como el estado anterior y posterior de los atributos del pedido en el log
del negocio.

4.8.5.5.2. Eliminar Pedido de Auditoría


a) El Jefe de IST deberá seleccionar el pedido de auditoría que desea eliminar.
b) El sistema deberá pedir confirmación previa a la eliminación.
c) El Jefe de IST deberá confirmar la eliminación.
d) El sistema deberá grabar los atributos del pedido en el log del negocio y luego
eliminar el pedido en cuestión. De esta manera finaliza el subflujo.

4.8.5.5.3. Exportar Documentación para Auditoría


a) El Jefe de IST solicita la exportación de la documentación de las revisiones de IST
que se encuentran bajo revisión por parte del área de Auditoría [RN_58].
b) El sistema solicitará confirmación de la operación.
c) El Jefe de IST deberá confirmar la exportación.
d) El subflujo finaliza cuando el sistema exporta la documentación indicada en la ruta
de red destinada para tal propósito [RN_56]. Un ejemplo del documento se puede
encontrar en el Anexo 8. Adicionalmente, se graba una entrada en el log del negocio
con el tiempo que demoró realizar la exportación.

4.8.5.5.4. Marcar Pedido como Respondido


a) El Jefe de IST deberá seleccionar el pedido de auditoría que desea marcar como
respondido. Se deberán ingresar observaciones si las hubiera.
b) El sistema deberá pedir confirmación previa a la operación.
c) El Jefe de IST deberá confirmar la operación.
d) El sistema deberá guardar la información y el pedido de auditoría pasará al estado de
“Respondido”. De igual manera, deberá grabar el estado anterior y posterior de los
atributos del pedido en el log del negocio. De esta manera finaliza el subflujo.

Página 219
4.8.5.5.5. Cerrar Pedido de Auditoría
a) El Jefe de IST deberá seleccionar el pedido de auditoría que desea dar por
concluido. Se deberá indicar observaciones si las hubiera.
b) El sistema deberá pedir confirmación previa al cierre del pedido de auditoría.
c) El Jefe de IST deberá confirmar la operación.
d) El sistema deberá guardar la información y el pedido de auditoría pasará al estado
de “Cerrado”. De igual manera, deberá grabar el estado anterior y posterior de los
atributos del pedido en el log del negocio. De esta manera finaliza el subflujo.

4.8.5.5.6. Ver detalle de Pedido de Auditoría


a) El Jefe de IST deberá seleccionar el pedido de auditoría del que desea ver el detalle.
b) El sistema muestra los siguientes datos:
 El código del pedido de auditoría (número interno autogenerado).
 La fecha de la solicitud.
 La fecha límite para la entrega de la información.
 La fecha en que se respondió la solicitud.
 La fecha de cierre de la auditoría.
 Observaciones del registro de la solicitud.
 Observaciones de la respuesta de la solicitud.
 Observaciones del cierre de la solicitud.
 El estado de la Auditoría.
 Nombre del Auditor.

c) El subflujo finaliza cuando el actor sale de la consulta.

4.8.5.6. Flujos Alternos

4.8.5.6.1 Información no válida de pedido de Auditoría.


Se presenta en el punto “c” del Flujo Básico.

Página 220
a) En caso alguno de los datos ingresados no sea válido, el sistema mostrar un mensaje
de error.
b) El Jefe de IST corrige los datos ingresados y la ejecución continúa en el punto “d”
del Flujo Básico.

4.8.5.6.2. Pase a Producción relacionado no es válido


Se presenta en el punto “e” del Flujo Básico y en el punto “c” del subflujo Modificar
Pedido de Auditoría.

a) En caso el código de pase no exista o el pase no tenga ninguna revisión finalizada, el


sistema deberá mostrar un mensaje de error.
b) El Jefe de IST corrige los datos ingresados y la ejecución continúa en el punto “f” del
Flujo Básico o en el punto “d” del subflujo Modificar Pedido de Auditoría según
corresponda.

4.8.5.6.3. Fecha límite de entrega distante en relación a fecha de solicitud


Se presenta en el punto “b” del Flujo Básico y en el punto “b” del subflujo Modificar
Pedido de Auditoría.

a) En caso la fecha límite de entrega supere en más de 15 días la fecha de solicitud el


sistema deberá solicitar confirmación.
b) El Jefe de IST confirma y la ejecución continúa en el punto “c” del Flujo Básico o
en el punto “c” del subflujo Modificar Pedido de Auditoría según corresponda. En
caso no confirme, regresa al punto “b” del Flujo Básico o al punto “b” del subflujo
Modificar Pedido de Auditoría según corresponda.

4.8.5.7. Precondiciones
Existe una o más revisiones de IST (ES06-RevisiónIST) en estado de “Finalizada”.

4.8.5.8. Postcondiciones
Un pedido de Auditoría (ES14-Auditoría) se habrá insertado y/o actualizado. El ES17-
LogNegocio contendrá información de los cambios realizados.

Página 221
4.8.5.9. Puntos de Inclusión
Ninguno

4.8.5.10. Puntos de Extensión


Ninguno

4.8.5.11. Reglas del Negocio


RN_01 – Código Pase

RN_02 – Código del Empleado

RN_56 – Entrega de Información para Auditoría

RN_57 – Auditoría aplica a Pase

RN_58 – Pases en Solicitud de Auditoría

RN_59 – Pase en múltiples auditorías

4.8.5.12. Información Adicional


Ninguna.

Página 222
4.8.6. CUS18-Administrar Carta de Desviación

4.8.6.1. Actores del Sistema


AS02-Jefe de IST

4.8.6.2. Propósito
Mantener un registro de las Cartas de Desviación en el sistema a fin de contar con un
adecuado control del software que se encuentra operando fuera de los parámetros
normales de revisión.

4.8.6.3. Breve Descripción


El caso de uso inicia cuando el Jefe de IST ingresa a su consulta de Cartas de
Desviación. El sistema debe permitir gestionar el ciclo de vida de una Carta de
Desviación, es decir, debe permitir agregar, consultar, modificar y eliminar. Como parte
de las labores de administración se debe guardar una copia digital del documento físico
firmado por las gerencias que la aprueban. El caso de uso finaliza cuando el sistema
graba la información ingresada por el Jefe de IST.

4.8.6.4. Flujo Básico


a) El Jefe de IST ingresa a su consulta de Cartas de Desviación.
b) El sistema debe mostrar el identificador de la carta, el título de la misma, la revisión
amparada, la fecha de registro, la fecha de vencimiento, la fecha de levantamiento,
el estado de la carta y la Revisión que levanta la carta. El orden es por Código de
Carta de manera descendente.

Ilustración 59: Mockup Referencial - Consulta de Cartas de Desviación

Página 223
c) El Jefe de IST solicita el registro de una nueva Carta de Desviación [RN_46, RN_47
y RN_48].

d) El Jefe de IST deberá registrar los datos mencionados a continuación:


 Título de la carta (breve descripción)
 Fecha de vencimiento de la carta.
 La ruta donde se encuentra el archivo escaneado de la Carta de Desviación
física aprobada.
 Observaciones si hubiera alguna.

e) El sistema debe obtener automáticamente los siguientes datos:


 Número de la Carta de Desviación (dado que las cartas físicas no tienen
numeración, se trata de una número autogenerado para control interno del
sistema)
 Fecha de ingreso de la Carta de Desviación.
 Usuario que realiza el registro de la misma [RN_02].
 El estado de la carta, el cual debe ser de “Abierta”.
f) El sistema graba la información ingresada a petición del usuario. El estado de la
carta será “Abierta”. Adicionalmente, el sistema deberá grabar los atributos de la
carta en el log del negocio.
g) Posteriormente, el Jefe de IST puede realizar las siguientes actividades:
 Ver Detalle de la Carta (4.8.6.5.1)
 Modificar una Carta de Desviación (4.8.6.5.2)
 Eliminar una Carta de Desviación (4.8.6.5.3)
 Levantar Carta de Desviación (4.8.6.5.4)
h) El caso de uso finaliza.

4.8.6.5. Subflujos

4.8.6.5.1. Ver Detalle de la Carta


a) El Jefe de IST selecciona una Carta de Desviación de su consulta de Cartas de
Desviación.

Página 224
b) El sistema mostrará los siguientes datos:
 Código de la Carta de Desviación.
 Título de la Carta (breve descripción).
 El código de la Revisión que se encuentra bajo amparo de la carta [RN_01 y
RN_60].
 El Pase a Producción al que corresponde la revisión del punto anterior.
 Fecha de Registro.
 Fecha de Vencimiento.
 Fecha de Levantamiento.
 Observaciones realizadas durante el registro.
 Observaciones realizadas durante el levantamiento de la carta.
 Un enlace hacia el documento de sustento de la Carta.
 Estado de la Carta.
 Código de la revisión que levanta la carta [RN_49].

c) El subflujo termina cuando el Jefe de IST sale de la consulta de detalle.

4.8.6.5.2. Modificar una Carta de Desviación


a) El Jefe de IST selecciona una Carta de Desviación de su consulta de Cartas de
Desviación.
b) El Jefe de IST iniciará la modificación de una Carta de Desviación para lo cual
deberá registrar los datos mencionados a continuación:
 Título de la carta (breve descripción)
 Fecha de vencimiento de la carta.
 La ruta donde se encuentra el archivo escaneado de la Carta de Desviación
física aprobada.
 Observaciones si hubiera alguna.

c) El subflujo termina cuando el sistema graba la información ingresada por el usuario


así como el estado anterior y posterior de los atributos de la carta en el log del
negocio.

Página 225
4.8.6.5.3. Eliminar una Carta de Desviación
a) El Jefe de IST deberá seleccionar la Carta de Desviación que desea eliminar.
b) El sistema deberá pedir confirmación previa a la eliminación.
c) El Jefe de IST deberá confirmar la eliminación.
d) El sistema deberá grabar el estado de los atributos de la carta en el log del negocio y
luego eliminar la carta en cuestión. De esta manera finaliza el subflujo.

4.8.6.5.4. Levantar Carta de Desviación


a) El Jefe de IST deberá seleccionar la Carta de Desviación cuyas observaciones han
sido levantadas [RN_49].
b) El Jefe de IST deberá indicar el número de revisión de IST que resuelve las
observaciones mencionadas en la Carta de Desviación [RN_49]. Opcionalmente,
puede también agregar observaciones propias del levantamiento de la Carta.
c) Luego del registro, el Jefe de IST solicita el levantamiento de la carta.
d) El sistema deberá cambiar el estado de la Carta de Desviación a “Cerrada”, registrar
la fecha de levantamiento de la misma y grabar el evento en el log del negocio. De
esta manera finaliza el subflujo.

4.8.6.6. Flujos Alternos

4.8.6.6.1. Información incompleta


Se presenta en el punto “d” del Flujo Básico y en el punto “b” del subflujo Modificar
Carta de Desviación.

a) En caso algunos de los datos ingresados sea incorrecto, el sistema mostrar un


mensaje de error.
b) El Jefe de IST corrige los datos ingresados y la ejecución continúa en el punto “e”
del Flujo Básico o en el punto “c” del subflujo Modificar Carta de Desviación
dependiendo del flujo que haya desencadenado este flujo alterno.

Página 226
4.8.6.6.2. Revisión para levantamiento de Carta de Desviación no es válida.
Se presenta en el punto “b” del subflujo Levantar Carta de Desviación.

a) En caso el código de la revisión de IST no exista, sea el mismo que el de la revisión


amparada o la revisión no se encuentre aprobada, el sistema deberá emitir un error.
b) El Jefe de IST corrige los datos ingresados y la ejecución continúa en el punto “c”
del subflujo Levantar Carta de Desviación.

4.8.6.6.3. Fecha límite de vencimiento distante


Se presenta en el punto “d” del Flujo Básico o en el punto “b” del subflujo Modificar
una Carta de Desviación.

a) En caso la fecha de vencimiento sea superior a 365 días el sistema deberá solicitar
confirmación.
b) El Jefe de IST confirma y la ejecución prosigue con el punto “e” del Flujo Básico o
con el punto “c” del subflujo Modificar una Carta de Desviación. En caso no
confirme regresa al punto “d” del Flujo Básico o al punto “b” del subflujo Modificar
una Carta de Desviación.

4.8.6.7. Precondiciones
Existe una revisión de IST (ES06-RevisiónIST) con estado de finalizada y aprobada
para el levantamiento de la Carta.

4.8.6.8. Postcondiciones
Una Carta de Desviación (ES13-Carta de Desviación) se habrá insertado y/o
actualizado. El ES17-LogNegocio contendrá información de los cambios realizados.

4.8.6.9. Puntos de Inclusión


Ninguno

Página 227
4.8.6.10. Puntos de Extensión
CUS19-Generar relación de Cartas de Desviación por Vencimiento

4.8.6.11. Reglas del Negocio


RN_01 – Código Pase

RN_02 – Código del Empleado

RN_46 – Firmas Carta de Desviación

RN_47 – Fecha Carta de Desviación

RN_48 – Acciones de Carta de Desviación

RN_49 – Levantamiento completo de Carta de Desviación

RN_60 – Amparo de Revisión

4.8.6.12. Información Adicional


Ninguna

Página 228
4.9. Modelo Conceptual
4.9.1. Diagrama del Modelo Conceptual

Ilustración 60: Modelo Conceptual

Página 229
4.9.2. Diccionario del Modelo Conceptual
ES01_RevisiónEstática: Esta clase representa una revisión de código fuente realizada
por el analizador estático.

Atributo Descripción Tipo dato Valor Visibilidad


inicial
AnalisisID Identificador de la revisión estática Numérico Privada
realizada.
Programa Nombre del programa analizado. Texto Privada
UbicacionFte Ubicación de donde proviene el código Texto Privada
fuente. Si se trata de un programa
Genexus se graba el nombre del
Modelo que lo contiene. Si se trata de
un CL se almacena la Biblioteca más el
archivo físico de fuentes.
TipoObjeto Tipo de objeto revisado. Puede ser Texto Privada
Genexus o CL.
HoraEjecucion Fecha y Hora de Ejecución. FechaHora Privada
Duración Tiempo que demandó la revisión. Numérico 0 Privada
PaseAsociado En caso la revisión sea parte de un Pase Numérico 0 Privada
a Producción, se almacena el
identificador del mismo.
Fuente Código fuente analizado. Texto Privada
Navegación Lista de navegación analizada. Texto Privada
CantLineas Cantidad de líneas del código fuente Numérico 0 Privada
analizado.
CompCiclomatica Complejidad ciclomática del programa Numérico 0 Privada
analizado.
TablasUsadas Las tablas que utiliza el programa Texto Privada
analizado.

Tabla 46: ES01_RevisiónEstática

Página 230
ES02_HallazgoEstático: Esta clase representa a un hallazgo detectado por el
analizador estático y corresponde a un programa en particular.

Atributo Descripción Tipo dato Valor Visibilidad


inicial
Correlativo Correlativo Numérico Privada
InfoAdicional Información adicional provista por el Texto Privada
analizador sobre el hallazgo.
Observaciones Observaciones sobre el hallazgo. A ser Texto Privada
llenado posteriormente por el Analista
de IST que revise el hallazgo.
FalsoPositivo Indica si se trata de un falso positivo. A Verdadero/ F Privada
ser llenado posteriormente por el Falso
Analista de IST que revise el hallazgo.

Tabla 47: ES02_HallazgoEstático

ES03_Aplicación: Se utiliza almacenar información referente a las aplicaciones a las


cuales pertenecen los programas. Se utiliza la aplicación para fines de agrupación y
estadísticas.

Atributo Descripción Tipo dato Valor Visibilidad


inicial
AplicacionID Identificador de la aplicación. Texto Privada
Nombre Nombre de la aplicación. Texto Privada

Tabla 48: ES03_Aplicación

ES04_Error: Corresponde a uno de los posibles errores que puede ser detectado como
parte de una revisión de código, ya sea humana o automática.

Atributo Descripción Tipo dato Valor Visibilidad


inicial
ErrorID Identificador del Error. Texto Privada
Descripción Descripción del error. Texto Privada

Página 231
Atributo Descripción Tipo dato Valor Visibilidad
inicial
TipoError Tipo de error. Texto Privada
AnalizadorEstático Indica si se trata de un error propio Verdadero/ F Privada
del analizador estático. Falso

Tabla 49: ES04_Error

ES06-RevisiónIST: Almacena información con respecto a una iteración de revisión de


IST por la que podría pasar un Pase a Producción (se produce una iteración nueva
cuando se rechaza un Pase a Producción y este se presenta nuevamente).

Atributo Descripción Tipo dato Valor Visibilidad


inicial
RevisiónID Identificador de la revisión realizada. Numérico Privada
Título El título del Pase a Producción (proviene Texto Privada
del Sistema de Pases).
Pase El número del Pase a Producción. Numérico Privada
Iteración La cantidad de veces que se está Numérico Privada
revisando el mismo Pase a Producción.
Servicio S4 El código de la iniciativa S4 de Numérico Privada
Sistemas.
Prioridad Prioridad de la iteración. Texto Privada

Tabla 50: ES06-RevisiónIST

ES07-ÍtemRevisión: Corresponde a un elemento que es contenido por un Pase a


Producción y que debe ser revisado como parte de las labores de IST.

Atributo Descripción Tipo dato Valor Visibilidad


inicial
ItemID Identificador del objeto analizado. Numérico Privada
Objeto Nombre del objeto analizado. Texto Privada

Página 232
Atributo Descripción Tipo dato Valor Visibilidad
inicial
UbicacionFte Ubicación de donde proviene el código Texto Privada
fuente. Si se trata de un programa
Genexus se graba el nombre del Modelo
que lo contiene. Si se trata de un CL se
almacena la Biblioteca más el archivo
físico de fuentes.
UbicacionBin Ubicación donde se encuentra el objeto Texto Privada
binario.
TipoObjeto Tipo de Objeto analizado. Texto Privada

Tabla 51: ES07-ÍtemRevisión

ES08-Hallazgo: Representa a un hallazgo detectado por un Analista de IST y


corresponde a un programa en particular.

Atributo Descripción Tipo dato Valor Visibilidad


inicial
Correlativo Correlativo que identifica al hallazgo. Numérico Privada
Observaciones Observaciones sobre el Hallazgo. Texto Privada

Tabla 52: ES08-Hallazgo

ES09-Adjunto: Almacena la información necesaria para poder ubicar a uno de los


adjuntos subidos al sistema por los analistas de IST como parte de la revisión.

Atributo Descripción Tipo dato Valor Visibilidad


inicial
RutaAdjunto Ruta en donde se encuentra el Texto Privada
documento adjunto.

Tabla 53: ES09-Adjunto

ES10-TipoDocumento: Corresponde a la definición de los tipos de documento que


soporta el sistema para el proceso de revisión de IST.

Página 233
Atributo Descripción Tipo dato Valor Visibilidad
inicial
TipoAdjuntoID Identificador del tipo de adjunto. Numérico Privada
Descripción Descripción del tipo de adjunto. Texto Privada

Tabla 54: ES10-TipoDocumento

ES12-TipoRevisión: Representa a un tipo de revisión de IST que se le puede solicitar a


un Analista de IST.

Atributo Descripción Tipo dato Valor Visibilidad


inicial
TipoRevisiónID Identifica el tipo de revisión de IST. Numérico Privada
Descripción Descripción del tipo de revisión de IST. Texto Privada

Tabla 55: ES12-TipoRevisión

ES13-CartaDesviación: Representa una Carta de Desviación, la cual sirve de amparo


para la aprobación de un Pase que no cumple con los estándares de calidad definidos.

Atributo Descripción Tipo dato Valor Visibilidad


inicial
CartaID Identificador interno de la Carta de Numérico Privada
Desviación.
Título Breve descripción de la Carta de Texto Privada
Desviación.
FechaRegistro Fecha de Registro de la carta. Fecha Privada
FechaVcto Fecha de Vencimiento de la carta. Fecha Privada
FechaLevantamiento Fecha de Levantamiento de la Carta. Fecha Privada
ObsRegistro Observaciones del Registro. Texto Privada
ObsLevantamiento Observaciones del Levantamiento. Texto Privada
LinkCarta Ubicación donde se encuentra Texto Privada
almacenada la Carta de Desviación
digitalizada (incluye firmas)

Página 234
Atributo Descripción Tipo dato Valor Visibilidad
inicial
EstadoCarta Estado de la Carta de Desviación. Texto Activa Privada

Tabla 56: ES13-CartaDesviación

ES14-Auditoría: Almacena un pedido realizado por el área de Auditoría con el


propósito de certificar el cumplimiento de los procedimientos de calidad definidos por
parte del personal del área de IST.

Atributo Descripción Tipo dato Valor Visibilidad


inicial
AuditoriaID (*) Identificador interno del pedido de Numérico Privada
Auditoría.
FechaSolicitud Fecha de la solicitud de Auditoría. Fecha Privada
FechaLímiteEntrega Fecha límite para la entrega de Fecha Privada
información.
FechaRespuesta Fecha real de entrega de la Fecha Privada
información.
FechaCierre Fecha de cierre de la auditoría. Fecha Privada
ObsSolicitud Observaciones de la solicitud. Texto Privada
ObsRespuesta Observaciones de la Respuesta. Texto Privada
ObsCierre Observaciones del cierre de la Texto Privada
Auditoría.
EstadoAuditoría Estado de la Auditoría. Texto En Privada
Curso

Tabla 57: ES14-Auditoría

ES15_Usuario: Almacena información acerca de un usuario en el sistema.

Atributo Descripción Tipo dato Valor Visibilidad


inicial
UsuarioID (*) Identificador del usuario. Numérico Privada
Nombre Nombre del usuario. Texto Privada

Página 235
Atributo Descripción Tipo dato Valor Visibilidad
inicial
ApellidoPaterno Apellido Paterno. Texto Privada
ApellidoMaterno Apellido Materno. Texto Privada
Mail Dirección de correo electrónico. Texto Privada
Password Contraseña. Texto Privada
LoginInvalidos Cantidad de inicios de sesión no Numérico Privada
válidos.
FechaUltPassword Fecha y hora del último cambio de FechaHora Privada
contraseña.
Habilitado Indica si el usuario se encuentra Verdadero V Privada
habilitado. / Falso
Rol Rol que realiza el usuario. Texto Privada
Área Área a la pertenece el usuario. Texto Privada

Tabla 58: ES15_Usuario

ES16-EventoRevisión: Representa un evento que se presenta durante una iteración de


revisión de IST.

Atributo Descripción Tipo dato Valor Visibilidad


inicial
HoraEvento Fecha y Hora en la que se produce el FechaHora Privada
evento.
Aprobado Indica si el resultado fue aprobatorio. Verdadero F Privada
/Falso
Observaciones Observaciones. Texto Privada
Estado El estado al que se refiere el evento en Texto Privada
el log.

Tabla 59: ES16-EventoRevisión

ES17-LogNegocio: Clase que representa una ocurrencia dentro de una bitácora genérica
de eventos. Su diseño está pensado con la flexibilidad como criterio y principalmente

Página 236
para casos en lo que se desea registrar sucesos relacionados a una clase en particular,
por ejemplo, el contenido de sus atributos antes y después de un cambio).

Atributo Descripción Tipo dato Valor Visibilidad


inicial
LogID Identificador del evento en el log. Numérico Privada
HoraLog Fecha y hora en la que se produce el FechaHora Privada
evento.
Proceso Proceso que genera el evento. Texto Privada
ID_Origen Identificador del registro origen (se Texto Privada
graba como XML, soporta PKs
compuestas)
Tabla Tabla de la que proviene el Texto Privada
ID_Origen.
Operación Operación sobre la tabla (I=Insert, Texto Privada
U=Update, D=Delete)
Key Identificador libre. Texto Privada
Valor1 Valor libre asociado a Key. Texto Privada
Valor2 Valor libre asociado a Key. Texto Privada

Tabla 60: ES17-LogNegocio

ES99-Parámetro: Clase genérica que se utiliza para almacenar información de un


parámetro que afecta al funcionamiento del sistema.

Atributo Descripción Tipo dato Valor Visibilidad


inicial
TipoParámetro Identificador del Tipo de Parámetro. Texto Privada
Correlativo Correlativo. Numérico Privada
Cadena1 Cadena de libre uso. Texto Privada
Cadena2 Cadena de libre uso. Texto Privada
Cadena3 Cadena de libre uso. Texto Privada
Importe1 Importe de libre uso. Numérico 0 Privada
Importe2 Importe de libre uso. Numérico 0 Privada

Página 237
Atributo Descripción Tipo dato Valor Visibilidad
inicial
Importe3 Importe de libre uso. Numérico 0 Privada

Tabla 61: ES99-Parámetro

Página 238
4.10 Conclusiones
Las conclusiones que se pueden extraer luego de la elaboración de este capítulo son las
siguientes:

 Los artefactos de la metodología RUP solicitados por la UPC en este capítulo


resultaron adecuados para modelar los aspectos más importantes de este proyecto en
función de sus características de complejidad y riesgo.

 En el caso específico de este proyecto, los artefactos de este capítulo permitieron


reducir el tiempo de revisión, puesto que los usuarios de IST cuentan con nociones
básicas de UML y de la metodología.

 La combinación de una explicación verbal y el uso de mockups para detallar los


casos de uso del núcleo central facilitó la comunicación con los usuarios de IST y
permitió afinar los requerimientos funcionales de una manera más rápida. Esto fue
especialmente útil para modelar funcionalidad compleja como por ejemplo la del
clasificador automático de Pases a Producción.

 No era parte de los entregables que se incluyen en la rúbrica de la tesis, pero la


elaboración de una matriz de trazabilidad entre Requerimientos Funcionales y Casos
de Uso resultó importante desde el punto de vista del aseguramiento de la calidad
para evitar posteriores reprocesos.

Página 239
CAPÍTULO 5: ARQUITECTURA DE SOFTWARE

5.1. Introducción
El presente capítulo aborda las metas y restricciones de la arquitectura, los mecanismos
arquitecturales y las siguientes vistas de la arquitectura: vista lógica, vista de
implementación y vista de despliegue.

5.2. Diagrama de casos de uso más significativos


Se resaltan en color verde los casos de uso más significativos, los cuales fueron
identificados en la sección 4.5.

5.2.1. PK01-Análisis Estático

CUS01-Analizar código fuente


Genexus

AS03-Consumidor de
Análisis Estático
(from Actores del Sistema)
CUS02-Analizar código fuente CL

CUS03-Administrar parámetros de
AS02-Jefe de IST revisión estática
(from Actores del Sistema)
...)

Ilustración 61: PK01-Análisis Estático - Casos Significativos

Página 240
5.2.2. PK02-Gestión de Revisiones

CUS16-Administrar checklist CUS17-Administrar parámetros de


Documentos Gestión de Revisiones

CUS05-Consultar asignación de CUS10-Emitir respuesta de


revisiones Revisión

<<extend>>

AS01-Analista de
AS02-Jefe de IST CUS06-Gestionar ciclo de Revisión IST
(from Actores del Sistema)
...) de IST (from Actores del Sistema)
...)

<<extend>>

<<extend>>

CUS11-Administrar pedido de
Auditoría CUS04-Consultar historia de CUS08-Administrar hallazgos y
hallazgos por objeto evidencia

AS04-Empleado
de IST
CUS12-Generar "status report" (from Actores del Sistema)
...)
CUS13-Generar ranking de
desempeño del área de Desarrollo

CUS15-Generar información de
esfuerzo realizado por Analistas IST

Ilustración 62: PK02-Gestión de Revisiones – Casos de uso significativos

Página 241
5.2.3. PK03-Gestión de Cartas de Desviación

CUS18-Administrar Carta de
Desviación

<<extend>>

AS02-Jefe de IST
(from Actores del Sistema)
...)
CUS19-Generar relación de Cartas
de Desviación por Vencimiento

CUS20-Consultar Cartas de
AS01-Analista de Desviación
IST
(from Actores del Sistema)
...)

AS98-Administrador CUS21-Emitir alertas


del Sistema
(from Actores del Sistema)

Ilustración 63: PK03-Gestión de Cartas de Desviación – Casos de uso significativos

Página 242
5.3. Metas de la arquitectura de software
Luego del análisis de los requerimientos no funcionales, se han definido las siguientes
metas de arquitectura:

Meta Descripción Requerimiento


no funcional
MA-01 La arquitectura de software deberá contribuir a satisfacer RNF-007
los requerimientos de tiempo de respuesta demandados por
el negocio (ver el punto 5.4, restricciones de Arquitectura)

Nota: Se indica “contribuir”, puesto que el requerimiento


no funcional será resuelto también a través de hardware.
MA-02 La arquitectura de software deberá contribuir a satisfacer RNF-010
los requerimientos de concurrencia estipulada por el
negocio (ver el punto 5.4, restricciones de Arquitectura).

Nota: Se indica “contribuir”, puesto que el requerimiento


no funcional será resuelto también a través de hardware.
MA-03 El sistema deberá ser de tipo Web y deberán seguirse RNF-017
prácticas de diseño que faciliten la separación de
responsabilidades y la escalabilidad horizontal.
MA-04 Se utilizarán Web Services para comunicar la capa de RNF-020
presentación con la capa del negocio.
MA-05 El formato de salida de los informes para auditoría deberá RNF-026
ser en formato Word.
MA-06 Las alertas y notificaciones se realizarán a través de correo RNF-027
electrónico.
MA-07 Deberá contarse con un mecanismo de persistencia de datos RNF-015,
de tipo relacional. RNF-021
MA-08 El sistema se conectará a la base de datos DB2 del AS/400 RNF-030
(ver el requerimiento no funcional asociado para mayores
detalles).
MA-09 El analizador estático deberá integrarse con el programa RNF-031
GxCompile exponiendo un WebService.
MA-10 El sistema deberá contar con mecanismos que permitan el RNF-039
registro de los errores registrados durante la ejecución del
sistema.

MA-11 El formato de exportación para los reportes de ranking será RNF-046

Página 243
Meta Descripción Requerimiento
no funcional
en formato Excel.
Tabla 62: Metas de la Arquitectura

5.4. Restricciones de la arquitectura de software


Las restricciones que aplican a las metas antes señaladas son las siguientes:

Meta Restricción
Asociada
MA-01 El 95% de las transacciones de registro no debe exceder los 5 segundos
(sujeto a la arquitectura detallada en el punto 5.8).

Nota 1: para el caso del analizador estático se considerará el análisis de un


objeto como una transacción de registro.
Nota 2: Se excluyen las interacciones que involucren subida de archivos,
puesto que el tiempo es dependiente del tamaño del archivo.
MA-02 El sistema deberá soportar 30 usuarios concurrentes.
MA-03 Se utilizará el patrón Modelo Vista Controlador (MVC)
MA-04 Los Web Services serán de tipo SOAP XML.
MA-05 La versión de Word soportada será la versión 2013.
MA-06 Los correos electrónicos se enviarán únicamente a direcciones que formen
parte del dominio “scotiabank.com.pe”.
MA-07 El motor de base de datos será Microsoft SQL Server 2012.
MA-08 Se utilizará el controlador propio de IBM para DB2
(IBM.Data.DB2.iSeries).
MA-09 El WebService para la interacción con el GxCompile será de tipo SOAP
XML.
MA-10 Se registrarán solamente los errores propios de la aplicación que se
produzcan en las capas de base de datos y lógica del negocio.
MA-11 La versión de Excel soportada será la versión 2013.

Tabla 63: Restricciones de la Arquitectura

Página 244
5.5. Mecanismos arquitecturales
A continuación se detallan los mecanismos arquitecturales para las metas de
arquitectura identificadas.

Meta Solución

MA-01 y Se implementará una solución de software de caché de base de datos para


MA-02 mejorar el acceso a información que cambia de manera muy poco
frecuente (por ejemplo, los parámetros de configuración del analizador
estático). Para implementar dicho caché se utilizará la clase ObjectCache
del ensamblado System.Runtime.Caching propio del .Net Framework 4.5.
MA-03 Se implementará el patrón indicado utilizando ASP.NET MVC de
Microsoft (versión 5).
MA-04 Se utilizará Windows Communication Foundation (WCF) para la
implementación de los servicios web.

MA-05 Para la creación de documentos Word se utilizará la librería Open XML


Power Tools (https://github.com/OfficeDev/Open-Xml-PowerTools)

MA-06 Para el envío de correos electrónicos se utilizará la librería


System.Net.Mail, la cual es parte del .Net Framework 4.5.
MA-07 Para facilitar las labores de acceso a datos se utilizará la librería
Enterprise Library 6 de Microsoft (https://msdn.microsoft.com/en-
us/library/dn169621.aspx).
MA-08 Se utilizará el controlador para DB2 de IBM de acuerdo a lo indicado por
el cliente.
MA-09 Se utilizará Windows Communication Foundation (WCF) para la
implementación del servicio web.
MA-10 Para el manejo de errores se utilizará la estrategia de try/catch propia del
.NET Framework. Para el registro en el log de errores de aplicación se
utilizará la librería Nlog (http://nlog-project.org/).

MA-11 Para la creación de documentos Excel se utilizará la librería ClosedXML


(https://closedxml.codeplex.com/)

Tabla 64: Mecanismos Arquitecturales

Página 245
5.6. Vista Lógica
Se muestra a continuación un Diagrama de Capas con los paquetes identificados en la sección 4.3.3

Ilustración 64: Vista Lógica


Página 246
5.7. Vista de Implementación
A continuación se muestran los componentes físicos y sus interacciones. Es importante señalar que los paquetes lógicos de Gestión de Revisiones, Gestión de
Cartas de Desviación y Seguridad señaladas en la Vista Lógica se encuentran consolidados en un solo componente físico llamado IST.Gestión.UI.
Adicionalmente, los dos componentes marcados en color celeste no forman parte del sistema que se está construyendo, pero existen interacciones con dichos
componentes: el componente GxCompile hace uso de los servicios del analizador estático. Por otro lado, se requiere consultar datos del Sistema de Pases de
AS/400 y del sistema Bantotal para el funcionamiento del sistema propuesto.

Ilustración 65: Vista de Implementación


Página 247
5.8. Vista de Despliegue
Para mayores detalles con respecto a los nodos celestes, por favor consulte el punto 5.7.

Ilustración 66: Vista de Despliegue

Página 248
5.9. Conclusiones
Las conclusiones que se pueden señalar luego de la elaboración de este capítulo son las
siguientes:

 Las diferentes vistas de la arquitectura resultaron útiles para interactuar con otras
áreas de TI de Scotiabank. Por ejemplo, la vista de despliegue permitió revisar con
el área de Soporte Tecnológico los requerimientos de infraestructura y la
distribución de la misma. De igual manera, la vista lógica y de implementación
permitió revisar el alineamiento de la solución a buenas prácticas aceptadas por el
área de Arquitectura.

 El proyecto generó un aporte para los estándares de la empresa en lo que se refiere a


la generación programática de documentos Word y Excel, dado que se probaron y
comprobaron mecanismos superiores a los actuales y que no requieren de la
instalación de Office en los servidores.

 Resultó fundamental incluir en la prueba de concepto los casos de uso de “Analizar


Código Fuente Genexus” y “Administrar Hallazgos y Evidencia” dado que se trata
de casos complejos que pusieron en evidencia la solidez de la arquitectura planteada
y además permitieron contar con retroalimentación temprana por parte de los
usuarios.

Página 249
CAPÍTULO 6: CONSTRUCCIÓN

6.1. Introducción
En el presente capítulo se indican los patrones utilizados para la construcción del
software. En primera instancia, se presenta una vista consolidada de todos los patrones
trabajando en conjunto. Dichos patrones se desarrollan de manera más detallada en la
sección 6.3.

Adicionalmente se presenta la evolución del modelo conceptual en un modelo físico,


para lo cual se incluye un diagrama y su correspondiente diccionario de datos.

6.2. Diagrama de Patrones


El siguiente diagrama muestra clases que forman partes de los patrones utilizados en la
fase de construcción. En la sección 6.3 se describen a mayor nivel de detalle dichos
patrones.

Para la elaboración del diagrama y descripción de los patrones se consultó la siguiente


bibliografía:

 Enterprise Solution Patterns using Microsoft .Net – June 2003 – Model-View-


Controller [42]

 Patterns of Enterprise Application Architecture [43]

 Enterprise Solution Patterns using Microsoft .Net – June 2003 – Data Transfer
Object [44]

 Core J2EE Patterns - Data Access Object [45]

Página 250
Ilustración 67: Diagrama de Patrones

* Las líneas sólidas indican que la clase origen cuenta con una referencia permanente a
la clase destino. Las líneas punteadas indican utilización vía parámetro o referencia
local en un método.

Página 251
6.3. Descripción de los patrones
Los patrones de diseño utilizados para el desarrollo son los siguientes:

6.3.1. Patrón MVC

Nombre del Patrón MVC

Problema que se busca Las aplicaciones pueden volverse muy difíciles de


resolver
mantener y probar cuando no se diseñan de manera que
las responsabilidades de los componentes estén bien
definidas. Este patrón propone un esquema en donde
existen responsabilidades de presentación, lógica de
negocios e interacción con los datos del negocio.

Solución Estructurar la solución en capas, cada cual con


responsabilidades e interacciones bien definidas. Ver
gráfico adjunto al final de esta tabla.

Ventajas ● Separación de responsabilidades.


● Facilita el testing, en especial de la capa de
lógica de negocios y de acceso a datos.
● Robustez y mayor adaptabilidad al cambio.

Desventajas Curva de aprendizaje mayor que en un esquema de


desarrollo “monolítico”.

Motivo y Experiencia de Se utilizó este patrón porque considero que la separación


Uso
de responsabilidades brinda un mayor orden y facilita
que la aplicación pueda adaptarse a nuevos
requerimientos en el futuro.
En el desarrollo de la solución se están aplicando
también los principios de TDD (Test Driven
Development), por lo que es importante contar con un
patrón que permita probar los componentes de negocios
y datos sin ejecutar la capa de presentación

Página 252
necesariamente.
En lo que se refiere a la curva de aprendizaje, se
requiere de una curva de aprendizaje más alta, pero los
beneficios a futuro superan ampliamente dicha dificultad
inicial.

Tabla 65: Patrón MVC

A diferencia del diagrama presentado en la sección 6.1, en el siguiente gráfico se


muestra la secuencia lógica de ejecución del patrón MVC para el caso de una aplicación
de tipo Web.

Ilustración 68: Patrón MVC (Elaboración propia)

En el diagrama se aprecia que las solicitudes son interceptadas por la clase controladora.
Dicha clase puede interactuar con los componentes que forman parte del modelo de
datos. Una vez recuperados los datos y realizada la lógica de negocios correspondiente,
la controladora genera una instancia de una vista con la cual responde a la petición del
usuario.

Página 253
A continuación se presenta un ejemplo del uso del patrón en el código fuente del
proyecto:

Ilustración 69: Patrón MVC - Ejemplo de código del proyecto

Se puede apreciar que el código se encuentra clasificado por función (modelo, vista,
controlador). Así mismo, se muestra una clase controladora recibiendo una petición para
la página “Details.html”, invocando a un Web Service, recibiendo y mapeando un DTO
(para más detalles ver el siguiente patrón), y retornando una vista hacia el usuario.

Página 254
6.3.2 Patrón DTO (Data Transfer Object)

Nombre del Patrón DTO (Data Transfer Object)

Problema Se requiere presentar información a los usuarios. En los


lenguajes de programación orientados a objetos, dicha
información se modela dentro de clases. Sin embargo, no
siempre es deseable enviar la totalidad de la información de
la clase hacia la vista por razones de confidencialidad y/o
performance.

Solución El patrón consiste en crear clases que contienen solamente la


información requerida y utilizar dichas clases para la
interacción con la capa de Presentación. Ver diagrama al pie
de esta tabla.

Ventajas ● Mejor uso del ancho de banda, puesto que se envía


únicamente lo necesario (no “fat classes”).
● Mayor flexibilidad para modificar las clases del lado
de la capa del negocio.

Desventajas ● Mayor procesamiento para convertir las clases de la


capa del negocio a clases de tipo DTO.
● Mayor complejidad en el desarrollo (programación y
uso de los adaptadores).

Motivo y Experiencia Se utilizó este patrón porque se identificaron clases que no


de Uso
era conveniente enviar “tal cual” a la capa de presentación.
Un ejemplo es el caso de la clase Usuario, puesto que por
razones obvias no es deseable enviar el atributo “password”
a la capa de presentación para poblar un combo de personal.
Un beneficio adicional es la posibilidad de cambiar las
entidades sin la necesidad de modificar los DTO, lo cual
evita que se rompan los contratos con los consumidores de

Página 255
los servicios.
Finalmente, por motivos de ancho de banda, resulta
beneficios enviar clases “más delgadas” que contengan
solamente lo necesario.
En lo que se refiere a las desventajas, en ocasiones, resulta
un poco tedioso realizar la traducción hacia clases DTO y
desde clases DTO para el consumo de los Web Services.

Tabla 66: Patrón DTO

Ilustración 70: Patrón DTO

El gráfico ilustra que puede ser necesario convertir clases que residen en la capa de
negocios a una versión más adecuada para la capa de presentación. Es por lo tanto
necesario que exista una labor de traducción, la cual es realizada por los adaptadores
DTO.

Un ejemplo de aplicación de este patrón en el proyecto se muestra a continuación. Se


puede observar que existe una transformación del objeto que devuelve la capa de
negocios para ser enviado a la capa de presentación.

Página 256
Ilustración 71: Patrón DTO - Ejemplo del patrón en código del proyecto

6.3.3. Patrón DAO (Data Access Object)

Nombre del Patrón DAO (Data Access Object)

Problema Pueden presentarse casos en los cuales sea necesario que una
solución de software utilice una base de datos diferente a la
que originalmente estaba planteada (ya sea diferente versión
del mismo fabricante o incluso fabricantes distintos). Existen
diversas razones por las que esto podría ocurrir, por ejemplo,
alineamiento a estándares corporativos de un nuevo cliente,
ventajas de licenciamiento, performance, etc. Dependiendo
de cómo se haya desarrollado la solución, este requerimiento
podría resultar costoso en términos de horas de
programación y testing.

Solución Contar con un componente que se encargue específicamente


de interactuar con la base de datos para resolver peticiones
que le formula la capa de lógica de negocios. De esta
manera, se aíslan las particularidades propias del motor de
base de datos de cara al resto de los componentes de la

Página 257
aplicación.

Ventajas ● Encapsulamiento del acceso a los datos, lo cual


permite realizar cambios de manera más focalizada y
centralizada si se requiere cambiar de solución de
persistencia.
● Simplificación de los componentes de lógica de
negocios, dado que no necesitan contener
complejidades propias del acceso a los datos.
● Centralización del acceso a la base de datos en una
capa en donde resulte más simple aplicar buenas
prácticas, exponer métodos estandarizados para
facilidad de los programadores, etc.
● Control más granular de los SQL ejecutados contra la
base de datos a diferencia de lo que sucede con las
herramientas de ORM (Object Relational Mapping)
que en ocasiones ofrecen poca visibilidad de las
sentencias que se están ejecutando contra la base de
datos.
● Simplificación del testing del componente de acceso
a datos.

Desventajas Desventajas
● Mayor procesamiento y menor tiempo de respuesta,
puesto que existe una capa adicional que participa
del procesamiento de las peticiones.
● Mayor tiempo de desarrollo en comparación con la
utilización de una herramienta de ORM, como por
ejemplo, Entity Framework.

Motivo y Experiencia Se utilizó este patrón porque considero que es recomendable

Página 258
de Uso contar con una capa separada de acceso de Datos. Podría
haber utilizado una solución de ORM (Object Relational
Mapping), sin embargo, por razones de performance y
transparencia, elegí desarrollar objetos DAO utilizando las
facilidades que ofrece el Enterprise Library de Microsoft.

En mi experiencia particular, este patrón es sencillo de


entender y la curva de aprendizaje es baja, por lo que no se
requiere de un alto grado de disciplina para cumplir con el
patrón. Adicionalmente, considero que los beneficios
sobrepasan ampliamente la desventaja de performance
señalada en el punto anterior.

Tabla 67: Patrón DAO

Diagrama del Patrón

Ilustración 72: Patrón DAO

El gráfico anterior muestra a las clases involucradas. Como se puede apreciar, es el


objeto DAO el que se encarga de resolver el acceso a la fuente de datos, lo cual
simplifica la capa del negocio (no se contamina con complejidad que no es propia del
negocio). Adicionalmente, el DAO accede a la Fuente de Datos y genera un objeto que
es usado por la capa de negocios.

Página 259
Ejemplo del uso del patrón en el código del proyecto.
La siguiente clase encapsula la interacción con la base de datos. Si a futuro se decidiera,
por ejemplo, utilizar una base de datos NOSQL, solamente sería necesario modificar
esta clase. En la medida en que la clase siga cumpliendo con su promesa de devolver
una lista de Tipos de Revisión, ninguno de los llamadores de la capa del negocio se verá
afectado.

Ilustración 73: Patrón DAO - Ejemplo del patrón en código del proyecto

Página 260
6.4. Modelo Físico

Ilustración 74: Modelo Físico


Página 261
6.5. Diccionario Del Modelo Físico
A continuación se presenta el diccionario de datos ordenado de manera alfabética. Dado
que es una mala práctica utilizar tildes a nivel de los objetos de Base de Datos,
estás se han omitido también en los siguientes cuadros.

Nombre de la tabla Adjunto


Descripción de la Almacena la información necesaria para poder ubicar a uno de los
tabla adjuntos subidos al sistema por los analistas de IST como parte de la
revisión.
Nombre de la Descripción Tipo dato Único Tipo llave
columna
RevisionID Identificador de la revisión. int Sí (PK PK, FK
conjunta)
TipoDocumentoID Identificador del tipo de int Sí (PK PK, FK
documento. conjunta)
RutaAdjunto Ruta en donde se encuentra el nvarchar(256)
documento adjunto.
Tabla 68: Modelo Físico - Adjunto

Nombre de la tabla Aplicacion


Descripción de la tabla Se utiliza para almacenar información referente a las aplicaciones a
las cuales pertenecen los programas. Se utiliza la aplicación para
fines de agrupación y estadísticas.
Nombre de la columna Descripción Tipo dato Único Tipo llave
AplicacionID Identificador de la aplicación. char(2) Sí PK

Nombre Nombre de la aplicación. nvarchar(50)

Tabla 69: Modelo Físico – Aplicación

Nombre de la tabla Area


Descripción de la tabla Almacena áreas funcionales de la empresa.
Nombre de la columna Descripción Tipo dato Único Tipo llave

Página 262
AreaID Identificador del área. int Sí PK

Descripcion Nombre del área. nvarchar(50)

Tabla 70: Modelo Físico – Área

Nombre de la tabla AreaRol


Descripción de la tabla Almacena los roles válidos para cada área.
Nombre de la columna Descripción Tipo Único Tipo llave
dato
AreaID Identificador del área. int (PK PK, FK
conjunta)

RolID Identificador del rol. int (PK PK, FK


conjunta)

Tabla 71: Modelo Físico - ÁreaRol

Nombre de la tabla Auditoria


Descripción de la tabla Almacena un pedido realizado por el área de Auditoría con el
propósito de certificar el cumplimiento de los procedimientos de
calidad definidos por parte del área de IST.
Nombre de la columna Descripción Tipo Único Tipo llave
dato
AuditoriaID Identificador interno del pedido int Sí PK
de Auditoría.

FechaSolicitud Fecha de la solicitud de datetime


Auditoría.

FechaLimiteEntrega Fecha límite para la entrega de datetime


información.

FechaRespuesta Fecha real de entrega de la datetime


información.

FechaCierre Fecha de cierre de la auditoría. datetime

ObsSolicitud Observaciones de la Solicitud. nvarchar

Página 263
(4000)

ObsRespuesta Observaciones de la Entrega. nvarchar


(4000)

ObsCierre Observaciones del cierre de la nvarchar


Auditoría. (4000)

EstadoAuditoriaID Estado de la Auditoría. int FK

AuditorSolicitante Identificador del auditor solicitante. int FK

Tabla 72: Modelo Físico – Auditoría

Nombre de la tabla Auditoria_Revision


Descripción de la tabla Almacena el detalle de las revisiones que forman parte de un
pedido de Auditoría.
Nombre de la columna Descripción Tipo Único Tipo llave
dato
AuditoriaID Identificador de la Auditoría. int Sí (PK PK, FK
conjunta)
RevisionID Identificador de la Revisión. int Sí (PK PK, FK
conjunta)
Tabla 73: Modelo Físico - Auditoría_Revisión

Nombre de la tabla CartaDesviacion


Descripción de la tabla Almacena la información de las Cartas de Desviación, la cual sirve
de amparo para la aprobación de un Pase que no cumple con los
estándares de calidad definidos.
Nombre de la columna Descripción Tipo Único Tipo llave
dato
CartaID Identificador interno de la Carta int Sí PK
de Desviación.

Titulo Breve descripción de la Carta de nvarchar


Desviación. (256)

FechaRegistro Fecha de Registro de la carta. datetime

Página 264
FechaVcto Fecha de Vencimiento de la carta. datetime

FechaLevantamiento Fecha de Levantamiento de la datetime


carta.

ObsRegistro Observaciones del Registro. nvarchar


(4000)

ObsLevantamiento Observaciones del nvarchar


Levantamiento. (4000)

linkCarta Ubicación donde se encuentra nvarchar


almacenada la Carta de (256)
Desviación digitalizada (incluye
firmas)

EstadoCartaID Estado de la Carta de Desviación. int FK

RevisionLevantaID El identificador de la Revisión que int FK


levanta la Carta.

Tabla 74: Modelo Físico – CartaDesviación

Nombre de la tabla Checklist


Descripción de la tabla Permite relacionar los Tipos de Revisión con los Tipos de Adjunto
requeridos como parte del protocolo de revisión.
Nombre de la columna Descripción Tipo Único Tipo llave
dato
TipoRevisionID Identificador de la revisión. int Sí (PK PK, FK
conjunta)
TipoDocumentoID Identificador del tipo de int Sí (PK PK, FK
documento. conjunta)
Tabla 75: Modelo Físico – Checklist

Nombre de la tabla Error


Descripción de la Tabla de errores del análisis de código (humanos y estáticos)
tabla
Nombre de la Descripción Tipo dato Único Tipo llave
columna

Página 265
ErrorID Identificador del Error. char(5) Sí PK

Descripcion Descripción del error. nvarchar(150)

AnalizadorEstatico Indica si se trata de un error bit


propio del analizador estático.

TipoErrorID Tipo de error. int FK

Tabla 76: Modelo Físico – Error

Nombre de la tabla EstadoAuditoria


Descripción de la tabla Almacena los estados que puede presentar un Pedido de Auditoría.
Nombre de la columna Descripción Tipo dato Único Tipo llave
EstadoAuditoriaID Identificador del estado del Pedido int PK
de Auditoría.

Descripcion Descripción del Estado. nvarchar(20)

Tabla 77: Modelo Físico – EstadoAuditoría

Nombre de la tabla EstadoCarta


Descripción de la tabla Almacena los estados que puede presentar una Carta de
Desviación.
Nombre de la columna Descripción Tipo dato Único Tipo llave
EstadoCartaID Identificador del estado de la Carta int PK
de Desviación.

Descripcion Descripción del Estado. nvarchar(50)

Tabla 78: Modelo Físico – EstadoCarta

Nombre de la tabla EstadoRevision


Descripción de la tabla Almacena los estados por los que pasa una revisión de IST.
Nombre de la columna Descripción Tipo dato Único Tipo llave

Página 266
EstadoID Identificador del estado de la nvarchar(3) Sí PK
revisión.

Descripcion Descripción del Estado. nvarchar(50)

Tabla 79: Modelo Físico – EstadoRevisión

Nombre de la tabla EventoRevision


Descripción de la Almacena un evento que se presenta durante una iteración de
tabla revisión de IST.
Nombre de la Descripción Tipo dato Único Tipo
columna llave
RevisionID Identificador de la revisión. int Sí (PK PK, FK
conjunta)
FechaHora Fecha y Hora en la que se datetime Sí (PK PK
conjunta)
produce el evento.

EstadoID El estado al que se refiere el nvarchar(3) Sí (PK PK, FK


conjunta)
evento en el log.

UsuarioID Identificador del usuario. int FK

Aprobado Indica si el resultado fue char(1)


aprobatorio.

Observaciones Observaciones. nvarchar(4000)

Tabla 80: Modelo Físico – EventoRevisión

Nombre de la tabla Hallazgo


Descripción de la Almacena los hallazgos detectados por un Analista de IST y
tabla corresponde a un programa en particular.
Nombre de la Descripción Tipo dato Único Tipo
columna llave
RevisionID Identificador de la revisión. int Sí (PK PK, FK
conjunta)
Item Ítem de revisión int Sí (PK PK, FK
conjunta)
(correlativo).

Página 267
Correlativo Correlativo que identifica al int Sí (PK PK
conjunta)
hallazgo.

ErrorID Identificador del error char(5) FK


detectado.

Observaciones Observaciones sobre el nvarchar(3000)


Hallazgo.

Tabla 81: Modelo Físico – Hallazgo

Nombre de la tabla HallazgoEstatico


Descripción de la Almacena a los hallazgos detectados por el analizador estático y
tabla corresponde a un programa en particular
Nombre de la Descripción Tipo dato Único Tipo llave
columna
AnalisisID Identificador del análisis int Sí (PK PK, FK
estático realizado. conjunta)

Correlativo Correlativo. int Sí (PK PK


conjunta)
ErrorID Identificador del error char(5) FK
detectado.

InfoAdicional Información adicional nvarchar(max)


provista por el analizador
sobre el hallazgo.

Observaciones Observaciones sobre el nvarchar(max)


hallazgo. A ser llenado
posteriormente por el
Analista de IST que revise el
hallazgo.

Página 268
FalsoPositivo Indica si se trata de un falso nvarchar(1)
positivo. A ser llenado
posteriormente por el
Analista de IST que revise el
hallazgo.

RevisionID Identificador de la revisión. int FK

Item Identificador del ítem de int FK


revisión.

Tabla 82: Modelo Físico – HallazgoEstático

Nombre de la tabla ItemRevision


Descripción de la Detalle de la tabla RevisionIST. Corresponde a los elementos que
tabla son contenidos por un Pase a Producción y que deben ser revisados
como parte de las labores de IST.
Nombre de la Descripción Tipo dato Único Tipo
columna llave
RevisionID Identificador de la revisión. int Sí (PK PK, FK
conjunta)
Item Identificador del objeto int Sí (PK PK
conjunta)
analizado.

Objeto Nombre del objeto analizado. nvarchar(10)

UbicacionFte Ubicación de donde proviene nvarchar(20)


el código fuente. Si se trata
de un programa Genexus se
graba el nombre del Modelo
que lo contiene. Si se trata de
un CL se almacena la
Biblioteca más el archivo
físico de fuentes.

UbicacionBin Ubicación donde se nvarchar(10)


encuentra el objeto binario.

Página 269
AplicacionID Identificador de la aplicación a char(2) FK
la que pertenece el objeto

TipoObjetoID Tipo de Objeto analizado. nvarchar(3) FK

Tabla 83: Modelo Físico – ÍtemRevisión

Nombre de la tabla LogNegocio


Descripción de la Almacena una ocurrencia dentro de una bitácora genérica de
tabla eventos. Su diseño está pensado con la flexibilidad como criterio y
principalmente para casos en lo que se desea registrar sucesos
relacionados a una tabla en particular, por ejemplo, el contenido de
sus atributos antes y después de un cambio)
Nombre de la Descripción Tipo dato Único Tipo llave
columna
LogID Identificador del evento en el int Sí PK
log.

HoraLog Fecha y hora en la que se datetime


produce el evento.

Proceso Proceso que genera el evento. nvarchar(100)

ID_Origen Identificador del registro nvarchar(1000)


origen (se graba como XML,
soporta PKs compuestas).

Tabla Tabla de la que proviene el nvarchar(128)


ID_Origen.

Operación Operación sobre la tabla char(1)


(I=Insert, U=Update,
D=Delete).

Key Identificador libre. nvarchar(1000)

Valor1 Valor libre asociado a Key. nvarchar(1000)

Valor2 Valor libre asociado a Key. nvarchar(1000)

UsuarioID Identificador del usuario que int FK

Página 270
genera el evento.

Tabla 84: Modelo Físico – LogNegocio

Nombre de la tabla Numerador


Descripción de la tabla Tabla genérica de numeradores para generar identificador de
tablas.
Nombre de la columna Descripción Tipo dato Único Tipo llave
NumeradorID Identificador del numerador. nvarchar(4) Sí PK

Numero Último número solicitado. int

Tabla 85: Modelo Físico – Numerador

Nombre de la tabla Parametro


Descripción de la Tabla genérica que se utiliza para almacenar información de un
tabla parámetro que afecta al funcionamiento del sistema.
Nombre de la Descripción Tipo dato Único Tipo llave
columna
TipoParametroID Identificador del Tipo de int Sí (PK PK, FK
conjunta)
Parámetro.

Correlativo Correlativo. int Sí (PK PK


conjunta)
Cadena1 Cadena de libre uso. nvarchar(50)

Cadena2 Cadena de libre uso. nvarchar(50)

Cadena3 Cadena de libre uso. nvarchar(50)

Importe1 Importe de libre uso. float

Importe2 Importe de libre uso. float

Importe3 Importe de libre uso. float

Tabla 86: Modelo Físico – Parámetro

Nombre de la tabla Prioridad

Página 271
Descripción de la tabla Almacena las prioridades que puede tener una revisión de IST.
Nombre de la columna Descripción Tipo dato Único Tipo llave
PrioridadID Identificador de la prioridad. int Sí PK

Descripcion Descripción. nvarchar(50)

Tabla 87: Modelo Físico – Prioridad

Nombre de la tabla RevisionEstatica


Descripción de la Almacena las revisiones de código fuente realizada por el
tabla analizador estático.
Nombre de la Descripción Tipo dato Único Tipo llave
columna
AnalisisID Identificador de la revisión int Sí PK
estática realizada.

Programa Nombre del programa nvarchar(10)


analizado.

UbicacionFte Ubicación de donde proviene el nvarchar(20)


código fuente. Si se trata de un
programa Genexus se graba el
nombre del Modelo que lo
contiene. Si se trata de un CL
se almacena la Biblioteca más
el archivo físico de fuentes.

TipoObjetoID Tipo de objeto revisado. Puede nvarchar(3) FK


ser Genexus o CL.

AplicacionID Identificador de la aplicación. char(2) FK

AnalistaID Identificador del analista. int FK

HoraEjecucion Fecha y Hora de Ejecución. datetime

Página 272
Duracion Tiempo que demandó la float
revisión.

Pase En caso la revisión sea parte de int


un Pase a Producción, se
almacena el identificador del
mismo.

Fuente Código fuente analizado. nvarchar(max)

Navegacion Lista de navegación analizada. nvarchar(max)

CantLineas Cantidad de líneas del código int


fuente analizado.

CompCiclomatica Complejidad ciclomática del int


programa analizado.

TablasUsadas Las tablas que utiliza el nvarchar(max)


programa analizado.

Tabla 88: Modelo Físico - Revisión Estática

Nombre de la tabla RevisionIST


Descripción de la Almacena información con respecto a una iteración de revisión de
tabla IST Producción (se produce una iteración nueva cuando se rechaza
un Pase a Producción y este se presenta nuevamente).
Nombre de la Descripción Tipo dato Único Tipo llave
columna
RevisionID Identificador de la revisión int PK
realizada.

PaseID El número del Pase a int


Producción.

Iteracion La cantidad de veces que se int


está revisando el mismo Pase a
Producción.

Titulo El título del Pase a Producción nvarchar(250)

Página 273
(proviene del Sistema de Pases)

ServicioS4 El código de la iniciativa S4 de int


Sistemas.

TipoRevisionSistID Identificador del tipo de int FK


revisión sugerido por el
sistema.

TipoRevisionID Identificador del tipo de int FK


revisión asignado.

PrioridadID Identificador de la prioridad de int FK


la iteración.

AnalistaDesaID Identificador del analista de int FK


desarrollo que presenta la
revisión.

CartaID Identificador de la Carta de int Sí FK


Desviación que ampara el pase.

EstadoID Identificador del estado de nvarchar(3) FK


revisión.

FechaInicio Fecha de Inicio de la Revisión. datetime

FechaFin Fecha de Fin de la Revisión. datetime

AprobadoAn Indica si la revisión fue aprobada char(1)


por el Analista de IST encargado.

AprobadoSup Indica si la revisión fue aprobada char(1)


por el Supervisor de IST.

Tabla 89: Modelo Físico - Revisión IST

Nombre de la tabla Rol


Descripción de la tabla Almacena los roles que desempeñan los usuarios
Nombre de la columna Descripción Tipo dato Único Tipo llave

Página 274
RolID Identificador del Rol. int Sí PK

Descripcion Descripción. nvarchar(50)

Tabla 90: Modelo Físico – Rol

Nombre de la tabla TipoDocumento


Descripción de la tabla Almacena los tipos de documento que pueden requerirse en una
revisión de IST.
Nombre de la columna Descripción Tipo dato Único Tipo llave
TipoDocumentoID Identificador del tipo de int Sí PK
adjunto.

Descripcion Descripción del tipo de adjunto. nvarchar(50)

Tabla 91: Modelo Físico – TipoDocumento

Nombre de la tabla TipoError


Descripción de la tabla Almacena los tipos de error.
Nombre de la columna Descripción Tipo dato Único Tipo llave
TipoErrorID Identificador del Tipo de Error. int Sí PK

Descripcion Descripción. nvarchar(50)

Tabla 92: Modelo Físico – TipoError

Nombre de la tabla TipoObjeto


Descripción de la tabla Almacena los tipos de objeto a los que pueden pertenecer los ítems
de revisión.
Nombre de la columna Descripción Tipo dato Único Tipo llave
TipoObjetoID Identificador del Tipo de Objeto. nvarchar(3) Sí PK

Descripción Descripción. nvarchar(50)

Tabla 93: Modelo Físico – TipoObjeto

Página 275
Nombre de la tabla TipoParametro
Descripción de la tabla Almacena los tipos de parámetros existentes en el sistema.
Nombre de la columna Descripción Tipo dato Único Tipo llave
TipoParametroID Identificador del Tipo de int Sí PK
Parámetro.

Descripcion Descripción. nvarchar(50)

ModoPresentación Modo de Presentación (T=Lista de Char(1)


Textos, N=Editor Numérico)

Tabla 94: Modelo Físico – TipoParámetro

Nombre de la tabla TipoRevision


Descripción de la tabla Representa a un tipo de revisión de IST que se le pueden solicitar a
un Analista de IST.
Nombre de la columna Descripción Tipo dato Único Tipo llave
TipoRevisionID Identifica el tipo de revisión de int Sí PK
IST.

Descripcion Descripción del tipo de revisión nvarchar(50)


de IST.

Tabla 95: Modelo Físico – TipoRevisión

Nombre de la tabla Usuario


Descripción de la tabla Almacena a los usuarios que forman parte del sistema.
Nombre de la columna Descripción Tipo dato Único Tipo llave
UsuarioID Identificador del usuario. int Sí PK

Nombre Nombre del usuario. nvarchar(50)

ApellidoPaterno Apellido Paterno. nvarchar(50)

ApellidoMaterno Apellido Materno. nvarchar(50)

Mail Dirección de correo nvarchar(50)


electrónico.

Página 276
Password Contraseña. nvarchar(32)

LoginInvalidos Cantidad de inicios de sesión Int


no válidos.

FechaUltPassword Fecha y hora de cambio de la datetime


última contraseña.

AreaID Área a la pertenece el usuario. int FK

RolID Rol que realiza el usuario. int FK

Habilitado Indica si el usuario se bit


encuentra habilitado.

Tabla 96: Modelo Físico - Usuario

Página 277
6.6. Conclusiones
Las conclusiones que se pueden señalar luego de completar este capítulo son las
siguientes:

 La elección de los patrones MVC (Modelo Vista Controlador), DTO (Data Transfer
Objects) y DAO (Data Access Objects) resultó acertada para los requerimientos del
proyecto y permitió un desarrollo orientado a la mantenibilidad de la aplicación, lo
cual se evidenció a medida que la aplicación ganaba nuevas funcionalidades.

 Dentro de las ventajas que se comprobaron como parte del uso de los patrones antes
señalados, se destacó de manera especial en este proyecto la posibilidad de realizar
testing automatizado ya que las capas se encontraban separadas de manera lógica y
contaban con responsabilidades bien definidas.

 Seguir los patrones antes mencionados demandó disciplina y una curva de


aprendizaje inicial más alta, en particular en lo que se refiere al patrón MVC debido
a particularidades propias del framework ASP.NET MVC.

Página 278
CAPÍTULO 7: CALIDAD Y PRUEBAS DEL
SOFTWARE

7.1. Introducción
El presente capítulo se enfoca en la política y los objetivos de calidad definidos en la
empresa y en la manera en la que el presente proyecto colabora con el cumplimiento de
dichos objetivos. Adicionalmente, existe un marco normativo muy amplio en el ámbito
de la calidad, por lo que se detallan aquellas publicaciones que han servido como una
referencia importante para el desarrollo del proyecto.

Como parte del Plan de la Calidad de Software, se presentan también las métricas
utilizadas para la medición de la misma, los escenarios y casos de prueba, así como los
resultados de la ejecución de los mismos. Finalmente, se presenta una evaluación de
cumplimiento de las métricas.

7.2. Plan de la Calidad del Software

7.2.1. Política de Calidad


Es política de la empresa buscar la completa satisfacción de sus clientes a través de la
entrega eficiente y oportuna de servicios y soluciones financieras. Para lograrlo se basa
en los principios de mejora continua, fortalecimiento del talento humano, trabajo en
equipo y el cumplimiento de las normas y regulaciones vigentes.

El cumplimiento de la Política de Calidad en Perú es responsabilidad directa del Senior


Vicepresident & Country Head de dicho país (ver Organigrama en la sección 1.3.5).

Página 279
7.2.2. Objetivos de Calidad
Los objetivos de la calidad de la empresa son los siguientes:

 Incrementar la satisfacción de los clientes a través de la mejora continua de los


procesos.

 Mejorar los tiempos de entrega de los servicios y soluciones financieras a la


clientela.

 Optimizar gastos e inversiones para proporcionar un servicio más eficiente.

 Capacitar permanente al personal en el uso de las mejores prácticas aplicables a los


servicios que brindan al cliente interno y/o externo.

 Establecer canales de comunicación eficaces que propicien una participación activa


de los colaboradores y alienten el trabajo en equipo.

 Asegurar el alineamiento de los servicios entregados a las regulaciones vigentes.

En lo que se refiere al presente proyecto, éste se encuentra alineado de manera directa a


los primeros cuatro objetivos de calidad. En primer lugar, se está aportando a la mejora
del proceso de desarrollo de soluciones de TI. Por otro lado, la detección temprana de
errores permite evitar rechazos y reprocesos por parte del área de IST y mejora el
tiempo de puesta en Producción. Adicionalmente, los errores son menos costosos de
corregir cuánto más temprano sean detectados. Por último, contar con una herramienta
automática de revisión de código cumple un rol instructivo para los programadores,
especialmente para aquellos que están dando sus primeros pasos en la institución.

7.2.3. Normatividad Aplicable


Para el caso específico de este proyecto se han seguido las siguientes normas
internacionales y buenas prácticas referidas a la calidad del software:

7.2.3.1. ISO 9001:2008 e ISO/IEC 90003:2004


La ISO/IEC 90003:2004 [46] es una guía para la aplicación de la norma ISO 9001:2008
[47] en lo se refiere al software de computadoras. En su sección 7.1.1 se indica que es

Página 280
preciso utilizar una metodología para gestionar el ciclo de vida del software. Para este
proyecto se seleccionó la metodología RUP.

En el acápite 7.2.1.1 de la misma guía se establecen pautas que se refieren a la captura


de requerimientos. Durante la elaboración del presente proyecto se ha seguido la
recomendación de contar con un registro formal de los mismos para mejorar la
comunicación y evitar malos entendidos. Así mismo, el relevamiento de los
requerimientos se ha realizado en estrecha coordinación con el usuario y se ha obtenido
la conformidad formal del mismo. Finalmente, se han utilizado matrices de trazabilidad
a lo largo del proceso para evitar la exclusión involuntaria de requerimientos del cliente
en el producto final de software.

En concordancia con lo estipulado en el acápite 7.2.3.2 de la guía antes mencionada, se


han realizado reuniones con los usuarios en hitos importantes del proyecto para obtener
la conformidad de los entregables, revisar prototipos, discutir siguientes fases, etc.

En lo que se refiere a la sección 7.3.1.1 de la guía (Planificación de Diseño y


Desarrollo), se han utilizado las buenas prácticas del PMBOK [4] para realizar la
gestión del Alcance y Tiempo.

En la sección 7.3.3 se indica que las labores de diseño y desarrollo deben documentarse
utilizando la metodología seleccionada. Dado que la metodología elegida es RUP, se
han utilizado sus artefactos para la elaboración del trabajo.

En lo que se refiere a reuniones periódicas de revisión, se han aprovechado los hitos


propios de los cursos de Proyecto Informático I, II y III para realizar una evaluación del
avance en concordancia con el punto 7.3.4 de la ISO/IEC 90003:2004.

La guía antes mencionada también hace mención a la verificación y validación del


software en sus secciones 7.3.5 y 7.3.6.1 respectivamente. Para dar cumplimiento a la
verificación se han desarrollado los casos de prueba que figuran en la sección 7.3. Por el
lado de la validación, se ha utilizado la trazabilidad para asegurar que el producto final
cumpla con los requerimientos del negocio.

Página 281
7.2.3.2. IEEE Std. 830-1998
Las normas ISO señaladas en el punto anterior mencionan la importancia de los
requerimientos, pero no precisan las características que deberían cumplir los
requerimientos bien especificados. Dado que la norma IEEE Std. 830-1998 [48] sí
proporciona pautas concretas al respecto, se utilizaron dichas pautas para la definición
de los requerimientos.

7.2.3.3. ISO 9126:2001


Para la elaboración y definición de las métricas de calidad se utilizaron las
recomendaciones de la norma ISO 9126:2001 [49], también conocida como “Ingeniería
del Software – Calidad del Producto”. Las métricas seleccionadas se describen en la
sección 7.2.4 Métricas de Calidad de este entregable.

7.2.3.4. NTP ISO/IEC 12207-2006


En la sección 5.3 de la Norma Técnica Peruana ISO/IEC 12207-2006 [50] se detallan
las actividades que deben realizarse como parte del proceso de desarrollo. Dichas
actividades, desde el acápite “a. Implementación del proceso” hasta el acápite “g.
Codificación y Pruebas de Software” resultan compatibles con las actividades realizadas
para el desarrollo del presente proyecto.

Página 282
7.2.4. Métricas de Calidad
Se han definido las siguientes métricas utilizando la norma ISO 9126:2001 [49].

Cód. Tipo de Característica Atributo Métrica definida Rango Método de Fórmula Primer valor Segundo
Métrica (ISO 9126) (ISO 9126) para el proyecto aplicación (A) valor (B)
MC01 Externa Suitability Functional Las funcionalidades =100% Realizar un test Número de Número total
Implementation descritas en la <100% funcional (caja X = A / B casos de de casos de
coverage especificación del negra) del prueba prueba.
requerimiento deben sistema de ejecutados
ser implementadas acuerdo a los correctamente
correctamente al casos de prueba
100%. definidos en la
sección 7.4.

MC02 Externa Usability Functional La calificación por >= 4 y Evaluación por X = A / B Suma de las Cantidad de
Understandability parte del usuario del <=5 parte del (promedio respuestas de preguntas de
entendimiento de las >= 1 y < usuario sobre el simple) la encuesta de la encuesta
funciones del 4 entendimiento evaluación de
sistema debe ser de los por caso de evaluación
superior a "Bueno" elementos de la uso. por caso de
(4 o superior en una aplicación (por uso.
escala de 1 a 5) cada caso de
uso).

Página 283
Cód. Tipo de Característica Atributo Métrica definida Rango Método de Fórmula Primer valor Segundo
Métrica (ISO 9126) (ISO 9126) para el proyecto aplicación (A) valor (B)
MC03 Interna Testability Completeness Los métodos >= 85% Evaluar la X = A / B Cantidad de Número total
of built- in test expuestos por la < 85% cantidad de métodos de métodos
function capa de servicios métodos expuestos por expuestos
deben contar con expuestos por la la capa de por la capa
pruebas capa de Servicios que de Servicios
automatizadas en un Servicios que cuentan con
85% como mínimo. cuentan con pruebas
pruebas automatizadas
automatizadas

MC04 Interna Analyzability Activity Por lo menos un >= 90% Evaluar la X = A / B Cantidad de Número total
recording < 90% cantidad métodos que de métodos
90% de los
métodos que expone la expuestos
métodos que expone expone la capa capa de por la capa
de servicios que servicios que de Servicios.
la capa de servicios
cuentan con cuentan con
deben contar con un registro de registro de
actividades (en actividades
log de actividades
modo Trace) (en modo
(en modo Trace) Trace).

Tabla 97: Métricas de calidad

Página 284
7.3. Datos para las pruebas funcionales

7.3.1. Base de Datos de IST


Para comodidad, la data inicial puede ser generada a través de la ejecución del siguiente proyecto que forma parte de la solución de Visual
Studio entregada.

RevisionIST
Revision Pase Iteracion Titulo Servicio TipoRevision TipoRevision Prioridad Analista Carta Estado Fecha Inicio Fecha Fin Aprobado Aprobado
ID ID S4 SistID ID ID DesaID ID ID Analista Superv.
568 78430 1 Prueba del 9384 2 2 1 1433 NULL FIN 2015-08-17 2015-08-17 N N
Sistema 1 15:14:35.877 15:28:21.557
569 78430 2 Prueba del 9384 2 2 1 1434 NULL FIN 2015-08-17 2015-08-17 N N
Sistema 1 15:46:04.060 18:18:01.540
570 78430 3 Prueba del 9384 2 1 2 1433 NULL FIN 2015-08-17 2015-08-17 S S
Sistema 1 18:28:29.373 18:41:06.413
571 78431 1 Prueba del 9385 2 3 NULL 1433 NULL FIN 2015-09-17 2015-09-17 S
Sistema 2 21:26:24.840 21:28:58.833
572 78432 1 Prueba del 9386 2 2 1 1433 NULL FIN 2015-09-17 2015-09-17 N N
Sistema 3 22:41:42.137 22:52:03.800
573 78433 1 Prueba del 9387 2 1 1 1433 59 FIN 2015-09-17 2015-10-18 N S
Sistema 4 22:41:42.370 10:45:46.407
574 78434 1 Prueba del 9388 2 2 1 1433 NULL FIN 2015-10-18 2015-10-18 S S
Sistema 5 12:18:13.463 12:30:37.900

Página 285
Revision Pase Iteracion Titulo Servicio TipoRevision TipoRevision Prioridad Analista Carta Estado Fecha Inicio Fecha Fin Aprobado Aprobado
ID ID S4 SistID ID ID DesaID ID ID Analista Superv.
575 78435 1 Prueba del 9389 2 1 1 1433 NULL FIN 2015-10-18 2015-10-18 S S
Sistema 6 12:58:22.643 13:05:35.663
576 78436 1 Prueba del 9390 2 1 1 1433 60 FIN 2015-10-18 2015-10-18 N S
Sistema 7 14:36:41.457 14:42:12.287
577 78438 1 Prueba del 9391 2 2 1 1433 NULL ASG 2015-10-18 NULL
Sistema 8 15:19:43.543
578 78439 1 Prueba del 9392 2 2 1 1433 NULL RES 2015-10-18 NULL N
Sistema 9 15:24:41.320
579 78440 1 Prueba del 9393 2 1 1 1433 NULL FIN 2015-10-18 2015-10-18 S S
Sistema 10 18:58:22.643 19:05:35.663
580 78442 1 Prueba del 9395 2 2 1 1433 NULL RES 2015-10-18 NULL N
Sistema 12 15:34:41.330
581 78443 1 Prueba del 9396 2 2 1 1433 NULL RES 2015-10-18 NULL S
Sistema 13 15:44:41.440
582 78444 1 Prueba del 9397 2 2 1 1433 NULL RES 2015-10-18 NULL S
Sistema 14 15:54:41.550
Tabla 98: Data Inicial para pruebas - RevisiónIST

ItemRevisión
RevisionID Item Objeto UbicacionFte UbicacionBin AplicacionID TipoObjetoID
568 1 LJXX901 BLDEOPBT.QCLSRC BLDEOPBT XX CL
568 2 PLNUP60A G80BTPT BLDEPGBT NU GX
569 1 LJXX901 BLDEOPBT.QCLSRC BLDEOPBT XX CL
569 2 PLNUP60A G80BTPT BLDEPGBT NU GX
570 1 LJXX901 BLDEOPBT.QCLSRC BLDEOPBT XX CL
570 2 PLNUP60A G80BTPT BLDEPGBT NU GX
571 1 LJXX902 BLDEOPBT.QCLSRC BLDEOPBT XX CL
571 2 PLNUP60B G80BTPT BLDEPGBT NU GX
572 1 PLNUP60C G80BTPT BLDEPGBT NU GX
573 1 LJXX904 BLDEOPBT.QCLSRC BLDEOPBT XX CL

Página 286
RevisionID Item Objeto UbicacionFte UbicacionBin AplicacionID TipoObjetoID
574 1 LJXX905 BLDEOPBT.QCLSRC BLDEOPBT XX CL
574 2 PLNUP60E G80BTPT BLDEPGBT NU GX
575 1 LJXX904 BLDEOPBT.QCLSRC BLDEOPBT XX CL
576 1 PLNUP60G G80BTPT BLDEPGBT NU GX
577 1 LJXX909 BLDEOPBT.QCLSRC BLDEOPBT XX CL
577 2 PLNUP60I G80BTPT BLDEPGBT NU GX
578 1 LJXX910 BLDEOPBT.QCLSRC BLDEOPBT XX CL
578 2 PLNUP60J G80BTPT BLDEPGBT NU GX
579 1 PLNUP60G G80BTPT BLDEPGBT NU GX
580 1 LJXX711 BLDEOPBT.QCLSRC BLDEOPBT XX CL
580 2 PLNUP99J G80BTPT BLDEPGBT NU GX
581 1 LJXX712 BLDEOPBT.QCLSRC BLDEOPBT XX CL
582 1 LJXX713 BLDEOPBT.QCLSRC BLDEOPBT XX CL
Tabla 99: Data Inicial para pruebas - ItemRevisión

Hallazgo
RevisionID Item Correlativo ErrorID Observaciones
568 1 1 H0001 Cancela cuando el archivo origen viene sin data...
Captura la fecha del sistema dentro de un loop de miles de iteraciones...
568 2 1 H0002 debería hacerlo fuera del loop
568 2 2 H0001 Pasa mal los parámetros a la rutina de saldos
569 1 1 H0000 NULL
569 2 1 H0000 NULL
570 1 1 H0000 NULL
570 2 1 H0000 NULL
572 1 1 H0001 No lo probaron los desarrolladores parece

Página 287
RevisionID Item Correlativo ErrorID Observaciones
573 1 1 H0002 Error gravísimo de lógica
574 1 1 H0000 NULL
574 2 1 H0000 NULL
575 1 1 H0000 NULL
576 1 1 H0002 Error grave
578 1 1 H0000 NULL
578 2 1 H0004 Ineficiente como él solo...
579 1 1 H0000 NULL
580 1 1 H0000 NULL
580 2 1 H0002 Está invertido el if principal...
581 1 1 H0000 NULL
582 1 1 H0000 NULL
Tabla 100: Data Inicial para pruebas - Hallazgo

Prioridad
PrioridadID Descripcion
1 Alta
2 Baja
Tabla 101: Data Inicial para pruebas – Prioridad

EstadoRevisión
EstadoID Descripcion
ASG Asignado
ASS Asignado x Supervisor

Página 288
EstadoID Descripcion
CLA Clasificado
DEV Devuelto al Analista
DEX Devuelto x Supervisor
FIN Finalizado
IST IST
RES Respondido
Tabla 102: Data Inicial para pruebas - EstadoRevisión

TipoRevision
Tipo
RevisionID Descripcion
1 Básica
2 Total
3 Marcha blanca
Tabla 103: Data Inicial para pruebas - TipoRevisión

EventoRevision
RevisionID FechaHora EstadoID UsuarioID Aprobado Observaciones
568 14:35.9 IST 2730
568 16:08.4 CLA 2730 Tiene razón el analizador
568 16:51.3 ASS 2730 Lo pide la gerencia
568 16:51.3 ASG 2728 Lo pide la gerencia
568 27:31.0 RES 2728 N Se recomienda rechazar, es un festival de errores...
568 28:21.6 FIN 2730 N You shall not pass!!!!
569 46:04.1 IST 2730
Página 289
RevisionID FechaHora EstadoID UsuarioID Aprobado Observaciones
569 06:47.3 CLA 2730 Otra vez tiene razón el analizador..
569 07:40.4 ASS 2730 Por favor revisar...
569 07:40.4 ASG 2800 Por favor revisar...
569 13:57.6 RES 2800 N Es la segunda iteración pero sigue con errores importantes.
Por favor revisar nuevamente el programa Genexus, no me
569 15:16.0 DEX 2730 queda claro el análisis
Por favor revisar nuevamente el programa Genexus, no me
569 15:16.0 DEV 2800 queda claro el análisis
569 16:56.0 RES 2800 N Confirmo mi análisis anterior.... sugiero rechazar.
569 18:01.5 FIN 2730 N Existen anomalías que no podemos pasar a Producción.
570 28:29.4 IST 2730
570 37:29.2 CLA 2730 Ojalá la tercera sea la vencida...
570 37:49.1 ASS 2730 Por favor revisar
570 37:49.1 ASG 2728 Por favor revisar
570 39:57.7 RES 2728 S Hasta que por fin acertaron. Ya está bien.
570 41:06.4 FIN 2730 S Aprobado.
571 26:24.8 IST 2730
Se aprueba por marcha blanca porque es de bajo riesgo y no
571 28:58.8 FIN 2730 S tenemos personal.
572 41:42.1 IST 2730
572 45:55.3 CLA 2730 Sí, es total.
572 46:43.0 ASS 2730 revisar
572 46:43.1 ASG 2800 revisar
572 51:25.0 RES 2800 N Se recomienda rechazarlo
572 52:03.8 FIN 2730 N Concuerdo con el analista
573 41:42.4 IST 2730
573 45:36.9 CLA 2730 Me quedo con la básica
573 46:25.6 ASS 2730 revisar
573 46:25.6 ASG 2728 revisar

Página 290
RevisionID FechaHora EstadoID UsuarioID Aprobado Observaciones
573 49:22.2 RES 2728 N Contiene un error muy grave
573 45:46.4 FIN 2730 S Regulatorio SBS.
574 18:13.5 IST 2730
574 19:13.3 CLA 2730 Total
574 20:04.2 ASS 2730 Ninguna
574 20:04.3 ASG 2728 Ninguna
574 29:37.2 RES 2728 S No encontré ningún error.
574 30:37.9 FIN 2730 S Estoy de acuerdo con el analista, aprobado.
575 58:22.6 IST 2730
575 58:59.6 CLA 2730 Dice el analista que resuelve la Carta de Desviación 59
575 59:25.3 ASS 2730 Dice el analista que resuelve la carta de Desviación 59.
575 59:25.3 ASG 2800 Dice el analista que resuelve la carta de Desviación 59.
575 01:05.8 RES 2800 S Ahora está bien, se levantaron las observaciones.
575 05:35.7 FIN 2730 S Aprobado
576 36:41.5 IST 2730
576 37:24.3 CLA 2730 Básica
576 38:06.7 ASS 2730 revisar
576 38:06.7 ASG 2800 revisar
576 40:11.7 RES 2800 N Tiene errores graves. Por favor rechazar.
576 42:12.3 FIN 2730 S Se aprueba con carta.
577 19:43.5 IST 2730
577 20:32.6 CLA 2730 De acuerdo con el clasificador.
577 20:51.4 ASS 2730 Lo pide la gerencia.
577 20:51.4 ASG 2728 Lo pide la gerencia.
578 24:41.3 IST 2730
578 25:33.5 CLA 2730 Conforme.
578 25:54.4 ASS 2730 Lo necesitamos rápido...
578 25:54.5 ASG 2800 Lo necesitamos rápido...
Página 291
RevisionID FechaHora EstadoID UsuarioID Aprobado Observaciones
578 29:18.4 RES 2800 N Se recomienda rechazarlo, tiene errores y es ineficiente.
579 58:22.6 IST 2730
579 58:59.6 CLA 2730 Dice el analista que resuelve la Carta de Desviación 60
579 59:25.3 ASS 2730 Dice el analista que resuelve la carta de Desviación 60
579 59:25.3 ASG 2800 Dice el analista que resuelve la carta de Desviación 60
579 01:05.8 RES 2800 S Ahora está bien, se levantaron las observaciones.
579 05:35.7 FIN 2730 S Aprobado
580 34:41.3 IST 2730
580 35:33.5 CLA 2730 Conforme con la clasificación.
580 35:54.4 ASS 2730 Por favor revisarlo con cuidado...
580 35:54.5 ASG 2800 Por favor revisarlo con cuidado...
580 39:18.4 RES 2800 N Se recomienda rechazarlo, tiene errores y es ineficiente.
581 44:41.4 IST 2730
581 45:33.5 CLA 2730 De acuerdo con el clasificador.
581 45:54.4 ASS 2730 Revisar, gracias...
581 45:54.5 ASG 2800 Revisar, gracias...
581 49:18.4 RES 2800 S La recomendación es aprobarlo.
582 54:41.5 IST 2730
582 55:33.5 CLA 2730 Es correcto.
582 55:54.4 ASS 2730 Favor revisar.
582 55:54.5 ASG 2800 Favor revisar.
582 59:18.4 RES 2800 S Recomiendo la aprobación
Tabla 104: Data Inicial para pruebas - EventoRevisión

Página 292
CheckList
TipoRevisionID TipoDocumentoID
1 1
2 1
2 2
Tabla 105: Data Inicial para pruebas – Checklist

TipoDocumento
Tipo
DocumentoID Descripcion
1 Documento Técnico de Pruebas
2 Documento Funcional
Tabla 106: Data Inicial para pruebas - TipoDocumento

RevisionEstatica
Comp Tablas
AnalisisID Programa UbicacionFte
TipoObjetoID AplicacionID AnalistaID HoraEjecucion Duracion Pase Fuente Navegacion CantLineas Ciclomatica Usadas
2015-08-17 Fuente Navegación FSD030;
687 PLNUP60A G80BTPT GX NU 1433 15:11:07.440 0.133 0 test test 27 1 FSD011
2015-08-17 Fuente
688 LJXX901 BLDEOPBT.QCLSRC CL XX 1433 15:12:18.683 0.047 0 test 29 3
2015-08-17 Fuente
689 LJXX901 BLDEOPBT.QCLSRC CL XX 1433 15:13:33.837 0.001 78430 test 29 3
2015-08-17 Fuente Navegación FSD030;
690 PLNUP60A G80BTPT GX NU 1433 15:13:34.100 0.056 78430 test test 27 1 FSD011
2015-08-17 Fuente
691 LJXX901 BLDEOPBT.QCLSRC CL XX 1433 15:40:45.533 0.001 78430 test 7 1
2015-08-17 Fuente Navegación FSD030;
692 PLNUP60A G80BTPT GX NU 1433 15:40:46.080 0.21 78430 test test 27 1 FSD011

Página 293
Comp Tablas
AnalisisID Programa UbicacionFte TipoObjetoID AplicacionID AnalistaID HoraEjecucion Duracion Pase Fuente Navegacion CantLineas Ciclomatica Usadas
2015-08-17 Fuente
693 LJXX901 BLDEOPBT.QCLSRC CL XX 1433 15:41:54.667 0 78430 test 7 1
2015-08-17 Fuente Navegación FSD030;
694 PLNUP60A G80BTPT GX NU 1433 15:41:54.907 0.086 78430 test test 27 1 FSD011
2015-08-17 Fuente
695 LJXX901 BLDEOPBT.QCLSRC CL XX 1434 15:45:21.577 0 78430 test 7 1
2015-08-17 Fuente Navegación
696 PLNUP60A G80BTPT GX NU 1434 15:45:22.010 0.203 78430 test test 2 1
2015-08-17 Fuente
697 LJXX901 BLDEOPBT.QCLSRC CL XX 1433 18:27:24.467 0.087 78430 test 2 1
2015-08-17 Fuente Navegación
698 PLNUP60A G80BTPT GX NU 1433 18:27:25.623 0.633 78430 test test 2 1
2015-09-17 Fuente
699 LJXX902 BLDEOPBT.QCLSRC CL XX 1433 21:23:51.050 0.096 78431 test 2 1
2015-09-17 Fuente Navegación
700 PLNUP60B G80BTPT GX NU 1433 21:23:51.710 0.388 78431 test test 0 1
2015-09-17 Fuente Navegación
701 PLNUP60C G80BTPT GX NU 1433 22:25:54.997 0.343 78432 test test 10 1 FSD011
2015-09-17 Fuente
702 LJXX904 BLDEOPBT.QCLSRC CL XX 1433 22:32:49.923 0.027 78433 test 2 1
2015-09-17 Fuente
703 LJXX904 BLDEOPBT.QCLSRC CL XX 1433 22:33:25.143 0.001 78433 test 2 1
2015-09-17 Fuente
704 LJXX904 BLDEOPBT.QCLSRC CL XX 1433 22:35:44.053 0 78433 test 2 1
2015-09-17 Fuente
705 LJXX904 BLDEOPBT.QCLSRC CL XX 1433 22:36:59.017 0.001 78433 test 2 1
2015-09-17 Fuente
706 LJXX904 BLDEOPBT.QCLSRC CL XX 1433 22:40:32.353 0 78433 test 2 1
2015-10-18 Fuente
707 LJXX905 BLDEOPBT.QCLSRC CL XX 1433 12:17:45.200 0.173 78434 test 2 1
2015-10-18 Fuente Navegación
708 PLNUP60E G80BTPT GX NU 1433 12:17:46.123 0.237 78434 test test 2 1
2015-10-18 Fuente
709 LJXX904 BLDEOPBT.QCLSRC CL XX 1433 12:57:38.740 0.057 78435 test 2 1
2015-10-18 Fuente Navegación
710 PLNUP60G G80BTPT GX NU 1433 14:34:42.007 0.887 78436 test test 8 1 FSD011
2015-10-18 Fuente Navegación
711 PLNUP60G G80BTPT GX NU 1433 14:35:27.660 0.179 78436 test test 8 1 FSD011

Página 294
Comp Tablas
AnalisisID Programa UbicacionFte TipoObjetoID AplicacionID AnalistaID HoraEjecucion Duracion Pase Fuente Navegacion CantLineas Ciclomatica Usadas
2015-10-18 Fuente
712 LJXX909 BLDEOPBT.QCLSRC CL XX 1433 15:18:53.093 0.133 78438 test 6 1
2015-10-18 Fuente Navegación
713 PLNUP60I G80BTPT GX NU 1433 15:18:53.860 0.248 78438 test test 9 1 FSD011
2015-10-18 Fuente
714 LJXX910 BLDEOPBT.QCLSRC CL XX 1433 15:23:43.690 0 78439 test 6 1
2015-10-18 Fuente Navegación
715 PLNUP60J G80BTPT GX NU 1433 15:23:44.393 0.12 78439 test test 8 1 FSD030
2015-10-18 Fuente
716 LJXX911 BLDEOPBT.QCLSRC CL XX 1433 15:33:58.050 0 78441 test 6 1
2015-10-18 Fuente Navegación
717 PLNUP60A G80BTPT GX NU 1433 15:33:58.347 0.085 78441 test test 8 25 FSD030
2015-10-18 Fuente Navegación
718 PLNUP60G G80BTPT GX NU 1433 20:35:27.660 0.179 78440 test test 8 1 FSD011
2015-10-18 Fuente
719 LJXX711 BLDEOPBT.QCLSRC CL XX 1433 15:33:43.690 0 78442 test 6 1
2015-10-18 Fuente Navegación
720 PLNUP99J G80BTPT GX NU 1433 15:33:44.393 0.12 78442 test test 8 1 FSD030
2015-10-18 Fuente
721 LJXX712 BLDEOPBT.QCLSRC CL XX 1433 15:43:43.690 0 78443 test 6 1
2015-10-18 Fuente
722 LJXX713 BLDEOPBT.QCLSRC CL XX 1433 15:53:43.690 0 78444 test 6 1
2015-10-19 Fuente
723 LJXX905 BLDEOPBT.QCLSRC CL XX 1434 23:53:43.690 0 78445 test 6 1
Tabla 107: Data Inicial para pruebas - RevisiónEstática

HallazgoEstático
AnalisisID Correlativo ErrorID InfoAdicional Observaciones FalsoPositivo RevisionID Item
687 1 A0003 NULL NULL NULL
687 2 A0030 where Scsuc = val('100') NULL NULL NULL
687 3 A0007 same(&scpap, Scpap); NULL NULL NULL
687 4 A0027 NULL NULL NULL

Página 295
AnalisisID Correlativo ErrorID InfoAdicional Observaciones FalsoPositivo RevisionID Item
687 5 A0034 NULL NULL NULL
687 6 A0036 FSD011 NULL NULL NULL
687 7 A0031 Update: Scsdo NULL NULL NULL
687 8 A0031 Delete NULL NULL NULL
688 1 A0009 WSDE ---> RSTOBJ OBJ(*ALL) SAVLIB(WSDEBDRV) DEV(*SAVF) + NULL NULL NULL
688 2 A0009 WSDE ---> SAVF(WSDEBDRV/TASAC) NULL NULL NULL
688 3 A0009 WSDE ---> CLRPFM FILE(WSDEBDRV/LNUD65) NULL NULL NULL
688 4 A0009 WSDE ---> CPYF FROMFILE(WSDEBDRV/FSD012) + NULL NULL NULL
688 5 A0009 WSDE ---> CPYF FROMFILE(WSDEBDRV/LNUD65) + NULL NULL NULL
688 6 A0009 WSDE ---> CPYF FROMFILE(WSDEBDRV/FSD012) + NULL NULL NULL
688 7 A0009 WSDE ---> CPYF FROMFILE(WSDEBDRV/LNUD65) + NULL NULL NULL
688 8 A0001 NULL NULL NULL
688 9 A0002 NULL NULL NULL
688 10 A0003 NULL NULL NULL
688 11 A0004 NULL NULL NULL
688 12 A0005 NULL NULL NULL
688 13 A0006 NULL NULL NULL
689 1 A0009 WSDE ---> RSTOBJ OBJ(*ALL) SAVLIB(WSDEBDRV) DEV(*SAVF) + NULL N 568 1
689 2 A0009 WSDE ---> SAVF(WSDEBDRV/TASAC) NULL N 568 1
689 3 A0009 WSDE ---> CLRPFM FILE(WSDEBDRV/LNUD65) NULL N 568 1
689 4 A0009 WSDE ---> CPYF FROMFILE(WSDEBDRV/FSD012) + NULL N 568 1
689 5 A0009 WSDE ---> CPYF FROMFILE(WSDEBDRV/LNUD65) + NULL N 568 1
689 6 A0009 WSDE ---> CPYF FROMFILE(WSDEBDRV/FSD012) + NULL N 568 1
689 7 A0009 WSDE ---> CPYF FROMFILE(WSDEBDRV/LNUD65) + NULL N 568 1
689 8 A0001 NULL N 568 1
689 9 A0002 NULL N 568 1
689 10 A0003 NULL N 568 1
689 11 A0004 NULL N 568 1
Página 296
AnalisisID Correlativo ErrorID InfoAdicional Observaciones FalsoPositivo RevisionID Item
689 12 A0005 NULL N 568 1
689 13 A0006 NULL N 568 1
690 1 A0003 NULL N 568 2
690 2 A0030 where Scsuc = val('100') interesante. N 568 2
690 3 A0007 same(&scpap, Scpap); NULL N 568 2
690 4 A0027 NULL N 568 2
690 5 A0034 NULL N 568 2
690 6 A0036 FSD011 NULL N 568 2
690 7 A0031 Update: Scsdo NULL N 568 2
690 8 A0031 Delete NULL N 568 2
691 1 A0009 WSDE ---> RSTOBJ OBJ(*ALL) SAVLIB(WSDEBDRV) DEV(*SAVF) + NULL NULL NULL
691 2 A0009 WSDE ---> SAVF(WSDEBDRV/TASAC) NULL NULL NULL
691 3 A0003 NULL NULL NULL
692 1 A0003 NULL NULL NULL
692 2 A0030 where Scsuc = val('100') NULL NULL NULL
692 3 A0007 same(&scpap, Scpap); NULL NULL NULL
692 4 A0027 NULL NULL NULL
692 5 A0034 NULL NULL NULL
692 6 A0036 FSD011 NULL NULL NULL
692 7 A0031 Update: Scsdo NULL NULL NULL
692 8 A0031 Delete NULL NULL NULL
693 1 A0009 WSDE ---> RSTOBJ OBJ(*ALL) SAVLIB(WSDEBDRV) DEV(*SAVF) + NULL NULL NULL
693 2 A0009 WSDE ---> SAVF(WSDEBDRV/TASAC) NULL NULL NULL
693 3 A0003 NULL NULL NULL
694 1 A0003 NULL NULL NULL
694 2 A0030 where Scsuc = val('100') NULL NULL NULL
694 3 A0007 same(&scpap, Scpap); NULL NULL NULL
694 4 A0027 NULL NULL NULL
Página 297
AnalisisID Correlativo ErrorID InfoAdicional Observaciones FalsoPositivo RevisionID Item
694 5 A0034 NULL NULL NULL
694 6 A0036 FSD011 NULL NULL NULL
694 7 A0031 Update: Scsdo NULL NULL NULL
694 8 A0031 Delete NULL NULL NULL
695 1 A0009 WSDE ---> RSTOBJ OBJ(*ALL) SAVLIB(WSDEBDRV) DEV(*SAVF) + NULL N 569 1
695 2 A0009 WSDE ---> SAVF(WSDEBDRV/TASAC) NULL N 569 1
696 1 A0007 same(&scpap, Scpap); NULL N 569 2
697 1 A0000 NULL N 570 1
698 1 A0000 NULL N 570 2
699 1 A0000 NULL 571 1
700 1 A0000 NULL 571 2
701 1 A0030 where Scsuc = val('100') NULL N 572 1
701 2 A0031 Delete NULL N 572 1
702 1 A0003 NULL NULL NULL
703 1 A0003 NULL NULL NULL
704 1 A0003 NULL NULL NULL
705 1 A0003 NULL NULL NULL
706 1 A0003 Confirmado N 573 1
707 1 A0000 NULL 574 1
708 1 A0000 NULL 574 2
709 1 A0000 NULL 575 1
710 1 A0003 NULL NULL NULL
710 2 A0031 Update: Scsdo NULL NULL NULL
711 1 A0031 Update: Scsdo NULL N 576 1
712 1 A0009 WSDE ---> CPYF FROMFILE(WSDEBDRV/FSD012) + NULL 577 1
712 2 A0003 NULL 577 1
713 1 A0003 NULL 577 2
713 2 A0030 where Scsuc = val('100') NULL 577 2
Página 298
AnalisisID Correlativo ErrorID InfoAdicional Observaciones FalsoPositivo RevisionID Item
713 3 A0007 same(&scpap, Scpap); NULL 577 2
713 4 A0031 Delete NULL 577 2
714 1 A0009 WSDE ---> CPYF FROMFILE(WSDEBDRV/FSD011) + NULL N 578 1
715 1 A0003 NULL N 578 2
715 2 A0029 where Scmda = &monedas(1) NULL N 578 2
716 1 A0009 WSDE ---> CPYF FROMFILE(WSDEBDRV/FSD011) + NULL NULL NULL
716 2 A0003 NULL NULL NULL
717 1 A0003 NULL NULL NULL
717 2 A0029 where Scmda = &monedas(1) NULL NULL NULL
717 3 A0007 same(&scpap, Scpap); NULL NULL NULL
718 1 A0000 NULL 579 1
719 1 A0003 NULL N 580 2
720 2 A0029 where Scmda = &monedas(1) NULL N 580 2
721 1 A0000 NULL 581 1
722 1 A0000 NULL 582 1
723 1 A0000 NULL NULL NULL
Tabla 108: Data Inicial para pruebas - HallazgoEstático

Adjunto
RevisionID TipoDocumentoID RutaAdjunto
568 1 ~/Uploads/Revisiones/568-Documento Técnico de Pruebas-275147e2-9b8c-436e-ae0d-
668e9fd15ee1.docx
568 2 ~/Uploads/Revisiones/568-Documento Funcional-4c44e3a5-5955-453d-812b-
67d1bd913d9b.docx
569 1 ~/Uploads/Revisiones/569-Documento Técnico de Pruebas-4bf0fa5d-048a-4036-a933-
6fa35226944c.docx
569 2 ~/Uploads/Revisiones/569-Documento Funcional-223a36b4-1ca2-43a6-9862-
269bbda4a779.docx

Página 299
RevisionID TipoDocumentoID RutaAdjunto
570 1 ~/Uploads/Revisiones/570-Documento Técnico de Pruebas-4da4d1c4-7e88-4c90-af53-
944468a8601e.docx
572 1 ~/Uploads/Revisiones/572-Documento Técnico de Pruebas-4ad2434f-2946-49b0-a578-
bff5ae27db9c.docx
572 2 ~/Uploads/Revisiones/572-Documento Funcional-f01c8990-7667-4235-baba-
da61f0a620a6.docx
573 1 ~/Uploads/Revisiones/573-Documento Técnico de Pruebas-33b92344-6068-4eca-84c9-
35d6a6b6e679.docx
574 1 ~/Uploads/Revisiones/574-Documento Técnico de Pruebas-c67ee84a-f64c-4a04-aa25-
1cb4b310e0a1.docx
574 2 ~/Uploads/Revisiones/574-Documento Funcional-6927b6a5-28ff-439f-83f7-
e9e1f7b6d1b7.docx
575 1 ~/Uploads/Revisiones/575-Documento Técnico de Pruebas-cead1e86-d36b-4568-93fa-
fc8c475121f8.docx
576 1 ~/Uploads/Revisiones/576-Documento Técnico de Pruebas-cdfe2fde-3930-46a9-8b67-
adbd9064968f.docx
578 1 ~/Uploads/Revisiones/578-Documento Técnico de Pruebas-96bcf100-c44e-4fad-a2a5-
7350caea8c6c.docx
578 2 ~/Uploads/Revisiones/578-Documento Funcional-bbed702c-1811-4ab1-a573-
f43db9aa7cda.docx
579 1 ~/Uploads/Revisiones/579-Documento Técnico de Pruebas-cead1e86-d36b-4568-93fa-
fc8c475121f8.docx
580 1 ~/Uploads/Revisiones/580-Documento Técnico de Pruebas-79531fab-f0c2-4523-b6a8-
68fa6732f0ae.docx
580 2 ~/Uploads/Revisiones/580-Documento Funcional-574376df-8c15-4dfa-8ed8-
234357580d56.docx
581 1 ~/Uploads/Revisiones/581-Documento Técnico de Pruebas-026fbe52-28ac-4fc2-b77a-
9e2a57d3ac63.docx
581 2 ~/Uploads/Revisiones/581-Documento Funcional-bbe46002-4489-431e-8604-
fa7f95700c53.docx
582 1 ~/Uploads/Revisiones/582-Documento Técnico de Pruebas-5efe8fd3-a4dd-4a36-964b-
f2c3fd43078c.docx
582 2 ~/Uploads/Revisiones/582-Documento Funcional-79ea4fe1-fa0c-43cd-942d-
8aea28506983.docx
Tabla 109: Data Inicial para pruebas - Adjunto

Página 300
CartaDesviación
CartaID Titulo FechaRegistro FechaVcto FechaLevantamiento ObsRegistro ObsLevantamiento linkCarta EstadoCartaID RevisionLevantaID
59 Pase 2015-10-18 2015-11-12 2015-10-18 Consiguieron finalmente Se levantó a ~/Uploads/Cartas/Carta- 2 575
regulatorio 00:00:00.000 00:00:00.000 13:06:02.400 que les firmen la carta por tiempo. 59-adcd01ed-c6be-4abc-
SBS 13456 ser un tema regulatorio. b747-fa0b90b22740.pdf
60 Pase 2015-10-18 2015-11-30 NULL Se trata de una NULL ~/Uploads/Cartas/Carta- 1 NULL
Regulatorio 00:00:00.000 00:00:00.000 emergencia por la fecha 60-e0d5c80a-4009-4a38-
557 modificada por SUNAT. 916d-739255449d0f.pdf
61 Pase Visa 2015-10-18 2015-11-30 NULL Compromiso con la NULL ~/Uploads/Cartas/Carta- 1 NULL
00:00:00.000 00:00:00.000 marca. 61-ffccc23a-4019-4a38-
916d-739255488aab.pdf
Tabla 110: Data Inicial para pruebas - Carta Desviación

EstadoCarta
EstadoCartaID Descripcion
1 Abierta
2 Cerrada
Tabla 111: Data Inicial para pruebas – EstadoCarta

Aplicación
AplicacionID Nombre
99 APLICACION DESCONOCIDA
AD ADMINISTRACION
AG OPERACIONES AGENCIAS
C1 CONTABILIDAD UNICA
C4 CONTABILIDAD UNICA BT4
CB CAMBIOS
CD COMPEN.TIEMPO D SERVICIOS
Página 301
AplicacionID Nombre
CP CUENTAS Y PERSONAS
CT CUENTAS Y PERSONAS
CU CONTABILIDAD UNICA
CX COMERCIO EXTERIOR
EV ESTADÍSTICAS BCA.VIRTUAL
FM FONDOS MUTUOS
FZ FIANZAS
GT GARANTIAS
IS INFORMACION SBS - ANEXO 5
IV INVIERTE EN TI
LC LINEAS CREDITO
MI MI VIVIENDA - PASIVA
MP MEDIANO PLAZO
OPERACIONES AGENCIAS-
OA ADMI
P2 PRESTAMOS
PP PROYECTO PAGUM
PT PRESTAMOS
PV PROVISIONES
RC RIESGO CAMBIARIO CREDITIC
RE RECAUDACIONES
RF REFINANCIADOS
RT BANCA RETAIL
ST S.A.T.
T1 CANAL MASTERCARD
TA TARJETA DE CREDITO
TP TRIAD PROJECT
TW OFFICE BANKING

Página 302
AplicacionID Nombre
VA VARIOS
VN INFORMAC.Y BANCA ESPECIAL
WC SWITCH ABMS
WF WORKFLOW
WR CAJEROS CORRESP.WEB-RPG
XC COBRANZAS DE CAMPO
XX CONTROL DE CAMBIOS
Tabla 112: Data Inicial para pruebas - Aplicación

Numerador
NumeradorID Numero
AUDT 14
CART 61
IST 582
STAT 723
Tabla 113: Data Inicial para pruebas - Numerador

Error
ErrorID Descripcion AnalizadorEstatico TipoErrorID
A0000 No se detectó ningún hallazgo estático 1 4
La documentación no contiene información del sistema al que pertenece el
A0001 programa 1 2
La documentación no contiene información del subsistema al que pertenece el
A0002 programa 1 2
A0003 La documentación no contiene el nombre del programa 1 2

Página 303
ErrorID Descripcion AnalizadorEstatico TipoErrorID
A0004 La documentación no contiene la descripción del programa 1 2
A0005 La documentación no contiene al autor del programa 1 2
A0006 La documentación no contiene la fecha de creación del programa 1 2
A0007 Se utiliza la regla no documentada SAME 1 2
A0008 Tiene COMMIT_ON_EXIT en NO y tiene COMMIT explícito 1 1
A0009 Se encontraron referencias a bibliotecas de desarrollo 1 2
A0010 Se encontraron durezas de nombre de banco 1 2
A0011 Se encontraron durezas de nombre de moneda 1 2
A0012 Se encontraron durezas de signo de moneda 1 2
A0014 Se encontraron comandos restringidos 1 2
Se encontraron comandos que requieren autorización, coordinar con Seguridad
A0015 Informática 1 3
A0016 Nomenclatura en CL no es válida 1 2
A0017 Nomenclatura Genexus no es válida 1 2
A0018 Se utilizan campos de código de ejecutivo y no se utiliza rutina genérica 1 1
A0019 Manejo del Ciclo de Compromiso no corresponde con la definición del RTE 1 2
A0020 Tiene COMMITMENT DISABLED y maneja ciclo de compromiso 1 2
A0022 Workpanel en pleno ciclo de compromiso 1 2
A0023 Asignación directa de empresa 1 2
A0024 No se encontró &Pgmname en información mostrada 1 2
A0025 No se encontró &Today en información mostrada 1 2
A0026 No se encontró &Time en información mostrada 1 2
A0027 When none corrompe la variable interna &line si tiene printer file 1 2
A0028 For Each sin defined by 1 2
A0029 Uso de arreglos en where limita el uso de índices 1 2
A0030 Uso de funciones en where limita el uso de índice 1 2
A0031 Alteración directa al archivo de saldos 1 2
Parámetros con longitud fija en la llamada, valide la longitud de las variables
A0032 del programa invocado 1 2
Página 304
ErrorID Descripcion AnalizadorEstatico TipoErrorID
A0033 Lista de Navegación indica uso de índice temporal 1 2
A0034 Propiedad Report Output debe ser Only to Printer para impresos 1 2
A0035 Propiedad Confirmation no debe ser Always Prompt para impresos 1 2
A0036 Full Scan a la tabla 1 1
H0000 No se detectó ningún hallazgo 0 4
H0001 Cancela en tiempo de ejecución 0 2
H0002 Lógica de Programación 0 2
H0003 Ortografía 0 2
H0004 Diseño de algoritmo 0 2
H0005 Archivo mal diseñado 0 2
H0006 Índice mal diseñado 0 2
H0007 Seguridad 0 2
H0008 Validación de input 0 2
H0009 Otro 0 2
H9999 Falso negativo del analizador estático 0 2
Tabla 114: Data Inicial para pruebas - Error

TipoError
TipoErrorID Descripcion
1 Warning
2 Error
3 Informativo
4 None
Tabla 115: Data Inicial para pruebas – TipoError

Página 305
TipoParametro

TipoParametroID Descripcion ModoPresentacion


1 Analizador - Campos de Ejecutivo T
2 Analizador - Campos protegidos FSD011 T
3 Analizador - Comandos restringidos T
4 Analizador - Comandos que requieren autorización T
5 Analizador - Durezas - Bibliotecas Desarrollo T
6 Analizador - Durezas - Nombres de banco T
7 Analizador - Durezas - Nombres de moneda T
8 Analizador - Durezas - Signos de moneda T
9 Clasificador - Programas críticos T
10 Clasificador - Aplicación crítica T
11 Clasificador - Cálculos N
12 Esfuerzo - Tipo de Objeto N
13 Esfuerzo - Tipo de Revisión N
14 Esfuerzo - Complejidad Ciclomática N
15 Esfuerzo - Cantidad de líneas N

Tabla 116: Data Inicial para pruebas - TipoParametro

Parámetro
TipoParametroID Correlativo Cadena1 Cadena2 Cadena3 Importe1 Importe2 Importe3
1 1 =EJCOD NULL NULL NULL NULL
1 2 =EJCODEXT NULL NULL NULL NULL
1 3 =CTEJCT NULL NULL NULL NULL
1 4 EJCOD= NULL NULL NULL NULL
1 5 EJCODEXT= NULL NULL NULL NULL

Página 306
TipoParametroID Correlativo Cadena1 Cadena2 Cadena3 Importe1 Importe2 Importe3
1 6 CTEJCT= NULL NULL NULL NULL
2 1 pgcod NULL NULL NULL NULL
2 2 scsuc NULL NULL NULL NULL
2 3 scrub NULL NULL NULL NULL
2 4 scmda NULL NULL NULL NULL
2 5 scpap NULL NULL NULL NULL
2 6 sccta NULL NULL NULL NULL
2 7 scoper NULL NULL NULL NULL
2 8 scsbop NULL NULL NULL NULL
2 9 sctope NULL NULL NULL NULL
2 10 scmod NULL NULL NULL NULL
2 11 scfcon NULL NULL NULL NULL
2 12 scfval NULL NULL NULL NULL
2 13 scfvto NULL NULL NULL NULL
2 14 scfulm NULL NULL NULL NULL
2 15 scpzo NULL NULL NULL NULL
2 16 scsdo NULL NULL NULL NULL
2 17 scsdoh NULL NULL NULL NULL
2 18 scsegm NULL NULL NULL NULL
2 19 scfunc NULL NULL NULL NULL
2 20 scstat NULL NULL NULL NULL
2 21 sccc NULL NULL NULL NULL
2 22 sctit NULL NULL NULL NULL
2 23 sccap NULL NULL NULL NULL
2 24 scplzo NULL NULL NULL NULL
2 25 scgru NULL NULL NULL NULL
3 1 ADDLIBLE NULL NULL NULL NULL
3 2 DLTLIB NULL NULL NULL NULL
Página 307
TipoParametroID Correlativo Cadena1 Cadena2 Cadena3 Importe1 Importe2 Importe3
3 3 CLRLIB NULL NULL NULL NULL
3 4 DLTSPLF NULL NULL NULL NULL
4 1 RUNSQLSTM NULL NULL NULL NULL
4 2 RUNQRY NULL NULL NULL NULL
4 3 FTP NULL NULL NULL NULL
4 4 CPYSPLF NULL NULL NULL NULL
5 1 WSDE NULL NULL NULL NULL
5 2 BLDE NULL NULL NULL NULL
5 3 GTDE NULL NULL NULL NULL
5 4 CSDE NULL NULL NULL NULL
5 5 DLDE NULL NULL NULL NULL
6 1 WIESE NULL NULL NULL NULL
6 2 BWS NULL NULL NULL NULL
6 3 B.W.S NULL NULL NULL NULL
6 4 CREDISCOTIA NULL NULL NULL NULL
6 5 CREDI SCOTIA NULL NULL NULL NULL
6 6 CSF NULL NULL NULL NULL
6 7 SCOTIABANK NULL NULL NULL NULL
6 8 SCOTIA BANK NULL NULL NULL NULL
6 9 SBP NULL NULL NULL NULL
6 10 S.B.P NULL NULL NULL NULL
7 1 NUEVOS SOLES NULL NULL NULL NULL
7 2 SOLES NULL NULL NULL NULL
7 3 DOLARES NULL NULL NULL NULL
7 4 DÓLARES NULL NULL NULL NULL
8 1 S/. NULL NULL NULL NULL
8 2 US$ NULL NULL NULL NULL
9 1 PNUPE206 NULL NULL NULL NULL
Página 308
TipoParametroID Correlativo Cadena1 Cadena2 Cadena3 Importe1 Importe2 Importe3
9 2 PLVAR77Z NULL NULL NULL NULL
10 1 AP NULL NULL NULL NULL
11 1 Umbral Complejidad Ciclomática NULL 25 NULL NULL
11 2 Umbral Ratio Total Hallazgos - Analista NULL 0.2 NULL NULL
11 3 Umbral Ratio Total Hallazgos - Programa NULL NULL 0.2 NULL NULL
11 4 Umbral Ratio Últimos Hallazgos - Analista NULL NULL 0.2 NULL NULL
11 5 Umbral Ratio Últimos Hallazgos - Programa NULL NULL 0.2 NULL NULL
11 6 N últimas revisiones - Analista NULL NULL 3 NULL NULL
11 7 N últimas revisiones - Programa NULL NULL 3 NULL NULL
12 1 Procedure GX NULL NULL 1.2 NULL NULL
12 2 Reporte GX NULL NULL 1.3 NULL NULL
12 3 Workpanel GX NULL NULL 1.4 NULL NULL
12 4 Transaction GX NULL NULL 1.4 NULL NULL
12 5 CL NULL NULL 1.1 NULL NULL
12 6 Programa AS/400 NULL NULL 1.5 NULL NULL
12 9 Archivo NULL NULL 1 NULL NULL
13 1 Básica NULL NULL 1 NULL NULL
13 2 Total NULL NULL 1.5 NULL NULL
14 1 Programa simple NULL NULL 1 NULL NULL
14 2 Programa medio NULL NULL 1.2 NULL NULL
14 3 Programa complejo NULL NULL 1.5 NULL NULL
14 4 Programa muy complejo NULL NULL 1.8 NULL NULL
15 1 Programa corto NULL NULL 1 NULL NULL
15 2 Programa mediano NULL NULL 1.1 NULL NULL
15 3 Programa grande NULL NULL 1.3 NULL NULL

Tabla 117: Data Inicial para pruebas - Parámetro

Página 309
TipoObjeto
TipoObjetoID Descripción
AS Programa AS/400
CL CL
GX Genexus
PF Archivo
Tabla 118: Data Inicial para pruebas - TipoObjeto

Auditoria
Auditoria Fecha Fecha Fecha Fecha Obs Obs ObsCierre Estado Auditor
ID Solicitud LimiteEntrega Respuesta Cierre Solicitud Respuesta AuditoriaID Solicitante

13 2015-08-01 2015-08-20 2015-08-18 2015-08-28 Revisión Se entrega la información dos Se cierra la 3 2729
00:00:00.000 00:00:00.000 00:00:00.000 00:00:00.000 anual SOX días antes del vencimiento. Auditoría, revisaron
rápido.
14 2015-10-18 2015-12-18 NULL NULL Auditoría NULL NULL 1 2729
00:00:00.000 00:00:00.000 PWC

Tabla 119: Data Inicial para pruebas – Auditoria

Auditoria_Revision
AuditoriaID RevisionID
13 568

14 568

13 569
14 569
13 570
14 570
Página 310
AuditoriaID RevisionID
13 571
14 571
13 572
14 572
13 573
14 573
13 574
Tabla 120: Data Inicial para pruebas - Auditoria_Revision

EstadoAuditoria
Estado
AuditoriaID Descripcion
1 En Curso
2 Respondida
3 Cerrado
Tabla 121: Data Inicial para pruebas - EstadoAuditoria

Area
AreaID Descripcion
1 Desarrollo 1
2 IST
3 Auditoría
999 Sistema
Tabla 122: Data Inicial para pruebas - Area

Página 311
Rol
RolID Descripcion
1 Analista Desarrollo
2 Analista de IST
3 Jefe de IST
4 Auditor
999 Administrador
Tabla 123: Data Inicial para pruebas - Rol

AreaRol
AreaID RolID
1 1
2 2
2 3
3 4
999 999
Tabla 124: Data Inicial para pruebas - AreaRol

Usuario
Usuario Nombre Apellido Apellido Mail Password Login Fecha AreaI RolI Habilitad
ID Paterno Materno Invalido UltPassword D D o
s
1433 Juan Perea Analista desarrollador1@sbp.com.pe NULL 0 NULL 1 1 1
Desarrollo
1434 Claudia Valdivia Analista desarrollador2@sbp.com.pe NULL 0 NULL 1 1 1
Desarrollo

Página 312
Usuario Nombre Apellido Apellido Mail Password Login Fecha AreaI RolI Habilitad
ID Paterno Materno Invalido UltPassword D D o
s
2728 Roberto Torres AnalistaIS analistaIST@sbp.com.pe $2a$06$xuj3aS1pGnFNEd7rSedrM.8LHKQ2Yo6geIbmcgCvx8gZQhSlPxCDe 0 2015-11-01 2 2 1
T 22:22:38.673
2729 Jorge Campos Auditor auditor1@sbp.com.pe NULL 0 NULL 3 4 1
2730 Víctor Peralta Supervisor SupervisorIST1@sbp.com.p $2a$06$CBe4aPOgnLv2xEGYmGKoI.tMelMvNlaU9qI4NLLA6elfv9RlHX7O2 0 2015-11-01 2 3 1
e 22:22:38.673
2800 Juana Rojas AnalistaIS analistaIST@sbp.com.pe $2a$06$8ZGULV3oQUlvdiH.4VPgGuScvGhE/ycbRE7dSZXeqq/6KNRYNLTQ 0 2015-01-01 2 2 1
T C 00:00:00.000
2801 Mario Barrios Auditor auditor2@sbp.com.pe NULL 0 NULL 3 4 1
2900 Julio Rivero Admin admin@sbp.com.pe $2a$06$3GPKMot5WMYJ5yXKZhRgUuDuiaDKsB83PndK8AMlcuTseUH8Mp 0 2015-10-26 999 999 1
Og. 10:51:03.250

Tabla 125: Data Inicial para pruebas - Usuario

7.3.2. AS/400
FST043
EXTCOD EXTNOM EXTPRG EXTPRL EXTEJE EXTMOM
99009 Test tesis PLNUP99Q P C
99010 Test tesis PLNUP99R P P
99011 Test tesis WLNUP99S P R
RTE Previo - Commit
99922 OK PLXXP28 P P
RTE Previo - Commit
99923 KO PLXXP29 P P
RTE Post - Commit
99924 OK PLXXP30 P C
RTE Post - Commit
99925 KO PLXXP31 P C
99926 RTE Anulación - PLXXP32 P R
Commit OK

Página 313
EXTCOD EXTNOM EXTPRG EXTPRL EXTEJE EXTMOM
RTE Anulación -
99927 Commit KO PLXXP33 P R
Tabla 126: Data Inicial para pruebas - FST043

LADD50
PGCOD ADHOJA50 ADCODREG ADDESCAM ADUSU50 ADTIPSOL ADDESMOM ADNUMSERV ADSTS50
HORARIO
1 78441 1433 Prueba del Sistema 11 1433 N NORMAL 9394 IST
HORARIO
1 78445 1434 Prueba del Sistema 15 1434 N NORMAL 9397 IST
Tabla 127: Data Inicial para pruebas - LADD50

LADD51
ADHOJA50 ADSECUEN ADORIGEN ADMODEL51 ADCOMPO51 ADTIPO51 ADATRIB51 ADDESCAMB ADLIBORI ADLIBDES ADLIBAS51 ADARCAS51
Prueba
78441 16 AS LJXX911 *PGM CLP Analizador BLDEOPBT BLPRPGBT BLDEOPBT QCLSRC
Prueba
78441 17 GX G80BTPT PLNUP60A *PGM RPGLE Analizador BLDEPGBT BLPRPGBT BLDEPGBT
Prueba
78441 18 AS LRFD01 *FILE PF Analizador BLDEBDBT BLPRBDBT BLDEBDBT BLDEBDBT
Prueba
78441 19 AS PLPPP88X *PGM RPG Analizador BLDEOPBT BLPRPGBT BLDEOPBT QRPGSRC
Prueba
78445 16 AS LJXX905 *PGM CLP Analizador BLDEOPBT BLPRPGBT BLDEOPBT QCLSRC
Tabla 128: Data Inicial para pruebas - LADD51

Página 314
7.4. Pruebas Funcionales
Para la elaboración de la presente sección se tomó en consideración la publicación “Generating Test Cases from Uses Cases” de Jim Heumann
[51].

7.4.1. Caso de Pruebas: CUS01-Analizar Código Fuente Genexus

7.4.1.1. Clases de Equivalencia

DEFINICIÓN DE LAS CLASES DE EQUIVALENCIA

Condición de Tipo Clases Válidas Clases No válidas


Entrada
Código Entrada Observaciones Código Entrada
Nombre del Alfanumérico CE_V01 Texto que CE_E01 Texto que NO cumple con lo que se indica en
programa cumple con lo la RN_21
que se indica en CE_E02 En blanco
la RN_21.

Ubicación del Alfanumérico CE_V02 Cualquier La validación de la CE_E03 En blanco


Fuente cadena de existencia de la
caracteres. ubicación la realiza
el programa
GxCompile.

Página 315
DEFINICIÓN DE LAS CLASES DE EQUIVALENCIA

Condición de Tipo Clases Válidas Clases No válidas


Entrada
Código Entrada Observaciones Código Entrada
Fuente del Alfanumérico CE_V03 Código fuente CE_E04 En blanco
programa a Genexus que no CE_E05 Fuente no corresponde con el nombre del
analizar presenta la objeto enviado
anomalía que se CE_E06 Fuente con asignación directa de empresa
está CE_E07 Fuente de tipo reporte cuya propiedad
inspeccionando. Confirmation es "Always Prompt"
CE_E08 Reporte con Output diferente a "Only to
Printer"
CE_E09 Programa con COMMIT_ON_EXIT en NO y
no tiene COMMIT explícito
CE_E10 Programa que tiene COMMIT o ROLLBACK
explícito y COMMITMENT DISABLED
CE_E11 Programa con regla Same
CE_E12 Programa con When none y tiene printer file
CE_E13 La documentación no contiene información del
sistema al que pertenece el programa
CE_E14 La documentación no contiene información del
subsistema al que pertenece el programa
CE_E15 La documentación no contiene el nombre del
programa
CE_E16 La documentación no contiene la descripción
del programa
CE_E17 La documentación no contiene al autor del
programa

Página 316
DEFINICIÓN DE LAS CLASES DE EQUIVALENCIA

Condición de Tipo Clases Válidas Clases No válidas


Entrada
Código Entrada Observaciones Código Entrada
CE_E18 La documentación no contiene la fecha de
creación del programa
CE_E19 Programa con durezas de nombre del Banco
CE_E20A Programa con durezas de nombre de moneda
CE_E20B Programa con durezas de signo de moneda
CE_E21 Programa que utiliza arreglos en la sentencia
Where
CE_E22 Programa que utiliza funciones en la sentencia
Where
CE_E23 Programa que hace call con parámetros de
longitud fija
CE_E24 Programa no tiene &Pgmname en la cabecera
CE_E25 Programa no tiene &Today en la cabecera
CE_E26 Programa no tiene &Time en la cabecera
CE_E27 Programa que utiliza campos de código de
ejecutivo y no se utiliza rutina genérica
CE_E28 Programa cuya definición de commit no
corresponde al momento del RTE en el cual
está registrado
CE_E29 Workpanel registrado como RTE en ciclo de
compromiso
CE_E30 Programa que utiliza for each sin defined by
CE_E31 Programa que realiza insert directo a FSD011
(saldos)

Página 317
DEFINICIÓN DE LAS CLASES DE EQUIVALENCIA

Condición de Tipo Clases Válidas Clases No válidas


Entrada
Código Entrada Observaciones Código Entrada
CE_E32 Programa que realiza update directo a FSD011
(saldos)
CE_E33 Programa que realiza delete directo a FSD011
(saldos)
CE_E34 Programa que genera índice temporal para
lectura
CE_E35 Programa que realiza full scan de una tabla

Lista de Alfanumérico CE_V04 Lista de CE_E36 Texto que no corresponde a una Lista de
Navegación del Navegación de Navegación de Genexus
programa a Genexus CE_E37 En blanco
analizar CE_E38 Lista válida pero no corresponde al programa
fuente
Código del Numérico CE_V05 Código de CE_E39 En blanco
analista que empleado
solicita el análisis registrado en el CE_E40 Código de empleado no registrado en el
sistema sistema de IST.

Número de Pase a Numérico CE_V06 Un número Es opcional, No aplica.


Producción entero solamente se envía
(solamente en caso cuando el análisis es
el programa a parte del flujo de
analizar forme control de cambios.
parte de un Pase a

Página 318
DEFINICIÓN DE LAS CLASES DE EQUIVALENCIA

Condición de Tipo Clases Válidas Clases No válidas


Entrada
Código Entrada Observaciones Código Entrada
Producción) CE_V07 0 La validación de la
existencia de la
ubicación la realiza
el programa
GxCompile.
Tabla 129: Caso de Pruebas: CUS01 - Clase de Equivalencia

Página 319
7.4.1.2. Escenarios de Prueba y Registro de Resultados

7.4.1.2.1. Escenario de Prueba: Parámetros de Entrada en Blanco


Data Inicial: Ver sección 7.3.
Flujo asociado: 4.8.1.6.1.
Caso de Prueba Automatizado: ParametrosGX_Test

CP Desc. Nombre del Ubicación Fuente Fuente del programa Lista de Navegación Código del Nro. de Pase Resultado Resultado
programa analista Esperado Obtenido

C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor

1 Programa en CE_E02 Blanco CE_V02 G80BTRV CE_V03 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 Exception que OK
blanco programa Navegación indica "El
PLXXP45 del nombre del
programa programa no
PLXXP45 puede estar en
blanco"

2 Ubicación en CE_V01 PLXXP45 CE_E03 Blanco CE_V03 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 Exception que OK
blanco programa Navegación indica "La
PLXXP45 del ubicación del
programa fuente no puede
PLXXP45 estar en blanco"

3 Fuente en CE_V01 PLXXP45 CE_V02 G80BTRV CE_E04 Blanco CE_V04 Lista de CE_V05 1433 CE_V07 0 Exception que OK
blanco Navegación indica "El fuente
del no puede estar
programa en blanco"
PLXXP45

Página 320
CP Desc. Nombre del Ubicación Fuente Fuente del programa Lista de Navegación Código del Nro. de Pase Resultado Resultado
programa analista Esperado Obtenido

C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor

4 Lista de CE_V01 PLXXP45 CE_V02 G80BTRV CE_V03 Fuente del CE_E37 Blanco CE_V05 1433 CE_V07 0 Exception que OK
navegación en programa indica "La lista
blanco PLXXP45 de navegación
no puede estar
en blanco"
5 Analista en CE_V01 PLXXP45 CE_V02 G80BTRV CE_V03 Fuente del CE_V04 Lista de CE_E39 Blanco CE_V07 0 Exception que OK
blanco programa Navegación indica "El código
PLXXP45 del de analista no
programa puede estar en
PLXXP45 blanco"

6 Analista no CE_V01 PLXXP37 CE_V02 G80BTRV CE_V03 Fuente del CE_V04 Lista de CE_E40 6666 CE_V07 0 Exception que OK
existe programa Navegación indica "El código
PLXXP37 del de analista no se
programa encuentra
PLXXP37 registrado”

Tabla 130: Caso de Pruebas: CUS01 - Parámetros de Entrada en Blanco

Resultados de la ejecución de los casos de Prueba


Ver Anexo 9.

7.4.1.2.2. Escenario de Prueba: Fuente y Lista de Navegación no corresponden


Data Inicial: Ver sección 7.3
Página 321
Flujo en caso de uso: 4.8.1.6.2 y 4.8.1.6.3.
Caso de Prueba Automatizado:
FuenteNoCorresponde_Test
ListaDeNavegacionNoCorresponde1_Test
ListaDeNavegacionNoCorresponde2_Test

CP Desc. Nombre del Ubicación Fuente Fuente del programa Lista de Navegación Código del Nro. de Pase Resultado Resultado
programa analista Esperado Obtenido

C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor

7 Fuente no CE_V01 PLXXP12 CE_V02 G80BTRV CE_E05 Contenido CE_V04 Lista de CE_V05 1433 CE_V07 0 Exception que OK
corresponde del archivo Navegación del indica "Fuente
con el nombre PLXXP12 programa no
del objeto (no es un PLXXP12 corresponde
enviado XML de con el nombre
Genexus) del objeto
enviado"

8 Lista de CE_V01 PLXXP37 CE_V02 G80BTRV CE_V03 Fuente del CE_E38 Lista de CE_V05 1433 CE_V07 0 Exception que OK
Navegación no programa Navegación del indica "Lista de
corresponde al PLXXP37 programa Navegación no
objeto PLXXP45D corresponde al
analizado. objeto
analizado."

9 Lista de CE_V01 WLXXP37 CE_V02 G80BTRV CE_V03 Fuente del CE_E38 Lista de CE_V05 1433 CE_V07 0 Exception que OK
Navegación no programa Navegación indica "Lista de
corresponde al WLXXP37 tiene un tag Navegación no
objeto XML que dice corresponde al
analizado. que es del objeto
programa analizado."
WLXXP37XXX
Tabla 131: Caso de Pruebas: CUS01 - Fuente y Navegación no corresponden

Página 322
Resultados de la ejecución de los casos de prueba
Ver Anexo 9.

7.4.1.2.3. Escenario de Prueba: Programa sin ninguna anomalía


Data Inicial: Ver sección 7.3
Flujo en caso de uso: 4.8.1.4.a, b
Caso de Prueba Automatizado: SinAnomalia_Test

CP Desc. Nombre del Ubicación Fuente Fuente del programa Lista de Navegación Código del Nro. de Pase Resultado Resultado
programa analista Esperado Obtenido

C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor

10 Programa sin CE_V01 TLPTD03 CE_V02 G80BTRV CE_V03 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 Retorna A0000 OK
ninguna programa Navegación (No se encontró
anomalía TLPTD03 del ninguna
programa anomalía)
TLPTD03

Tabla 132: Caso de Pruebas: CUS01 - Programa sin anomalías

Resultados de la ejecución de los casos de prueba


Ver Anexo 9.

7.4.1.2.4. Escenario de Prueba: Documentación Incompleta


Data Inicial: Ver sección 7.3
Página 323
Flujo en caso de uso: 4.8.1.4.a, b
Caso de Prueba Automatizado: Documentacion_Test

CP Desc. Nombre del programa Ubicación Fuente Fuente del programa Lista de Navegación Código del Nro. de Pase Resultado Resultado
analista Esperado Obtenido

C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor

11 No tiene CE_V01 PLXXP03 CE_V02 G80BTRV CE_E13, Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 Genera OK
documentación CE_E14, programa Navegación Hallazgos
alguna CE_E15, PLXXP03 del programa A0001,
CE_E16, PLXXP03 A0002,
CE_E17, A0003,
CE_E18 A0004,
A0005,
A0006

12 No tiene CE_V01 TLXXD01 CE_V02 G80BTRV CE_E13, Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 Genera OK
documentación CE_E14, programa Navegación Hallazgos
alguna CE_E15, TLXXD01 del programa A0001,
CE_E16, TLXXD01 A0002,
CE_E17, A0003,
CE_E18 A0004,
A0005,
A0006
13 Tiene CE_V01 PPFMP02 CE_V02 G80BTRV CE_E14, Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 Genera Ok
documentación CE_E17 programa Navegación Hallazgos
pero tiene mal PPFMP02 del programa A0002,
dos de los PPFMP02 A0005
campos

14 Documentación CE_V01 wLT1Q63 CE_V02 G80BTRV CE_E14 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 Genera Ok
en múltiples programa Navegación Hallazgo
líneas. Le falta el wLT1Q63 del programa A0002
subsistema. wLT1Q63

Página 324
CP Desc. Nombre del programa Ubicación Fuente Fuente del programa Lista de Navegación Código del Nro. de Pase Resultado Resultado
analista Esperado Obtenido

C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor

15 Documentación CE_V01 PPWFP73A CE_V02 G80BTRV CE_V03 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 No genera OK
completa. No programa Navegación los
debe dar error. PPWFP73A del programa Hallazgos
PPWFP73A A0001,
A0002,
A0003,
A0004,
A0005,
A0006
16 Tiene formato CE_E01 PLC4001 CE_V02 G80BTRV CE_V03 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 No genera OK
HTML en la programa Navegación los
Documentación PLC4001 del programa Hallazgos
<span> y PLC4001 A0001,
<strong> A0002,
A0003,
A0004,
A0005,
A0006
17 Nombre de CE_V01 PLTAP101A CE_V02 G80BTRV CE_E15 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 Genera el OK
objeto en programa Navegación Hallazgo
documentación PLTAP101A del programa A0003
(con error) PLTAP101A

18 Nombre de CE_E01 PTSTDOC1 CE_V02 G80BTRV CE_E15 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 Genera el OK
objeto en programa Navegación Hallazgo
documentación PTSTDOC1 del programa A0003
(con error) PTSTDOC1

Página 325
CP Desc. Nombre del programa Ubicación Fuente Fuente del programa Lista de Navegación Código del Nro. de Pase Resultado Resultado
analista Esperado Obtenido

C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor

19 Nombre de CE_E01 PTSTDOC2 CE_V02 G80BTRV CE_V03 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 No Genera OK
objeto en programa Navegación el Hallazgo
documentación PTSTDOC2 del programa A0003
(caso correcto) PTSTDOC2

20 Nombre de CE_E01 PTSTDOC5 CE_V02 G80BTRV CE_V03 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 No Genera OK
objeto en programa Navegación el Hallazgo
documentación PTSTDOC5 del programa A0003
(caso correcto) PTSTDOC5

21 Nombre de CE_E01 PGRTP411 CE_V02 G80BTRV CE_V03 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 No Genera OK
objeto en programa Navegación el Hallazgo
documentación PGRTP411 del programa A0003
(caso correcto) PGRTP411

Tabla 133: Caso de Pruebas: CUS01 - Documentación Incompleta

Resultados de la ejecución de los casos de Prueba


Ver Anexo 9.

7.4.1.2.5. Escenario de Prueba: Reglas Genexus Indebidas

Página 326
Data Inicial: Ver sección 7.3
Flujo en caso de uso: 4.8.1.4.a, b
Caso de Prueba Automatizado: RulesGenexusIndebidas_Test

CP Desc. Nombre del Ubicación Fuente Fuente del programa Lista de Navegación Código del Nro. de Pase Resultado Esperado Resultado
programa analista Obtenido

C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor
22 Programa con CE_V01 PLXXP13 CE_V02 G80BTRV CE_E11 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 Genera Hallazgo OK
regla Same programa Navegación A0007, same(&pgcod,
PLXXP13 del Pgcod);
programa
PLXXP13
Tabla 134: Caso de Pruebas: CUS01 - Reglas Genexus indebidas

Resultados de la ejecución de los casos de Prueba


Ver Anexo 9.

Página 327
7.4.1.2.6. Escenario de Prueba: COMMIT_ON_EXIT en NO y tiene COMMIT explícito
Data Inicial: Ver sección 7.3
Flujo en caso de uso: 4.8.1.4.a, b
Caso de Prueba Automatizado: CommitExplicito_Test

CP Desc. Nombre del Ubicación Fuente Fuente del programa Lista de Navegación Código del Nro. de Pase Resultado Esperado Resultado
programa analista Obtenido

C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor
23 Commit CE_V01 PLXXP01 CE_V02 G80BTRV CE_E09 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 Genera Hallazgo OK
explícito programa Navegación A0008
PLXXP01 del
programa
PLXXP01

24 Commit CE_V01 PLXXP02 CE_V02 G80BTRV CE_E09 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 Genera Hallazgo OK
explícito programa Navegación A0008
PLXXP02 del
programa
PLXXP02

25 Commit CE_V01 PGDOP05 CE_V02 G80BTRV CE_E09 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 Genera Hallazgo OK
explícito programa Navegación A0008
PGDOP05 del
programa
PGDOP05

Página 328
CP Desc. Nombre del Ubicación Fuente Fuente del programa Lista de Navegación Código del Nro. de Pase Resultado Esperado Resultado
programa analista Obtenido

C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor
26 Commit CE_V01 PLPVP69A CE_V02 G80BTRV CE_E09 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 Genera Hallazgo OK
explícito programa Navegación A0008
PLPVP69A del
programa
PLPVP69A

27 Commit CE_V01 PLXXP38A CE_V02 G80BTRV CE_E09 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 Genera Hallazgo OK
explícito programa Navegación A0008
PLXXP38A del
programa
PLXXP38A

Tabla 135: Caso de Pruebas: CUS01 - Commit on Exit

Resultados de la ejecución de los casos de Prueba


Ver Anexo 9.

7.4.1.2.7. Escenario de Prueba: Valida Durezas de Nombre del Banco


Data Inicial: Ver sección 7.3
Flujo en caso de uso: 4.8.1.4.a, b
Caso de Prueba Automatizado: DurezaNombreBanco_Test

Página 329
CP Desc. Nombre del Ubicación Fuente Fuente del Lista de Navegación Código del Nro. de Pase Resultado Esperado Resultado
programa programa analista Obtenido

C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor

28 Durezas varias CE_ RLXXP04 CE_V02 G80BTRV CE_ Fuente del CE_V04 Lista de CE_V0 1433 CE_V0 0 Genera Hallazgos OK
de nombre de V01 E19 programa Navegación del 5 7 A0010
banco, RLXXP04 programa
mayúsculas, RLXXP04 WIESE --->
minúsculas, <Text>WIESE</Text>
etc.
WIESE --->
<Source>WIESE</Source>

WIESE --->
<Text>Wiese</Text>
WIESE --->
<Source>Wiese</Source>

WIESE --->
<Text>wIese</Text>

WIESE --->
<Source>wIese</Source>

BWS --->
<Text>BWS</Text>

BWS --->
<Source>BWS</Source>

BWS ---> <Text>bws</Text>

BWS --->
<Source>bws</Source>

BWS ---> <Text>Bws</Text>

BWS --->

Página 330
CP Desc. Nombre del Ubicación Fuente Fuente del Lista de Navegación Código del Nro. de Pase Resultado Esperado Resultado
programa programa analista Obtenido

C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor

<Source>Bws</Source>

B.W.S --->
<Text>B.W.S</Text>

B.W.S --->
<Source>B.W.S</Source>

B.W.S --->
<Text>B.w.S</Text>

B.W.S --->
<Source>B.w.S</Source>

B.W.S --->
<Text>b.w.s</Text>

B.W.S --->
<Source>b.w.s</Source>

CREDISCOTIA --->
<Text>crediscotia</Text>

CREDISCOTIA --->
<Source>crediscotia</Sour
ce>

CREDISCOTIA --->
<Text>CrediScotia</Text>

CREDISCOTIA --->
<Source>CrediScotia</Sour
ce>

Página 331
CP Desc. Nombre del Ubicación Fuente Fuente del Lista de Navegación Código del Nro. de Pase Resultado Esperado Resultado
programa programa analista Obtenido

C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor

CREDISCOTIA --->
<Text>CREDISCOTIA</Text>

CREDISCOTIA --->
<Source>CREDISCOTIA</So
urce>

29 Wiese como CE_ PPWCP001 CE_V02 G80BTRV CE_ Fuente del CE_V04 Lista de CE_V0 1433 CE_V0 0 Genera Hallazgos A0010: OK
nombre de V01 E19 programa Navegación del 5 7 SBP ---> <Source>(1)
folder donde PPWCP001 programa Cajeros SBP</Source>
reside el PPWCP001
objeto SBP ---> <Text>(1) Cajeros
SBP</Text>

No debe generar hallazgo


por el folder llamado
Wiese.

30 Subrutinas CE_ PLXXP20 CE_V02 G80BTRV CE_ Fuente del CE_V04 Lista de CE_V0 1433 CE_V0 0 Genera Hallazgo A0010 OK
llamadas V01 E19 programa Navegación del 5 7 WIESE ---> &texto =
SCOTIABANK y PLXXP20 programa 'WIESE'"
variable con PLXXP20
&SBP en el No deben generarse
nombre hallazgos por la subrutina
llamada SCOTIABANK ni la
variable &SBP.

31 Durezas de CE_ WLXXP21 CE_V02 G80BTRV CE_ Fuente del CE_V04 Lista de CE_V0 1433 CE_V0 0 Genera Hallazgo A0010 OK
nombre de V01 E19 programa Navegación del 5 7
banco en WLXXP21 programa WIESE ---> &texto = 'WIESE'
Workpanel WLXXP21

Tabla 136: Caso de Pruebas: CUS01 - Durezas de Nombre de Banco

Página 332
Resultados de la ejecución de los casos de Prueba
Ver Anexo 9.

7.4.1.2.8. Escenario de Prueba: Valida Durezas de Moneda


Data Inicial: Ver sección 7.3
Flujo en caso de uso: 4.8.1.4.a, b
Caso de Prueba Automatizado: DurezaNombreMoneda_Test y DurezaSignoMoneda_Test

CP Desc. Nombre del Ubicación Fuente Fuente del Lista de Navegación Código del Nro. de Pase Resultado Esperado Resultado
programa programa analista Obtenido

C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor

32 Durezas de CE_ PLPTP91M CE_V02 G80BTRV CE_ Fuente del CE_V04 Lista de CE_V0 1433 CE_V0 0 Hallazgo A0011: OK
nombre de V01 E20 programa Navegación del 5 7
moneda A PLPTP91M programa DOLARES ---> <Source>Total
PLPTP91M Dolares</Source>

DÓLARES ---> <Text>Total


Dólares</Text>

SOLES ---> <Source>Total


soles</Source>

SOLES ---> <Text>Total


soles</Text>

Página 333
CP Desc. Nombre del Ubicación Fuente Fuente del Lista de Navegación Código del Nro. de Pase Resultado Esperado Resultado
programa programa analista Obtenido

C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor

33 Nombre de CE_ WLRFP04 CE_V02 G80BTRV CE_ Fuente del CE_V04 Lista de CE_V0 1433 CE_V0 0 No genera Hallazgo A0011 OK
moneda en V01 V03 programa Navegación del 5 7
comentario, WLRFP04 programa
no debe WLRFP04
generar
anomalía
34 Nombre de CE_ PLWFP73 CE_V02 G80BTRV CE_ Fuente del CE_V04 Lista de CE_V0 1433 CE_V0 0 No genera Hallazgo A0011 OK
moneda en V01 V03 programa Navegación del 5 7
comentario, PLWFP73 programa
no debe PLWFP73
generar
anomalía
35 Durezas de CE_ PLXXP20 CE_V02 G80BTRV CE_ Fuente del CE_V04 Lista de CE_V0 1433 CE_V0 0 Genera Hallazgo A0012: OK
signo de V01 E20 programa Navegación del 5 7
moneda B PLXXP20 programa S/. ---> <Text>S/.</Text>
PLXXP20 S/. ---> <Source>S/.</Source>

36 Durezas de CE_ WLLCP73 CE_V02 G80BTRV CE_ Fuente del CE_V04 Lista de CE_V0 1433 CE_V0 0 Genera Hallazgo A0012 OK
signo de V01 E20 programa Navegación del 5 7
moneda B WLLCP73 programa US$ ---> <Title> Monto Maximo
WLLCP73 US$</Title>

Tabla 137: Caso de Pruebas: CUS01 - Durezas de Moneda

Resultados de la ejecución de los casos de Prueba


Ver Anexo 9.

Página 334
7.4.1.2.9. Escenario de Prueba: Nomenclatura Genexus
Data Inicial: Ver sección 7.3
Flujo en caso de uso: 4.8.1.4.a, b
Caso de Prueba Automatizado: Nomenclatura_Test

CP Desc. Nombre del programa Ubicación Fuente Fuente del programa Lista de Navegación Código del Nro. de Pase Resultado Resultado
analista Esperado Obtenido
C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor

37 Segundo CE_V01 RXXXP07 CE_V02 G80BTRV CE_E01 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 Hallazgo A0017, OK
caracter debe programa Navegación RXXXP07:
ser C, L, G o P RXXXP07 del segundo
programa caracter debe
RXXXP07 ser C, L, G o P

38 Aplicación no CE_V01 RLZZP07 CE_V02 G80BTRV CE_E01 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 Hallazgo A0017, OK
existe programa Navegación ZZ: aplicación
RLZZP07 del no existe
programa
RLZZP07

39 Sexto caracter CE_V01 RLXXPA0 CE_V02 G80BTRV CE_E01 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 Hallazgo A0017, OK
debe ser programa Navegación RLXXPA0: sexto
numérico RLXXPA0 del caracter debe
programa ser numérico
RLXXPA0

Página 335
40 Séptimo CE_V01 RLXXP0A CE_V02 G80BTRV CE_E01 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 Hallazgo A0017, OK
caracter debe programa Navegación RLXXP0A:
ser numérico RLXXP0A del séptimo
programa caracter debe
RLXXP0A ser numérico

41 Nomenclatura CE_V01 PLXXP99 CE_V02 G80BTRV CE_V03 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 No debe OK
correcta programa Navegación devolver un
PLXXP99 del hallazgo de tipo
programa A0017
PLXXP99

42 Nomenclatura CE_V01 WLXXP08 CE_V02 G80BTRV CE_V03 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 No debe OK
correcta programa Navegación devolver un
WLXXP08 del hallazgo de tipo
programa A0017
WLXXP08

43 Nomenclatura CE_V01 RLXXP07 CE_V02 G80BTRV CE_V03 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 No debe OK
correcta programa Navegación devolver un
RLXXP07 del hallazgo de tipo
programa A0017
RLXXP07

Tabla 138: Caso de Pruebas: CUS01 - Nomenclatura Genexus

Resultados de la ejecución de los casos de Prueba


Ver Anexo 9.

7.4.1.2.10. Escenario de Prueba: Valida Campos de Ejecutivo de Negocios

Página 336
Data Inicial: Ver sección 7.3
Flujo en caso de uso: 4.8.1.4.a, b
Caso de Prueba Automatizado: CamposEjecutivo_Test

CP Desc. Nombre del programa Ubicación Fuente Fuente del programa Lista de Navegación Código del Nro. de Pase Resultado Resultado
analista Esperado Obtenido
C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor

44 Campos de CE_V01 WLPTP07B CE_V02 G80BTRV CE_E27 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 Hallazgo OK
ejecutivo en programa Navegación A0018, EJCOD=
Workpanel WLPTP07B del ---> where
programa Ejcod = &ejec
WLPTP07B

45 Campos de CE_V01 RLAGR32C CE_V02 G80BTRV CE_V03 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 No genera OK
ejecutivo en programa Navegación hallazgo A0018
Workpanel RLAGR32C del
programa
RLAGR32C

Tabla 139: Caso de Pruebas: CUS01 - Campos de Ejecutivo de Negocios

Resultados de la ejecución de los casos de Prueba


Ver Anexo 9.

7.4.1.2.11. Escenario de Prueba: Valida Commits RTE


Data Inicial: Ver sección 7.3
Flujo en caso de uso: 4.8.1.4.a, b
Caso de Prueba Automatizado: CommitsRTE_Test

Página 337
CP Desc. Nombre del programa Ubicación Fuente Fuente del programa Lista de Navegación Código del Nro. de Pase Resultado Resultado
analista Esperado Obtenido

C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor

46 RTE 99922, CE_V01 PLXXP28 CE_V02 G80BTRV CE_V03 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 No genera OK
commit previo programa Navegación hallazgo A0019
OK PLXXP28 del
programa
PLXXP28

47 RTE 99923, CE_V01 PLXXP29 CE_V02 G80BTRV CE_E28 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 Genera hallazgo OK
commit previo programa Navegación A0019
incorrecto PLXXP29 del
programa
PLXXP29

48 RTE 99924, CE_V01 PLXXP30 CE_V02 G80BTRV CE_V03 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 No genera OK
commit post programa Navegación hallazgo A0019
OK PLXXP30 del
programa
PLXXP30

49 RTE 99925, CE_V01 PLXXP31 CE_V02 G80BTRV CE_E28 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 Genera hallazgo OK
commit post programa Navegación A0019
incorrecto PLXXP31 del
programa
PLXXP31

50 RTE 99926, CE_V01 PLXXP32 CE_V02 G80BTRV CE_V03 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 No genera OK
commit programa Navegación hallazgo A0019
anulación OK PLXXP32 del
programa
PLXXP32

Página 338
CP Desc. Nombre del programa Ubicación Fuente Fuente del programa Lista de Navegación Código del Nro. de Pase Resultado Resultado
analista Esperado Obtenido
C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor

51 RTE 99927, CE_V01 PLXXP33 CE_V02 G80BTRV CE_E28 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 Genera hallazgo OK
commit programa Navegación A0019
anulación PLXXP33 del
incorrecto programa
PLXXP33

Tabla 140: Caso de Pruebas: CUS01 - Commits RTE

Resultados de la ejecución de los casos de Prueba


Ver Anexo 9.

Página 339
7.4.1.2.12. Escenario de Prueba: Commit o Rollback explícito y Commitment disabled
Data Inicial: Ver sección 7.3
Flujo en caso de uso: 4.8.1.4.a, b
Caso de Prueba Automatizado: Commitment_Test

CP Desc. Nombre del programa Ubicación Fuente Fuente del programa Lista de Navegación Código del Nro. de Pase Resultado Resultado
analista Esperado Obtenido
C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor
52 Tiene CE_V01 PLXXP38 CE_V02 G80BTRV CE_V03 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 No genera OK
commitment programa Navegación Hallazgo
en yes, no PLXXP38 del A0020
debe generar programa
anomalía PLXXP38
53 Hace commit CE_V01 PLXXP38B CE_V02 G80BTRV CE_E10 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 Genera OK
explícito y no programa Navegación Hallazgo A0020
tiene PLXXP38B del (commit)
commitment programa
PLXXP38B
54 Tiene CE_V01 PLXXP38C CE_V02 G80BTRV CE_V03 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 No genera OK
commitment programa Navegación Hallazgos
en no, pero no PLXXP38C del A0020
hace commit, programa
no debe PLXXP38C
generar
anomalía
55 Tiene rollback CE_V01 PLXXP38D CE_V02 G80BTRV CE_E10 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 Genera OK
programa Navegación Hallazgo A0020
PLXXP38D del (rollback)
programa
PLXXP38D

Página 340
CP Desc. Nombre del programa Ubicación Fuente Fuente del programa Lista de Navegación Código del Nro. de Pase Resultado Resultado
analista Esperado Obtenido
C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor
56 Tiene CE_V01 PLXCP89 CE_V02 G80BTRV CE_V03 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 No genera OK
commitment programa Navegación Hallazgo A0020
en no, y PLXCP89 del
sentencias que programa
podrían ser PLXCP89
confundidas
con un commit

Tabla 141: Caso de Pruebas: CUS01 - Commit o rollback explícito y commitment disabled

Resultados de la ejecución de los casos de Prueba


Ver Anexo 9.

Página 341
7.4.1.2.13. Escenario de Prueba: Workpanel en ciclo de compromiso
Data Inicial: Ver sección 7.3
Flujo en caso de uso: 4.8.1.4.a, b
Caso de Prueba Automatizado: WorkPanelCicloCompromiso_Test

CP Desc. Nombre del Ubicación Fuente Fuente del programa Lista de Navegación Código del Nro. de Pase Resultado Esperado Resultado
programa analista Obtenido
C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor
57 RTE 99930, CE_V01 WLXXP21 CE_V02 G80BTRV CE_E29 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 Hallazgo A0022 OK
workpanel en programa Navegación
ciclo de WLXXP21 del
compromiso programa
WLXXP21
Tabla 142: Caso de Pruebas: CUS01 - Workpanel en ciclo de compromiso

Resultados de la ejecución de los casos de Prueba


Ver Anexo 9.

7.4.1.2.14. Escenario de Prueba: Asignación directa de Empresa


Data Inicial: Ver sección 7.3
Flujo en caso de uso: 4.8.1.4.a, b
Caso de Prueba Automatizado: AsignaciónEmpresa_Test

Página 342
CP Desc. Nombre del Ubicación Fuente Fuente del programa Lista de Navegación Código del Nro. de Pase Resultado Esperado Resultado
programa analista Obtenido
C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor
58 No existe CE_V01 PLXXP37 CE_V02 G80BTRV CE_V03 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 No genera OK
asignación programa Navegación Hallazgo A0023
directa PLXXP37 del
programa
PLXXP37
59 Existe CE_V01 PLXXP37A CE_V02 G80BTRV CE_E06 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 Hallazgo A0023 OK
asignación programa Navegación
directa PLXXP37A del
programa
PLXXP37A
Tabla 143: Caso de Pruebas: CUS01 - Asignación directa de empresa

Resultados de la ejecución de los casos de Prueba


Ver Anexo 9.

7.4.1.2.15. Escenario de Prueba: Estándar de Cabecera


Data Inicial: Ver sección 7.3
Flujo en caso de uso: 4.8.1.4.a, b
Caso de Prueba Automatizado: EstandarCabecera_Test

Página 343
CP Desc. Nombre del programa Ubicación Fuente Fuente del programa Lista de Navegación Código del Nro. de Pase Resultado Resultado
analista Esperado Obtenido

C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor
60 Reporte, no CE_V01 RLXXP24 CE_V02 G80BTRV CE_E24, Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 Hallazgos OK
cumple CE_E25, programa Navegación A0024,
standard de CE_E26 RLXXP24 del A0025,
cabecera programa A0026
RLXXP24
61 Reporte, no CE_V01 RLXXP41 CE_V02 G80BTRV CE_V03 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 No genera OK
tiene programa Navegación Hallazgos
anomalías de RLXXP41 del A0024,
este tipo programa A0025,
RLXXP41 A0026

62 Workpanel con CE_V01 WLXXP40A CE_V02 G80BTRV CE_V03 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 No genera OK
propiedad programa Navegación Hallazgo
popup 1 WLXXP40A del A0024
programa
WLXXP40A
63 Workpanel con CE_V01 WLXXP40B CE_V02 G80BTRV CE_V03 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 No genera OK
propiedad programa Navegación Hallazgos
popup 2 WLXXP40B del A0024
programa
WLXXP40B

64 Workpanel con CE_V01 WLXXP40C CE_V02 G80BTRV CE_E24 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 Hallazgo OK
propiedad programa Navegación A0024
popup 3 WLXXP40C del
programa
WLXXP40C

65 Workpanel sin CE_V01 WLXXP40 CE_V02 G80BTRV CE_V03 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 No genera OK
propiedad programa Navegación Hallazgos
popup 1 WLXXP40 del A0024,
programa A0025,
WLXXP40 A0026

Página 344
CP Desc. Nombre del programa Ubicación Fuente Fuente del programa Lista de Navegación Código del Nro. de Pase Resultado Resultado
analista Esperado Obtenido

C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor
66 Workpanel sin CE_V01 WLXXP40D CE_V02 G80BTRV CE_E24 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 Hallazgo OK
propiedad programa Navegación A0024
popup 1 WLXXP40D del
programa
WLXXP40D

67 Workpanel sin CE_V01 WLXXP40E CE_V02 G80BTRV CE_E25 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 Hallazgo OK
propiedad programa Navegación A0025
popup 2 WLXXP40E del
programa
WLXXP40E

68 Workpanel sin CE_V01 WLXXP40F CE_V02 G80BTRV CE_E26 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 Hallazgo OK
propiedad programa Navegación A0026
popup 3 WLXXP40F del
programa
WLXXP40F

Tabla 144: Caso de Pruebas: CUS01 - Estándar de Cabecera

Resultados de la ejecución de los casos de Prueba


Ver Anexo 9.

Página 345
7.4.1.2.16. Escenario de Prueba: When none corrompe la variable interna &line si tiene printer file
Data Inicial: Ver sección 7.3
Flujo en caso de uso: 4.8.1.4.a, b
Caso de Prueba Automatizado: WhenNone_Printer_Test

CP Desc. Nombre del Ubicación Fuente Fuente del programa Lista de Navegación Código del Nro. de Pase Resultado Esperado Resultado
programa analista Obtenido

C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor

69 Tiene when CE_V01 RLXXP14 CE_V02 G80BTRV CE_V03 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 No genera Hallazgo OK
none pero no programa Navegación A0027
rule printer() RLXXP14 del
programa
RLXXP14

70 Tiene printer CE_V01 RLXXP14A CE_V02 G80BTRV CE_E12 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 Genera Hallazgo OK
file programa Navegación A0027
RLXXP14A del
programa
RLXXP14A

Tabla 145: Caso de Pruebas: CUS01 - When none y printer file

Resultados de la ejecución de los casos de Prueba


Ver Anexo 9.

7.4.1.2.17. Escenario de Prueba: For each sin defined by


Data Inicial: Ver sección 7.3
Flujo en caso de uso: 4.8.1.4.a, b
Página 346
Caso de Prueba Automatizado: ForEachDefinedBy_Test

CP Desc. Nombre del programa Ubicación Fuente Fuente del programa Lista de Navegación Código del Nro. de Resultado Esperado Resultado
analista Pase Obtenido
C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Val
or
71 For each CE_V01 PLTWP315 CE_V02 G80BTRV CE_E30 Fuente del CE_V04 Lista de CE_V05 1433 CE_V 0 Genera Hallazgos A0028: OK
sin defined programa Navegación 07
by varios PLTWP315 del For each order Pgcod
programa Ctnro Pepais Petdoc
PLTWP315 Pendoc Where Pgcod =
&PgCod Where Ctnro =
&CuentaBT"

For each order


TW01Pgcod TW01Conve
WT01Funcion
WR06Secuen WR06CtaBT
WR06Grupo WR06SubCta
Where TW01Pgcod =
&PgCod Where
TW01Conve = &Convenio
Where WT01Funcion =
&Funcion Where
WR06Secuen = &Sec
72 For each CE_V01 RLRCR03 CE_V02 G80BTRV CE_E30 Fuente del CE_V04 Lista de CE_V05 1433 CE_V 0 Genera Hallazgos A0028: OK
sin defined programa Navegación 07
by varios RLRCR03 del For each order IS01EMP,
programa IS01BTUNI where IS01EMP
RLRCR03 = &pgcod where
IS01BTUNI = &btuni where
IS01TCR = &tipocre

For each order IS16CREP,


IS16TCRE where IS16CREP
= &codrep where
IS16TCRE = &tipocre

Página 347
CP Desc. Nombre del programa Ubicación Fuente Fuente del programa Lista de Navegación Código del Nro. de Resultado Esperado Resultado
analista Pase Obtenido
C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Val
or

For each where BcaCod =


&bcacod

For each where IS14EMP


= IS01EMP where IS14SUC
= IS01SUC where IS14RUB
= IS01RUB where
IS14MDA = IS01MDA
where IS14PAP = IS01PAP
where IS14CTA = IS01CTA
where IS14OPE = IS01OPE
where IS14SOPE =
IS01SOPE where IS14TOPE
= IS01TOPE

For each where Pgcod =


&pgcod where Ejcod =
&ejcod

For each where TcCod =


&TcCod where TcMda =
&TcMda where TcFch <=
&wFecPro
Tabla 146: Caso de Pruebas: CUS01 - For each sin defined by

Resultados de la ejecución de los casos de Prueba


Ver Anexo 9.

Página 348
7.4.1.2.18. Escenario de Prueba: Arreglos y Funciones en sentencia Where
Data Inicial: Ver sección 7.3
Flujo en caso de uso: 4.8.1.4.a, b
Caso de Prueba Automatizado: FuncionesYArreglosEnWhere_Test

CP Desc. Nombre del Ubicación Fuente Fuente del programa Lista de Navegación Código del analista Nro. de Pase Resultado Resultado
programa Esperado Obtenido
C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor
73 Usa arreglos en CE_V01 PLXXP16 CE_V02 G80BTRV CE_E21 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 Hallazgo A0029, OK
where programa Navegación where Modulo =
PLXXP16 del programa &modulo(1)
PLXXP16

74 Usa arreglos en CE_V01 RGCXR72 CE_V02 G80BTRV CE_E21 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 Hallazgo A0029, OK
where programa Navegación Where Hcord =
RGCXR72 del programa &WArrOrd(1)
RGCXR72
75 Usa funciones en CE_V01 WLPVP68B CE_V02 G80BTRV CE_E22 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 Hallazgo A0030, OK
where programa Navegación Where Scoper =
WLPVP68B del programa val(trim(&LP60Nro
WLPVP68B Fac))

76 Usa funciones en CE_V01 PLTAP101 CE_V02 G80BTRV CE_E22 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 Hallazgo A0030, OK
where programa Navegación Where
PLTAP101 del programa val(TL05SECUEN) >
PLTAP101 &NroIni .AND.
val(TL05SECUEN)
<= &Nrofin

Página 349
CP Desc. Nombre del Ubicación Fuente Fuente del programa Lista de Navegación Código del analista Nro. de Pase Resultado Resultado
programa Esperado Obtenido
C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor
77 Usa funciones en CE_V01 PLPTP91M CE_V02 G80BTRV CE_E22 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 Hallazgo A0030, OK
where programa Navegación Where
PLPTP91M del programa ymdtod(&ANOPVP
PLPTP91M ,&MESPVP,&DIAPV
P) <= &pgfape

Tabla 147: Caso de Pruebas: CUS01 - Arreglos y funciones en sentencia where

Resultados de la ejecución de los casos de Prueba


Ver Anexo 9.

7.4.1.2.19. Escenario de Prueba: Actualizaciones directas al archivo de saldos (FSD011)


Data Inicial: Ver sección 7.3
Flujo en caso de uso: 4.8.1.4.a, b
Caso de Prueba Automatizado: OperacionesFSD011_Test

CP Desc. Nombre del Ubicación Fuente Fuente del programa Lista de Navegación Código del Nro. de Pase Resultado Resultado
programa analista Esperado Obtenido

C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor

Página 350
CP Desc. Nombre del Ubicación Fuente Fuente del programa Lista de Navegación Código del Nro. de Pase Resultado Resultado
programa analista Esperado Obtenido

C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor
78 Realiza insert CE_V01 PLXXP19 CE_V02 G80BTRV CE_E31 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 Genera Hallazgos OK
directo programa Navegación A0031:
PLXXP19 del
programa Insert: Pgcod
PLXXP19 Insert: Pgcod
Insert: Scsuc
Insert: Scrub
Insert: Scmda
Insert: Scpap
Insert: Sccta
Insert: Scoper
Insert: Scsbop
Insert: Sctope
79 Realiza update CE_V01 PLXXP19 CE_V02 G80BTRV CE_E32 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 Genera Hallazgos OK
directo programa Navegación A0031:
PLXXP19 del Update: Scsdo
programa Update: Scmod
PLXXP19
80 Realiza delete CE_V01 PLXXP23 CE_V02 G80BTRV CE_E33 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 Genera Hallazgo OK
directo programa Navegación A0031: Delete
PLXXP23 del
programa
PLXXP23
Tabla 148: Caso de Pruebas: CUS01 - Actualización directa a archivo de saldos

Resultados de la ejecución de los casos de Prueba


Ver Anexo 9.

Página 351
7.4.1.2.20. Escenario de Prueba: Calls con parámetros de longitud fija
Data Inicial: Ver sección 7.3
Flujo en caso de uso: 4.8.1.4.a, b
Caso de Prueba Automatizado: CallConLongitudFija_Test

CP Desc. Nombre del Ubicación Fuente Fuente del programa Lista de Navegación Código del Nro. de Pase Resultado Esperado Resultado
programa analista Obtenido

C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor
81 Tiene print CE_V01 PLXXP17 CE_V02 G80BTRV CE_E23 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 Genera Hallazgos OK
block, programa Navegación A0032 con los
comando print PLXXP17 del siguientes textos:
y el default programa
(ask user) PLXXP17 CALL('PRG1',
'DUREZA1', 'DUREZA2')

CALL('PGR4', &TODAY,
'DUREZA4')

CALL('PGR5',
\&Today,
\'DUREZA5')

Página 352
CP Desc. Nombre del Ubicación Fuente Fuente del programa Lista de Navegación Código del Nro. de Pase Resultado Esperado Resultado
programa analista Obtenido

C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor
82 Tiene print CE_V01 PLXXP43 CE_V02 G80BTRV CE_E23 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 Genera Hallazgos OK
block, programa Navegación A0032 con los
comando print PLXXP43 del siguientes textos:
y toScreen programa
PLXXP43 CALL('PRG', &TIME,001
)

CALL('PRG', &TODAY,
001)

CALL('PRG', 001)

CALL('PRG', 001, 002)

CALL('PRG', 001, 002)

CALL('PRG', 'HOLA',
001)
CALL('PRG',001)

CALL('PRGXXX', &TIME,
\001 )

CALL('PRGXXX', &TIME,
\001 )
Tabla 149: Caso de Pruebas: CUS01 - Calls con longitud fija

Resultados de la ejecución de los casos de Prueba


Ver Anexo 9.
Página 353
7.4.1.2.21. Escenario de Prueba: Índice Temporal
Data Inicial: Ver sección 7.3
Flujo en caso de uso: 4.8.1.4.a, b
Caso de Prueba Automatizado: IndiceTemporal_Test

CP Desc. Nombre del Ubicación Fuente Fuente del programa Lista de Navegación Código del Nro. de Pase Resultado Esperado Resultado
programa analista Obtenido

C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor
83 Utiliza índice CE_V01 PLXXP23 CE_V02 G80BTRV CE_E34 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 Genera Hallazgo A0033 OK
temporal programa Navegación
PLXXP23 del
programa
PLXXP23

Tabla 150: Caso de Pruebas: CUS01 - Índice temporal

Resultados de la ejecución de los casos de Prueba


Ver Anexo 9.

Página 354
7.4.1.2.22. Escenario de Prueba: Report Output
Data Inicial: Ver sección 7.3
Flujo en caso de uso: 4.8.1.4.a, b
Caso de Prueba Automatizado: ReportOutput_Test

CP Desc. Nombre del Ubicación Fuente Fuente del programa Lista de Navegación Código del Nro. de Pase Resultado Esperado Resultado
programa analista Obtenido

C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor

84 Tiene print CE_V01 RLXXP46 CE_V02 G80BTRV CE_E08 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 Genera Hallazgo OK
block, programa Navegación A0034
comando print RLXXP46 del
y el default programa
(ask user) RLXXP46

85 Tiene print CE_V01 RLXXP46A CE_V02 G80BTRV CE_E08 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 Genera Hallazgo OK
block, programa Navegación A0034
comando print RLXXP46A del
y toScreen programa
RLXXP46A

86 Tiene print CE_V01 RLXXP46B CE_V02 G80BTRV CE_E08 Fuente del CE_V04 Lista de CE_V05 1434 CE_V07 0 Genera Hallazgo OK
block, programa Navegación A0034
comando print RLXXP46B del
y toFile programa
RLXXP46B

87 Tiene print CE_V01 RLXXP46C CE_V02 G80BTRV CE_V03 Fuente del CE_V04 Lista de CE_V05 1435 CE_V07 0 No genera Hallazgo OK
block, programa Navegación A0034
comando print RLXXP46C del
y toPrinter programa
RLXXP46C

Página 355
CP Desc. Nombre del Ubicación Fuente Fuente del programa Lista de Navegación Código del Nro. de Pase Resultado Esperado Resultado
programa analista Obtenido

C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor

88 Tiene print CE_V01 RLXXP46D CE_V02 G80BTRV CE_E08 Fuente del CE_V04 Lista de CE_V05 1436 CE_V07 0 Genera Hallazgo OK
block, programa Navegación A0034
comando print RLXXP46D del
y toUser programa
RLXXP46D

Tabla 151: Caso de Pruebas: CUS01 - Report Output

Resultados de la ejecución de los casos de Prueba


Ver Anexo 9.

Página 356
7.4.1.2.23. Escenario de Prueba: Report Confirmation (Always Prompt)
Data Inicial: Ver sección 7.3
Flujo en caso de uso: 4.8.1.4.a, b
Caso de Prueba Automatizado: AlwaysPrompt_Test

CP Desc. Nombre del Ubicación Fuente Fuente del programa Lista de Navegación Código del Nro. de Pase Resultado Esperado Resultado
programa analista Obtenido

C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor

89 Tiene print CE_V01 PLXXP45 CE_V02 G80BTRV CE_V03 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 No genera Hallazgo OK
block, programa Navegación A0035
comando print PLXXP45 del
y el default del programa
modelo (que PLXXP45
es never
prompt)

90 Tiene print CE_V01 PLXXP45A CE_V02 G80BTRV CE_E07 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 Genera Hallazgo OK
block, programa Navegación A0035
comando print PLXXP45A del
y always programa
prompt PLXXP45A

91 Tiene print CE_V01 PLXXP45B CE_V02 G80BTRV CE_V03 Fuente del CE_V04 Lista de CE_V05 1434 CE_V07 0 No genera Hallazgo OK
block, programa Navegación A0035
comando print PLXXP45B del
y never programa
prompt PLXXP45B

Página 357
CP Desc. Nombre del Ubicación Fuente Fuente del programa Lista de Navegación Código del Nro. de Pase Resultado Esperado Resultado
programa analista Obtenido

C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor

92 Tiene print CE_V01 PLXXP45C CE_V02 G80BTRV CE_V03 Fuente del CE_V04 Lista de CE_V05 1435 CE_V07 0 No genera Hallazgo OK
block pero no programa Navegación A0035
comando print PLXXP45C del
programa
PLXXP45C

93 Tiene el print CE_V01 PLXXP45D CE_V02 G80BTRV CE_V03 Fuente del CE_V04 Lista de CE_V05 1436 CE_V07 0 No genera Hallazgo OK
block default y programa Navegación A0035
no hay print PLXXP45D del
programa
PLXXP45D

Tabla 152: Caso de Pruebas: CUS01 - Report Confirmation

Resultados de la ejecución de los casos de Prueba


Ver Anexo 9.

Página 358
7.4.1.2.24. Escenario de Prueba: Full Scan a tabla
Data Inicial: Ver sección 7.3
Flujo en caso de uso: 4.8.1.4.a, b
Caso de Prueba Automatizado: FullScan_Test

CP Desc. Nombre del programa Ubicación Fuente Fuente del programa Lista de Navegación Código del Nro. de Pase Resultado Resultado
analista Esperado Obtenido

C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor
94 Realiza lectura CE_E01 WPS50000 CE_V02 G80BTRV CE_E35 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 Genera OK
de todos los programa Navegación Hallazgo A0036,
registros de WPS50000 del
una tabla programa "FSI001" y
WPS50000 "FSI006"

95 Realiza lectura CE_V01 PLXXP19 CE_V02 G80BTRV CE_E35 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 Genera OK
de todos los programa Navegación Hallazgo A0036,
registros de PLXXP19 del
una tabla programa FSD011 (2
PLXXP19 ocurrencias),
FST003

96 Realiza lectura CE_V01 WLXXP36 CE_V02 G80BTRV CE_E35 Fuente del CE_V04 Lista de CE_V05 1433 CE_V07 0 Genera OK
de todos los programa Navegación Hallazgo A0036,
registros de WLXXP36 del
una tabla programa LVAW10
WLXXP36
Tabla 153: Caso de Pruebas: CUS01 - Full Scan

Resultados de la ejecución de los casos de Prueba


Ver Anexo 9.

Página 359
7.4.2. Caso de Pruebas: CUS02-Analizar Código Fuente CL

7.4.2.1. Clases de Equivalencia

DEFINICIÓN DE LAS CLASES DE EQUIVALENCIA


Condición de Tipo Clases Válidas Clases No válidas
Entrada
Código Entrada Observaciones Código Entrada
Nombre del Alfanumérico CE_V01 Texto que CE_E01 Texto que NO cumple con lo que se indica en
programa cumple con lo la RN_20
que se indica en CE_E02 En blanco
la RN_20

Biblioteca que Alfanumérico CE_V02 Cualquier La validación de la CE_E03 En blanco


contiene el fuente cadena de existencia de la
caracteres. ubicación la realiza
el programa
GxCompile.

Archivo Físico de Alfanumérico CE_V03 Cualquier La validación de la CE_E04 En blanco


Fuentes que cadena de existencia de la
contiene el fuente caracteres. ubicación la realiza
el programa
GxCompile.

Fuente del Alfanumérico CE_V04 Código fuente CE_E05 En blanco


programa a analizar CL que no CE_E06 La documentación no contiene información del
presenta la sistema al que pertenece el programa
anomalía que se
Página 360
DEFINICIÓN DE LAS CLASES DE EQUIVALENCIA
Condición de Tipo Clases Válidas Clases No válidas
Entrada
Código Entrada Observaciones Código Entrada
está CE_E07 La documentación no contiene información del
inspeccionando. subsistema al que pertenece el programa
CE_E08 La documentación no contiene el nombre del
programa
CE_E09 La documentación no contiene la descripción
del programa
CE_E10 La documentación no contiene al autor del
programa
CE_E11 La documentación no contiene la fecha de
creación del programa
CE_E12 El fuente contiene referencias a bibliotecas del
ambiente de desarrollo
CE_E13 El fuente contiene comandos restringidos
CE_E14 El fuente contiene comandos que requieren
autorización de Seguridad Informática.
Código del analista Numérico CE_V05 Código de CE_E15 En blanco
que solicita el empleado
análisis registrado en el
sistema
CE_E16 Código de empleado no registrado en el
sistema de IST.

Página 361
DEFINICIÓN DE LAS CLASES DE EQUIVALENCIA
Condición de Tipo Clases Válidas Clases No válidas
Entrada
Código Entrada Observaciones Código Entrada
Número de Pase a Numérico CE_V06 Un número Es opcional, No aplica.
Producción entero solamente se envía
(solamente en caso cuando el análisis es
el programa a CE_V07 0 parte del flujo de
analizar forme parte control de cambios.
de un Pase a La validación de la
Producción) existencia del pase a
Producción la
realiza el programa
GxCompile.
Tabla 154 : Casos de Prueba: CUS02 - Clases de Equivalencia

Página 362
7.4.2.2. Escenarios de Prueba y Registro de Resultados

7.4.2.2.1. Escenario de Prueba: Parámetros de Entrada en Blanco


Data Inicial: Ver sección 7.3
Flujo asociado: 4.8.2.6.1.
Caso de Prueba Automatizado: ParametrosCL_Test

CP Desc. Nombre del Biblioteca AS/400 Archivo Físico de Fuente Programa Código del Nro. de Pase Resultado Resultado
programa donde reside el fuente Fuentes analista Esperado Obtenido

C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor

1 Programa en CE_E02 Blanco CE_V02 BLDEOPBT CE_V03 QCLSRC CE_V04 Fuente del CE_V05 1433 CE_V07 0 Exception que OK
blanco indica "El
programa
nombre del
indicado programa no
puede estar en
blanco"

2 Biblioteca CE_V01 LJACP50 CE_E03 Blanco CE_V03 QCLSRC CE_V04 Fuente del CE_V05 1433 CE_V07 0 Exception que OK
AS/400 en indica "La
programa
blanco biblioteca no
indicado puede estar en
blanco"

3 Archivo Físico CE_V01 LJACP50 CE_V02 BLDEOPBT CE_E04 Blanco CE_V04 Fuente del CE_V05 1433 CE_V07 0 Exception que OK
de Fuentes en indica "El
programa
Blanco archivo físico
indicado de fuentes no
puede estar en
blanco"

Página 363
CP Desc. Nombre del Biblioteca AS/400 Archivo Físico de Fuente Programa Código del Nro. de Pase Resultado Resultado
programa donde reside el fuente Fuentes analista Esperado Obtenido

C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor

4 Fuente en CE_V01 LJACP50 CE_V02 BLDEOPBT CE_V03 QCLSRC CE_E05 Blanco CE_V05 1433 CE_V07 0 Exception que OK
blanco indica "El
fuente no
puede estar en
blanco"
5 Analista en CE_V01 LJACP50 CE_V02 BLDEOPBT CE_V03 QCLSRC CE_V04 Fuente del CE_E15 Blanco CE_V07 0 Exception que OK
blanco indica "El
programa
código de
indicado analista no
puede estar en
blanco"

6 Analista no CE_V01 LJACP50 CE_V02 BLDEOPBT CE_V03 QCLSRC CE_V04 Fuente del CE_E16 6666 CE_V07 0 Exception que OK
existe indica "El
programa
código de
indicado analista no se
encuentra
registrado”

Tabla 155: Caso de Pruebas: CUS02 - Parámetros de Entrada en Blanco

Resultados de la ejecución de los casos de Prueba


Ver anexo 9.

Página 364
7.4.2.2.2. Escenario de Prueba: Programas sin anomalías
Data Inicial: Ver sección 7.3
Flujo asociado: 4.8.2.4.a, b
Caso de Prueba Automatizado: SinAnomalia_Test

CP Desc. Nombre del Biblioteca AS/400 Archivo Físico de Fuente Programa Código del Nro. de Pase Resultado Resultado
programa donde reside el fuente Fuentes analista Esperado Obtenido

C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor

7 Programa sin CE_V01 GJCO095 CE_V02 BLDEOPBT CE_V03 QCLSRC CE_V04 Fuente del CE_V05 1433 CE_V07 0 Retorna OK
ninguna A0000 (No se
programa
anomalía encontró
indicado ninguna
anomalía)

8 Programa sin CE_V01 LJCP023 CE_V02 BLDEOPBT CE_V03 QCLSRC CE_V04 Fuente del CE_V05 1433 CE_V07 0 Retorna OK
ninguna A0000 (No se
programa
anomalía encontró
(prueba con indicado ninguna
situaciones anomalía)
que podrían
confundir al
analizador)

9 Programa sin CE_V01 PJPT124 CE_V02 BLDEOPBT CE_V03 QCLSRC CE_V04 Fuente del CE_V05 1433 CE_V07 0 Retorna OK
ninguna A0000 (No se
programa
anomalía encontró
(prueba con indicado ninguna
situaciones anomalía)
que podrían
confundir al
analizador)

Página 365
CP Desc. Nombre del Biblioteca AS/400 Archivo Físico de Fuente Programa Código del Nro. de Pase Resultado Resultado
programa donde reside el fuente Fuentes analista Esperado Obtenido

C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor

10 Programa sin CE_V01 LJC1000B CE_V02 BLDEOPBT CE_V03 QCLSRC CE_V04 Fuente del CE_V05 1433 CE_V07 0 Retorna OK
ninguna programa A0000 (No se
anomalía indicado encontró
(prueba con ninguna
situaciones anomalía)
que podrían
confundir al
analizador)

Tabla 156: Casos de Prueba: CUS02 - Sin anomalías

Resultados de la ejecución de los casos de Prueba


Ver anexo 9.

Página 366
7.4.2.2.3. Escenario de Prueba: Documentación Incompleta
Data Inicial: Ver sección 7.3
Flujo en caso de uso: 4.8.2.4.a, b
Caso de Prueba Automatizado: Documentacion_Test

CP Desc. Nombre del programa Biblioteca AS/400 Archivo Físico de Fuente Programa Código del Nro. de Pase Resultado Resultado
donde reside el fuente Fuentes analista Esperado Obtenido

C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor

11 Cuenta con la CE_V01 CJCRT02 CE_V02 BLDEOPBT CE_V03 QCLSRC CE_V04 Fuente del CE_V05 1433 CE_V07 0 No genera OK
documentación programa hallazgos
completa indicado A0001,
A0002,
A0003,
A0004,
A0005,
A0006
12 No tiene CE_V01 LJPT99 CE_V02 BLDEOPBT CE_V03 QCLSRC CE_E06, Fuente del CE_V05 1433 CE_V07 0 Genera OK
documentación CE_E07, programa Hallazgos
alguna CE_E08, indicado A0001,
CE_E09, A0002,
CE_E10, A0003,
CE_E11 A0004,
A0005,
A0006
13 No contiene CE_V01 LJAG002CO3 CE_V02 BLDEOPBT CE_V03 QCLSRC CE_E06, Fuente del CE_V05 1433 CE_V07 0 Genera OK
sistema ni CE_E08, programa Hallazgo
nombre del indicado A0001,
programa A0003

Página 367
CP Desc. Nombre del programa Biblioteca AS/400 Archivo Físico de Fuente Programa Código del Nro. de Pase Resultado Resultado
donde reside el fuente Fuentes analista Esperado Obtenido

C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor

14 No contiene CE_V01 LJAG002CO4 CE_V02 BLDEOPBT CE_V03 QCLSRC CE_E07, Fuente del CE_V05 1433 CE_V07 0 Genera OK
subsistema ni CE_E08, programa Hallazgo
nombre del indicado A0002,
programa A0003

15 No contiene CE_V01 LJAG002CO5 CE_V02 BLDEOPBT CE_V03 QCLSRC CE_E08, Fuente del CE_V05 1433 CE_V07 0 Genera OK
nombre del CE_E09 programa Hallazgo
programa ni indicado A0003,
tampoco su A0004
descripción

16 No contiene CE_V01 LJAG002CO7 CE_V02 BLDEOPBT CE_V03 QCLSRC CE_E08, Fuente del CE_V05 1433 CE_V07 0 Genera OK
nombre del CE_E10 programa Hallazgo
programa ni indicado A0003,
tampoco el A0005
autor del mismo

17 No contiene CE_V01 LJAG002CO6 CE_V02 BLDEOPBT CE_V03 QCLSRC CE_E08, Fuente del CE_V05 1433 CE_V07 0 Genera OK
nombre del CE_E11 programa Hallazgo
programa ni LJAG002CO6 A0003,
tampoco la A0006
fecha de
creación del
mismo
18 Subsistema mal CE_V01 LJVC012 CE_V02 BLDEOPBT CE_V03 QCLSRC CE_E07 Fuente del CE_V05 1433 CE_V07 0 Genera OK
escrito programa Hallazgo
LJVC012 A0002

Página 368
Tabla 157: Casos de Prueba: CUS02 – Documentación Incompleta

Resultados de la ejecución de los casos de Prueba


Ver anexo 9.

7.4.2.2.4. Escenario de Prueba: Bibliotecas de Desarrollo


Data Inicial: Ver sección 7.3
Flujo en caso de uso: 4.8.2.4.a, b
Caso de Prueba Automatizado: Bibliotecas_Test

CP Desc. Nombre del Biblioteca AS/400 donde Archivo Físico de Fuente Programa Código del Nro. de Pase Resultado Esperado Resultado
programa reside el fuente Fuentes analista Obtenido

C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valo
r
19 No tiene CE_V01 LJXX00 CE_V02 BLDEOPBT CE_V QCLSRC CE_V04 Fuente del CE_V 1433 CE_V 0 No debe generar el hallazgo OK
ninguna 03 programa 05 07 A0009
6
“dureza” de indicado
Biblioteca

20 Durezas varias CE_V01 LJXX00 CE_V02 BLDEOPBT CE_V QCLSRC CE_E01 Fuente del CE_V 1433 CE_V 0 Genera hallazgos A0009 con las OK
(bibliotecas de 03 2 programa 05 07 siguientes características:
1
analistas) indicado WSDE --->
SAVF(WSDEBDRV/TASAC)

WSDE ---> CPYF


FROMFILE(WSDEBDRV/FSD012)
+

Página 369
CP Desc. Nombre del Biblioteca AS/400 donde Archivo Físico de Fuente Programa Código del Nro. de Pase Resultado Esperado Resultado
programa reside el fuente Fuentes analista Obtenido

C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valo
r

WSDE ---> CPYF


FROMFILE(WSDEBDRV/FSD012)
+

WSDE ---> CPYF


FROMFILE(WSDEBDRV/LNUD65)
+

WSDE ---> CPYF


FROMFILE(WSDEBDRV/LNUD65)
+

WSDE ---> CLRPFM


FILE(WSDEBDRV/LNUD65)

WSDE ---> RSTOBJ OBJ(*ALL)


SAVLIB(WSDEBDRV) DEV(*SAVF)
21 Dureza con CE_V01 LJXX00 CE_V02 BLDEOPBT CE_V QCLSRC CE_E01 Fuente del CE_V 1433 CE_V 0 Genera hallazgo A0009 con las OK
biblioteca 03 2 programa 05 07 siguientes características
2
genérica de indicado
objetos BLDE --->
locales TOFILE(BLDEFTPH/LPTD15)
MBROPT(*REPLACE)
22 Tiene durezas CE_V01 LJXX00 CE_V02 BLDEOPBT CE_V QCLSRC CE_E01 Fuente del CE_V 1433 CE_V 0 Genera los siguientes hallazgos OK
de biblioteca 03 2 programa 05 07 A0009:
4
CSF indicado
CSDE ---> OVRDBF FILE(LSGD06)
TOFILE(CSDEBDBT/LSGD06)

CSDE ---> OVRDBF


FILE(LSGD0601)
TOFILE(CSDEBDBT/LSGD0601)
Página 370
CP Desc. Nombre del Biblioteca AS/400 donde Archivo Físico de Fuente Programa Código del Nro. de Pase Resultado Esperado Resultado
programa reside el fuente Fuentes analista Obtenido

C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valo
r

CSDE ---> OVRDBF FILE(LSGD08)


TOFILE(CSDEBDBT/LSGD08)

CSDE ---> OVRDBF


FILE(LSGD0801)
TOFILE(CSDEBDBT/LSGD0801)

CSDE ---> OVRDBF


FILE(LSGD0802)
TOFILE(CSDEBDBT/LSGD0802)

CSDE ---> OVRDBF


FILE(LSGD0803)
TOFILE(CSDEBDBT/LSGD0803)

CSDE ---> OVRDBF


FILE(LSGD0804)
TOFILE(CSDEBDBT/LSGD0804)

23 Tiene durezas CE_V01 LJXX00 CE_V02 BLDEOPBT CE_V QCLSRC CE_E01 Fuente del CE_V 1433 CE_V 0 Genera los siguientes hallazgos OK
de bibliotecas 03 2 programa 05 07 A0009:
5
DLYA indicado
DLDE ---> ADDLIBLE
LIB(DLDEBDBT)
POSITION(*AFTER BANTOT)

DLDE ---> ADDLIBLE


LIB(DLDEPGBT)
POSITION(*AFTER BANTOT)

DLDE ---> RMVLIBLE


LIB(DLDEBDBT)

Página 371
CP Desc. Nombre del Biblioteca AS/400 donde Archivo Físico de Fuente Programa Código del Nro. de Pase Resultado Esperado Resultado
programa reside el fuente Fuentes analista Obtenido

C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valo
r

DLDE ---> RMVLIBLE


LIB(DLDEPGBT)

Tabla 158: Casos de Prueba: CUS02 - Bibliotecas de Desarrollo

Resultados de la ejecución de los casos de Prueba


Ver anexo 9.

7.4.2.2.5. Escenario de Prueba: Comandos Restringidos


Data Inicial: Ver sección 7.3
Flujo en caso de uso: 4.8.2.4.a, b
Caso de Prueba Automatizado: ComandosRestringidos_Test

CP Desc. Nombre del Biblioteca AS/400 Archivo Físico de Fuente Programa Código del Nro. de Pase Resultado Esperado Resultado
programa donde reside el fuente Fuentes analista Obtenido

C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor

Página 372
CP Desc. Nombre del Biblioteca AS/400 Archivo Físico de Fuente Programa Código del Nro. de Pase Resultado Esperado Resultado
programa donde reside el fuente Fuentes analista Obtenido

C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor

24 No contiene CE_V01 LJXX012 CE_V02 BLDEOPBT CE_V03 QCLSRC CE_V04 Fuente del CE_V05 1433 CE_V07 0 No genera hallazgos OK
comandos programa A0014
restringidos indicado

25 Prueba de CE_V01 LJXX007 CE_V02 BLDEOPBT CE_V03 QCLSRC CE_E13 Fuente del CE_V05 1433 CE_V07 0 Genera hallazgos OK
ADDLIBLE programa A0014:
indicado
ADDLIBLE ---> ADDLIBLE
LIB(WSDEBDEM)

26 Prueba de CE_V01 LJWC989 CE_V02 BLDEOPBT CE_V03 QCLSRC CE_E13 Fuente del CE_V05 1433 CE_V07 0 Genera hallazgo A0014: OK
ADDLIBLE programa
indicado ADDLIBLE ---> ADDLIBLE
BL24BDBT *FIRST

27 Prueba de CE_V01 LJXX008 CE_V02 BLDEOPBT CE_V03 QCLSRC CE_E13 Fuente del CE_V05 1433 CE_V07 0 Genera hallazgo A0014: OK
DLTLIB programa
indicado DLTLIB ---> DLTLIB
LIB(TEMPORAL)

28 Prueba de CE_V01 LJXX009 CE_V02 BLDEOPBT CE_V03 QCLSRC CE_E13 Fuente del CE_V05 1433 CE_V07 0 Genera hallazgos OK
CLRLIB programa A0014:
indicado
CLRLIB ---> CLRLIB
LIB(BLTEMP)

CLRLIB ---> CLRLIB

Página 373
CP Desc. Nombre del Biblioteca AS/400 Archivo Físico de Fuente Programa Código del Nro. de Pase Resultado Esperado Resultado
programa donde reside el fuente Fuentes analista Obtenido

C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor

LIB(BLTEMP)

29 Prueba de CE_V01 LJXX010 CE_V02 BLDEOPBT CE_V03 QCLSRC CE_E13 Fuente del CE_V05 1433 CE_V07 0 Genera hallazgo A0014: OK
DLTSPLF programa
indicado DLTSPLF ---> BORRA:
DLTSPLF FILE(QPRINT)
JOB(856928/O99834/B)
SPLNBR(&NN)

Tabla 159: Casos de Prueba: CUS02 - Comandos restringidos

Resultados de la ejecución de los casos de Prueba


Ver anexo 9.

7.4.2.2.6. Escenario de Prueba: Comandos que requieren Autorización


Data Inicial: Ver sección 7.3
Flujo en caso de uso: 4.8.2.4.a, b
Caso de Prueba Automatizado: ComandosAutorizacion_Test

Página 374
CP Desc. Nombre del programa Biblioteca AS/400 Archivo Físico de Fuente Programa Código del Nro. de Pase Resultado Resultado
donde reside el fuente Fuentes analista Esperado Obtenido

C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor

30 No CE_V01 LJXX012 CE_V02 BLDEOPBT CE_V03 QCLSRC CE_V04 Fuente del CE_V05 1433 CE_V 0 No genera OK
contiene programa 07 hallazgos A0015.
comandos indicado
indebidos

31 Programa CE_E01 BORRAPUAT CE_V02 BLDEOPBT CE_V03 QCLSRC CE_E14 Fuente del CE_V05 1433 CE_V 0 Genera hallazgos OK
que 07 A0015.
programa
contiene
RUNSQLST indicado RUNSQLSTM --->
M RUNSQLSTM
SRCFILE
(BLDEOPBT/QCLS
RC)
SRCMBR(BORRA
TXT)
32 Programa CE_E01 ACTTRAN CE_V02 BLDEOPBT CE_V03 QCLSRC CE_E14 Fuente del CE_V05 1433 CE_V 0 Genera hallazgos OK
que 07 A0015.
programa
contiene
RUNQRY indicado RUNQRY --->
RUNQRY
QRY(BTPATCH/A
CT034)

RUNQRY --->
RUNQRY
QRY(BTPATCH/A
CT035)

RUNQRY --->
RUNQRY
QRY(BTPATCH/A
CT036)

Página 375
CP Desc. Nombre del programa Biblioteca AS/400 Archivo Físico de Fuente Programa Código del Nro. de Pase Resultado Resultado
donde reside el fuente Fuentes analista Esperado Obtenido

C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor

RUNQRY --->
RUNQRY
QRY(BTPATCH/A
CT037)

RUNQRY --->
RUNQRY
QRY(BTPATCH/A
CT040)

RUNQRY --->
RUNQRY
QRY(BTPATCH/A
CT062)

RUNQRY --->
RUNQRY
QRY(BTPATCH/A
CT134)

RUNQRY --->
RUNQRY
QRY(BTPATCH/A
CT135)
RUNQRY --->
RUNQRY
QRY(BTPATCH/A
CT235)

RUNQRY --->
RUNQRY
QRY(BTPATCH/A
CX017)
Página 376
CP Desc. Nombre del programa Biblioteca AS/400 Archivo Físico de Fuente Programa Código del Nro. de Pase Resultado Resultado
donde reside el fuente Fuentes analista Esperado Obtenido

C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor

RUNQRY --->
RUNQRY
QRY(BTPATCH/A
CXR17)

33 Programa CE_V01 CJCE102 CE_V02 BLDEOPBT CE_V03 QCLSRC CE_E14 Fuente del CE_V05 1433 CE_V 0 Genera hallazgos OK
que 07 A0015:
programa
contiene
FTP indicado FTP ---> FTP
RMTSYS(&DIRIP)

34 Programa CE_E01 FIN001CL CE_V02 BLDEOPBT CE_V03 QCLSRC CE_E14 Fuente del CE_V05 1433 CE_V 0 Genera hallazgo OK
que programa 07 A0015:
contiene indicado
CPYSPLF CPYSPLF --->
CPYSPLF
FILE(FORB198)
TOFILE(BLDEBDB
T/LFNX01) +
Tabla 160: Casos de Prueba: CUS02 - Comandos autorización

Resultados de la ejecución de los casos de Prueba


Ver anexo 9.

Página 377
7.4.2.2.7. Escenario de Prueba: Nomenclatura
Data Inicial: Ver sección 7.3
Flujo en caso de uso: 4.8.2.4.a, b
Caso de Prueba Automatizado: Nomenclatura_Test

CP Desc. Nombre del programa Biblioteca AS/400 Archivo Físico de Fuente Programa Código del Nro. de Resultado Esperado Resultado
donde reside el fuente Fuentes analista Pase Obtenido

C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Val
or
35 No CE_V01 GJPT001 CE_V02 BLDEOPBT CE_V03 QCLSRC CE_V04 Fuente del CE_V05 1433 CE_V 0 No genera hallazgos OK
contiene programa 07 A0016.
anomalías indicado
de
nomenclat
ura

36 No CE_V01 LJPT001 CE_V02 BLDEOPBT CE_V03 QCLSRC CE_V04 Fuente del CE_V05 1433 CE_V 0 No genera hallazgos OK
contiene programa 07 A0016.
anomalías indicado
de
nomenclat
ura

37 Anomalía CE_E01 TJPT001 CE_V02 BLDEOPBT CE_V03 QCLSRC CE_V04 Fuente del CE_V05 1433 CE_V 0 Genera hallazgo OK
de programa 07 A0016
nomenclat indicado
ura TJPT001: primer
caracter debe ser C,
L, G o P

Página 378
CP Desc. Nombre del programa Biblioteca AS/400 Archivo Físico de Fuente Programa Código del Nro. de Resultado Esperado Resultado
donde reside el fuente Fuentes analista Pase Obtenido

C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Val
or
38 Anomalía CE_E01 LGPT001 CE_V02 BLDEOPBT CE_V03 QCLSRC CE_V04 Fuente del CE_V05 1433 CE_V 0 Genera hallazgo OK
de programa 07 A0016
nomenclat indicado
ura LGPT001: segundo
caracter debe ser J

39 Anomalía CE_E01 LJPTX01 CE_V02 BLDEOPBT CE_V03 QCLSRC CE_V04 Fuente del CE_V05 1433 CE_V 0 Genera hallazgo OK
de programa 07 A0016
nomenclat indicado
ura LJPTX01: quinto
caracter debe ser
numérico

40 Anomalía CE_E01 LJPTX01 CE_V02 BLDEOPBT CE_V03 QCLSRC CE_V04 Fuente del CE_V05 1433 CE_V 0 Genera hallazgo OK
de programa 07 A0016
nomenclat indicado
ura LJPT0X1: sexto
caracter debe ser
numérico

41 Anomalía CE_E01 LJZZ001 CE_V02 BLDEOPBT CE_V03 QCLSRC CE_V04 Fuente del CE_V05 1433 CE_V 0 Genera hallazgo OK
de programa 07 A0016
nomenclat indicado
ura LJZZ001: aplicación
no existe

42 Anomalía CE_E01 CHGGT CE_V02 BLDEOPBT CE_V03 QCLSRC CE_V04 Fuente del CE_V05 1433 CE_V 0 Genera hallazgo OK
de programa 07 A0016
nomenclat indicado
ura CHGGT: nombre
demasiado corto

Página 379
Tabla 161: Casos de Prueba: CUS02 - Nomenclatura

Resultados de la ejecución de los casos de Prueba


Ver anexo 9.

7.4.3. Caso de Pruebas: CUS06-Gestionar Ciclo de Revisión de IST

7.4.3.1. Clases de Equivalencia

DEFINICIÓN DE LAS CLASES DE EQUIVALENCIA


Condición de Tipo Clases Válidas Clases No válidas
Entrada Código Entrada Observaciones Código Entrada
Cadena de Alfanumérico CE_V01 Cadena de texto en CE_E01 Cadena de texto que no existe dentro de un
búsqueda blanco o que existe número de revisión, número de pase o título.
dentro de un número de
revisión, número de
pase o título.

Tipo de Alfanumérico CE_V02 Un tipo de revisión Se muestra en un CE_E02 Combo en blanco


Revisión existente en la base de control de tipo
datos combo.

Página 380
DEFINICIÓN DE LAS CLASES DE EQUIVALENCIA
Condición de Tipo Clases Válidas Clases No válidas
Entrada Código Entrada Observaciones Código Entrada
Observaciones Alfanumérico CE_V03A Cualquier cadena de Es dependiente CE_E03 Blanco siempre y cuando el tipo de revisión
Clasificación caracteres incluyendo del tipo de sugerido por el sistema no coincida con el
blanco si el tipo de revisión tipo de revisión ingresado por el sistema.
revisión sugerido por el
sistema coincide con el
tipo ingresado por el
Supervisor.

CE_V03B Cualquier cadena de


caracteres si el tipo de
revisión sugerido por el
sistema no coincide con
el tipo ingresado por el
Supervisor. No incluye
blanco.
Analista de Alfanumérico CE_V04 Un analista de IST Se muestra en un CE_E04 Combo en blanco
IST existente en la base de control de tipo
datos. combo.

Prioridad Alfanumérico CE_V05 Una prioridad existente Se muestra en un CE_E05 Combo en blanco
en la base de datos. control de tipo
combo.

Observaciones Alfanumérico CE_V06 Cualquier cadena de Es opcional No aplica


Asignación caracteres incluyendo
blanco.

Página 381
DEFINICIÓN DE LAS CLASES DE EQUIVALENCIA
Condición de Tipo Clases Válidas Clases No válidas
Entrada Código Entrada Observaciones Código Entrada
Observaciones Alfanumérico CE_V07 Cualquier cadena de CE_E07 Blanco
devolución caracteres

Observaciones Alfanumérico CE_V08 Cualquier cadena de No aplica


Rechazo caracteres incluyendo
blanco.
Carta de Numérico CE_V09 Una carta de desviación CE_E09A Blanco
Desviación que existe en el sistema,
CE_E09B Carta no existe
que no está cerrada y
que no se encuentra
amparando a otra CE_E09C Carta ampara a otra revisión
revisión. CE_E09D Carta cerrada

Observaciones Alfanumérico CE_V10 Cualquier cadena de Es opcional No aplica


Aprobación caracteres incluyendo
blanco.
Tabla 162: Casos de Prueba: CUS06 - Clases de Equivalencia

7.4.3.2. Escenarios de Prueba y Registro de Resultados

7.4.3.2.1. Escenario de Prueba: Carga de Bandeja, Detalle y Búsqueda

Data Inicial: Ver la sección 7.3.

Página 382
CP Desc. Secuencia en el caso de uso Cadena de Búsqueda Resultado Esperado Resultado
relacionado Obtenido
C.E. Valor

1 Carga de Bandeja del 4.8.3.4.a,b N.A. N.A. Se cargan las revisiones 582, 581, 580, 579, 578, 577, 576, 575, 574, OK
Supervisor de IST (Flujo Básico) 573, 572, 571, 570, 569 y 568 de acuerdo a los datos que se indican
en la sección 7.3.

2 Ver detalle de revisión 4.8.3.5.1.a,b,c N.A. N.A. Se muestra el detalle de la revisión indicada en concordancia con los OK
(Subflujo Detalle de Pase a datos de la sección 7.3.
Producción)

Utilizar la revisión 578.


3 Buscar texto que 4.8.3.5.9.a,b CE_V01 574 Se muestra en la bandeja solamente la revisión 574. OK
coincide con una (Subflujo Buscar Revisión)
revisión
4 Buscar texto que 4.8.3.5.9.a,b CE_V01 78433 Se muestra en la bandeja solamente la revisión 573. OK
coincide con un pase (Subflujo Buscar Revisión)

5 Buscar texto que es 4.8.3.5.9.a,b CE_V01 sistema 7 Se muestra en la bandeja solamente la revisión 576. OK
parte del título de un (Subflujo Buscar Revisión)
pase

6 Buscar texto 4.8.3.5.9.a,b CE_E01 banca Se muestra vacía la lista de revisiones. OK


inexistente (Subflujo Buscar Revisión)

Tabla 163: Casos de Prueba: CUS06 - Carga de Bandeja, detalle y búsqueda

Resultados de la ejecución de los casos de Prueba


Ver anexo 9.

7.4.3.2.2. Escenario de Prueba: Carga, clasificación y asignación


Página 383
Data Inicial: Ver la sección 7.3.
CP Desc. Secuencia en Tipo de Revisión Observaciones Analista de IST Prioridad Observaciones Resultado Esperado Resultado
el caso de uso Clasificación Asignación Obtenido
relacionado C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor

7 Carga de pases 4.8.3.4.a, b, c, N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. El sistema indica que existen dos OK
nuevos d,e,f nuevas revisiones y las carga en
Flujo Básico concordancia con los datos
suministrados en el punto 7.3.,
sección AS/400.

Las revisiones cargadas


corresponden al Pase 78441 y
78445.

8 Repite carga de 4.8.3.4.a, b, c, N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. El sistema indica que no existe OK
pase d ninguna nueva revisión y no se
Flujo Básico duplican las revisiones.

9 Clasificador de 4.8.3.5.2.a,b N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. El sistema muestra la siguiente OK
Revisión con (Subflujo información estadística y
Parámetros clasificación recomienda una revisión de tipo
Iniciales de Revisión) Total. Se resaltan en rojo las
alertas.
Utilizar la
revisión del Información del Analista
pase 78441 Analista de Desarrollo: Juan Perea
generada en Objetos totales: 13
el CP7 Hallazgos totales: 31
Ratio Total Hallazgos: 2.38
Objetos en últimas revisiones: 3
Hallazgos en últimas revisiones: 2
Ratio últimas revisiones: 0.67

Información de los Componentes:


Componente: LJXX911

Página 384
CP Desc. Secuencia en Tipo de Revisión Observaciones Analista de IST Prioridad Observaciones Resultado Esperado Resultado
el caso de uso Clasificación Asignación Obtenido
relacionado C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor

Tipo Objeto: CL
Código de Aplicación: CONTROL DE
CAMBIOS
Complejidad Ciclomática: 1
Total Revisiones: 0
Cantidad de Hallazgos: 0
Ratio Total Hallazgos: 0
Últimas revisiones: 0
Hallazgos en últimas revisiones: 0
Ratio últimas revisiones: 0
Tablas usadas: blanco
Hallazgos estáticos: A0009 y
A0003.

Componente: PLNUP60A
Tipo Objeto: GX
Código de Aplicación: NUCLEO
BANTOTAL
Complejidad Ciclomática: 25
Total Revisiones: 3
Cantidad de Hallazgos: 11
Ratio Total Hallazgos: 3.67
Últimas revisiones: 3
Hallazgos en últimas revisiones: 11
Ratio últimas revisiones: 3.67
Tablas usadas: FSD030
Hallazgos estáticos: A0003, A0029,
A0007.

Componente: LRFD01
Tipo Objeto: PF
Código de Aplicación:
REFINANCIADOS
Complejidad Ciclomática: 0
Total Revisiones: 0

Página 385
CP Desc. Secuencia en Tipo de Revisión Observaciones Analista de IST Prioridad Observaciones Resultado Esperado Resultado
el caso de uso Clasificación Asignación Obtenido
relacionado C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor

Cantidad de Hallazgos: 0
Ratio Total Hallazgos: 0
Últimas revisiones: 0
Hallazgos en últimas revisiones: 0
Ratio últimas revisiones: 0
Tablas usadas: blanco
Hallazgos estáticos: blanco

Componente: PLPPP88X
Tipo Objeto: AS
Código de Aplicación: PROYECTO
PAGUM
Complejidad Ciclomática: 0
Total Revisiones: 0
Cantidad de Hallazgos: 0
Ratio Total Hallazgos: 0
Últimas revisiones: 0
Hallazgos en últimas revisiones: 0
Ratio últimas revisiones: 0
Tablas usadas: blanco
Hallazgos estáticos: blanco

10 Previamente configurar el siguiente parámetro a través del Mantenimiento de Parámetros de Gestión de Revisiones
“Umbral Ratio Total Hallazgos – Analista” = 5

Clasificador de 4.8.3.5.2.a,b N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. Luego del cambio de parámetro, ya OK
Revisión con (Subflujo no se enciende la alerta de “Ratio
“Umbral Ratio clasificación total de Hallazgos” de la sección
Total Hallazgos de Revisión) “Analista de Desarrollo).
– Analista”
modificado Utilizar la La recomendación debe ser
revisión del realizar una “Revisión Total”.
pase 78441
generada en
Página 386
CP Desc. Secuencia en Tipo de Revisión Observaciones Analista de IST Prioridad Observaciones Resultado Esperado Resultado
el caso de uso Clasificación Asignación Obtenido
relacionado C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor

el CP7

11 Previamente configurar el siguiente parámetro a través del Mantenimiento de Parámetros de Gestión de Revisiones
“Umbral Ratio Últimos Hallazgos – Analista” = 5

Clasificador de 4.8.3.5.2.a,b N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. Luego del cambio de parámetro, ya OK
Revisión con (Subflujo no se enciende la alerta de “Ratio
“Umbral Ratio clasificación Últimas revisiones” de la sección
Últimos de Revisión) “Analista de Desarrollo).
Hallazgos –
Analista” Utilizar la La recomendación debe ser
modificado revisión del realizar una “Revisión Total”.
pase 78441
generada en
el CP7

12 Previamente configurar el siguiente parámetro a través del Mantenimiento de Parámetros de Gestión de Revisiones
“N últimas revisiones - Analista” = 1

Clasificación de 4.8.3.5.2.a,b N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. Luego del cambio de parámetro, OK
Revisión con (Subflujo las siguientes columnas deben
“N últimas clasificación tomar estos valores:
revisiones - de Revisión)
Analista” Objetos en últimas revisiones = 1
modificado Utilizar la Hallazgos en últimas revisiones = 0
revisión del Ratio últimas revisiones = 0
pase 78441
generada en La recomendación debe ser
el CP7 realizar una “Revisión Total”.
13 Previamente configurar el siguiente parámetro a través del Mantenimiento de Parámetros de Gestión de Revisiones
“Umbral Complejidad Ciclomática” = 50

Página 387
CP Desc. Secuencia en Tipo de Revisión Observaciones Analista de IST Prioridad Observaciones Resultado Esperado Resultado
el caso de uso Clasificación Asignación Obtenido
relacionado C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor

Clasificador de 4.8.3.5.2.a,b N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. Luego del cambio de parámetro, ya OK
Revisión con (Subflujo no se enciende la alerta de “CC”
“Umbral clasificación para el componente PLNUP60A.
Complejidad de Revisión)
Ciclomática” La recomendación debe ser
modificado Utilizar la realizar una “Revisión Total”.
revisión del
pase 78441
generada en
el CP7
14 Previamente configurar el siguiente parámetro a través del Mantenimiento de Parámetros de Gestión de Revisiones
“Umbral Ratio Total Hallazgos - Programa” = 5
Clasificador de 4.8.3.5.2.a,b N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. Luego del cambio de parámetro, ya OK
Revisión con (Subflujo no se enciende la alerta de “Ratio
“Umbral Ratio clasificación Total de Hallazgos” para el
Total Hallazgos de Revisión) componente PLNUP60A.
- Programa”
modificado Utilizar la La recomendación debe ser
revisión del realizar una “Revisión Total”.
pase 78441
generada en
el CP7
15 Previamente configurar el siguiente parámetro a través del Mantenimiento de Parámetros de Gestión de Revisiones
“Umbral Ratio Últimos Hallazgos - Programa” = 5
Clasificador de 4.8.3.5.2.a,b N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. Luego del cambio de parámetro, ya OK
Revisión con (Subflujo no se enciende la alerta de “Ratio
“Umbral Ratio clasificación últimas revisiones” para el
Últimos de Revisión) componente PLNUP60A.
Hallazgos -
Programa” Utilizar la La recomendación debe ser
modificado revisión del realizar una “Revisión Total”.
pase 78441
generada en
el CP7

Página 388
CP Desc. Secuencia en Tipo de Revisión Observaciones Analista de IST Prioridad Observaciones Resultado Esperado Resultado
el caso de uso Clasificación Asignación Obtenido
relacionado C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor

16 Previamente configurar el siguiente parámetro a través del Mantenimiento de Parámetros de Gestión de Revisiones
“N últimas revisiones - Programa” = 2

Clasificador de 4.8.3.5.2.a,b N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. Luego del cambio de parámetro, OK
Revisión con (Subflujo las siguientes columnas deben
“N últimas clasificación tomar estos valores (sección de
revisiones - de Revisión) Componentes):
Programa”
modificado Utilizar la Últimas revisiones = 2
revisión del Hallazgos en últimas revisiones = 1
pase 78441 Ratio últimas revisiones = 0.5
generada en
el CP7 La recomendación debe ser
realizar una “Revisión Total”.
17 Previamente agregar el programa PLNUP60A a la lista de programas críticos a través del Mantenimiento de Gestión de Revisiones

Clasificador de 4.8.3.5.2.a,b N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. Luego de agregar el programa, se OK
Revisión con (Subflujo debe activar la alerta de programa
“Programa clasificación crítico (nombre del programa en
crítico” de Revisión) rojo) para el componente
agregado PLNUP60A.
Utilizar la
revisión del
pase 78441 La recomendación debe ser
generada en realizar una “Revisión Total”.
el CP7

18 Previamente agregar la aplicación NU a la lista de aplicaciones críticas a través del Mantenimiento de Gestión de Revisiones

Clasificador de 4.8.3.5.2.a,b N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. Luego de agregar la aplicación, se OK
Revisión con (Subflujo debe activar la alerta de aplicación
“Aplicación clasificación crítica (nombre de la aplicación en
crítica” de Revisión) rojo) para el componente
agregada PLNUP60A.
Utilizar la
Página 389
CP Desc. Secuencia en Tipo de Revisión Observaciones Analista de IST Prioridad Observaciones Resultado Esperado Resultado
el caso de uso Clasificación Asignación Obtenido
relacionado C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor

revisión del La recomendación debe ser


pase 78441 realizar una “Revisión Total”.
generada en
el CP7

19 Clasificador de 4.8.3.5.2.a,b N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. La recomendación debe ser OK
Revisión - (Subflujo realizar una “Revisión Básica”.
Sugiere Básica clasificación
de Revisión)

Utilizar la
revisión del
pase 78445
generada en
el CP7

20 Clasificación 4.8.3.5.2.a,b,c CE_E02 Blanco CE_V03 Observa N.A. N.A. N.A. N.A. N.A. N.A. El sistema no graba la información OK
del Supervisor (Subflujo ciones e indica que el Tipo de Revisión es
– Tipo de clasificación obligatorio.
Revisión en de Revisión)
blanco
Utilizar la
revisión del
pase 78441
generada en
el CP7

Página 390
CP Desc. Secuencia en Tipo de Revisión Observaciones Analista de IST Prioridad Observaciones Resultado Esperado Resultado
el caso de uso Clasificación Asignación Obtenido
relacionado C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor

21 Clasificación 4.8.3.5.2.a,b,c CE_V02 Básica CE_E03 Blanco N.A. N.A. N.A. N.A. N.A. N.A. El sistema no graba la información OK
del Supervisor (Subflujo e indica que las observaciones son
– clasificación obligatorias si se modifica el tipo
Observaciones de Revisión) de clasificación sugerido.
en blanco y
tipo de revisión Utilizar la
ingresado es revisión del
diferente a lo pase 78441
sugerido. generada en
el CP7
22 Clasificación 4.8.3.5.2.a,b,c CE_V02 Básica CE_V03 Por falta N.A. N.A. N.A. N.A. N.A. N.A. El sistema graba correctamente la OK
del Supervisor (Subflujo B de clasificación de la revisión
– Datos clasificación recursos mostrando previamente una
correctos de Revisión) confirmación porque el tipo de
revisión es distinto al
Utilizar la recomendado por el clasificador.
revisión del
pase 78441
generada en
el CP7
23 Clasificación 4.8.3.5.2.a,b,c CE_V02 Básica CE_V03 Blanco N.A. N.A. N.A. N.A. N.A. N.A. El sistema graba correctamente la OK
del Supervisor ,d A clasificación de la revisión.
– Datos (Subflujo
correctos clasificación
de Revisión)

Utilizar la
revisión del
pase 78445
generada en
el CP7

Página 391
CP Desc. Secuencia en Tipo de Revisión Observaciones Analista de IST Prioridad Observaciones Resultado Esperado Resultado
el caso de uso Clasificación Asignación Obtenido
relacionado C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor

24 Asignación de 4.8.3.5.3.a, b N.A. N.A. N.A. N.A. CE_E04 Blanco CE_V05 Alta CE_V06 Revisar El sistema no graba la información OK.
Revisión – (Subflujo e indica que debe ingresarse el
Analista de IST Asignación de Analista de IST
en blanco Revisión)

Utilizar la
revisión del
pase 78441
generada en
el CP7

25 Asignación de 4.8.3.5.3.a, b N.A. N.A. N.A. N.A. CE_V04 Roberto CE_E Blanco CE_V06 Revisar El sistema no graba la información OK
Revisión – (Subflujo Torres 05 e indica que debe ingresarse la
Prioridad en Asignación de prioridad.
blanco Revisión)

Utilizar la
revisión del
pase 78441
generada en
el CP7

26 Asignación de 4.8.3.5.3.a, b, N.A. N.A. N.A. N.A. CE_V04 Roberto CE_V05 Alta CE_V06 Revisar El sistema graba la información OK
Revisión – c, d Torres correctamente.
Datos (Subflujo
conformes Asignación de
Revisión)

Utilizar la
revisión del
pase 78441
generada en
el CP7

Página 392
Tabla 164: Casos de Prueba: CUS06 - Carga, clasificación y asignación

Resultados de la ejecución de los casos de Prueba


Ver anexo 9.

7.4.3.2.3. Escenario de Prueba: Revisión, devolución, rechazo, aprobación, exportación y consulta de eventos

Data Inicial: Ver la sección 7.3.


CP Desc. Secuencia en el Observaciones Observaciones Carta de Desviación Observaciones Resultado Esperado Resultado
caso de uso Devolución Rechazo Aprobación Obtenido
relacionado C.E. Valor C.E. Valor C.E. Valor C.E. Valor

27 Devolución 4.8.3.5.5.a CE_V07 No va. N.A. N.A. N.A. N.A. N.A. N.A. El sistema no procede con la devolución e OK
de Revisión a (Subflujo Devolver indica que se debe revisar previamente el
Analista sin la Revisión al análisis realizado por el analista de IST.
haber Analista)
revisado su
trabajo Utilizar la revisión
578.
28 Aprobar sin 4.8.3.5.6.a, b CE_V07 Va. N.A. N.A. N.A. N.A. N.A. N.A. El sistema no procede con la aprobación e OK
haber (Subflujo indica que se debe revisar previamente el
revisado el Aprobar Pase a análisis realizado por el analista de IST.
trabajo del Producción).
Analista
Utilizar la revisión
578.
29 Rechazar sin 4.8.3.5.7.a, b CE_V07 No Va. N.A. N.A. N.A. N.A. N.A. N.A. El sistema no procede con el rechazo e OK
haber (Subflujo indica que se debe revisar previamente el
revisado el Rechazar Pase a análisis realizado por el analista de IST.
trabajo del Producción).

Página 393
CP Desc. Secuencia en el Observaciones Observaciones Carta de Desviación Observaciones Resultado Esperado Resultado
caso de uso Devolución Rechazo Aprobación Obtenido
relacionado C.E. Valor C.E. Valor C.E. Valor C.E. Valor

Analista
Utilizar la revisión
578.

30 Revisión de 4.8.3.5.4.a,b N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. Se muestra el detalle de la revisión OK
Análisis (Subflujo Ver el indicada en concordancia con la
realizado por análisis realizado información presentada en el punto 7.3.
el analista de por el Analista de
IST IST)

Utilizar la revisión
578.

31 Devolución 4.8.3.5.5.a CE_E07 Blanco N.A. N.A. N.A. N.A. N.A. N.A. El sistema no permite la devolución e OK
de Revisión a (Subflujo Devolver indica que las observaciones son
Analista – la Revisión al obligatorias.
Observacion Analista)
es en blanco
Utilizar la revisión
578.

32 Devolución 4.8.3.5.5.a,b CE_V07 Por N.A. N.A. N.A. N.A. N.A. N.A. El sistema devuelve el pase al analista de OK
de Revisión a (Subflujo Devolver IST y se registran las observaciones.
favor
Analista la Revisión al
Analista) revisar
el
Utilizar la revisión
578. spool.
33 Rechazo de 4.8.3.5.7.a, b, c N.A. N.A. CE_V08 Se N.A. N.A. N.A. N.A. El sistema registra la devolución y las OK
Pase a (Subflujo rechaza observaciones de la misma.
Producción Rechazar Pase a y es
Producción). correcto
el
Utilizar la revisión informe
580 del
Página 394
CP Desc. Secuencia en el Observaciones Observaciones Carta de Desviación Observaciones Resultado Esperado Resultado
caso de uso Devolución Rechazo Aprobación Obtenido
relacionado C.E. Valor C.E. Valor C.E. Valor C.E. Valor

analista

34 Aprobación 4.8.3.5.6.a, b, c N.A. N.A. N.A. N.A. N.A. N.A. CE_V10 Aprobado, El sistema registra la aprobación y las OK
de Pase a (Subflujo Aprobar felicitacion observaciones de la misma.
Producción Pase a es
Producción).

Utilizar la revisión
581

35 Aprobación 4.8.3.5.6.a, b N.A. N.A. N.A. N.A. CE_E09A Blanco CE_V10 Obs. con El sistema no permite la devolución e OK
de Pase a (Subflujo Aprobar Carta indica que la carta de Desviación es
Producción Pase a obligatoria.
con Carta de Producción).
Desviación
en blanco Utilizar la revisión
582

36 Aprobación 4.8.3.5.6.a, b N.A. N.A. N.A. N.A. CE_E09B -1 CE_V10 Obs. con El sistema no permite la devolución e OK
de Pase a (Subflujo Aprobar Carta. indica que la carta de Desviación no
Producción Pase a existe.
con Carta de Producción).
Desviación
que no existe Utilizar la revisión
582

37 Aprobación 4.8.3.5.6.a, b N.A. N.A. N.A. N.A. CE_E09C 60 CE_V10 Obs. con El sistema no permite la devolución e OK
de Pase a (Subflujo Aprobar Carta. indica que la carta de Desviación ampara
Producción Pase a a otra revisión.
con Carta de Producción).
Desviación
que ampara Utilizar la revisión

Página 395
CP Desc. Secuencia en el Observaciones Observaciones Carta de Desviación Observaciones Resultado Esperado Resultado
caso de uso Devolución Rechazo Aprobación Obtenido
relacionado C.E. Valor C.E. Valor C.E. Valor C.E. Valor

a otra 582
revisión

38 Aprobación 4.8.3.5.6.a, b, c N.A. N.A. N.A. N.A. CE_V09 61 CE_V10 Obs. con El sistema registra la aprobación y las OK
de Pase a (Subflujo Aprobar Carta. observaciones.
Producción Pase a
con Carta de Producción).
Desviación
Utilizar la revisión
582

39 Exportar 4.8.3.5.8.a, b, c N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. Se exporta los documentos que son parte OK
documento (Subflujo Generar de la revisión indicada de acuerdo a los
de Revisión documentación de datos indicados en la sección 7.3 y con el
Revisión). formato indicado en el Anexo 8.

Utilizar la revisión
568.

40 Consultar 4.8.3.5.10.a, b N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. El sistema muestra los siguientes eventos: OK
eventos (Subflujo Consultar  Ingreso a IST (10/18/2015
Eventos) 14:36:41, usuario 2730)
 Clasificación (10/18/2015
Utilizar la revisión 14:37:24, usuario 2730, en
576 observaciones ingresó “Básica”)
 Asignación (10/18/2015
14:38:06, usuario 2800, en
observaciones se ingresó
“revisar”.
 Respuesta (10/18/2015
14:40:11, usuario 2800, la
respuesta es desaprobar y las
observaciones son: “Tiene

Página 396
CP Desc. Secuencia en el Observaciones Observaciones Carta de Desviación Observaciones Resultado Esperado Resultado
caso de uso Devolución Rechazo Aprobación Obtenido
relacionado C.E. Valor C.E. Valor C.E. Valor C.E. Valor

errores graves. Por favor


rechazar. ”)
 Fin (10/18/2015 14:42:12,
usuario 2730, revisión
aprobada, Observaciones: “se
aprueba con carta”)

Tabla 165: Casos de Prueba: CUS06 – Revisión, devolución, rechazo, aprobación, exportación y consulta de eventos

Resultados de la ejecución de los casos de Prueba


Ver anexo 9.

Página 397
7.4.4. Caso de Pruebas: CUS08-Administrar Hallazgos y Evidencia

7.4.4.1. Clases de Equivalencia

DEFINICIÓN DE LAS CLASES DE EQUIVALENCIA


Condición de Tipo Clases Válidas Clases No válidas
Entrada Código Entrada Observaciones Código Entrada
Código de Alfanumérico CE_V01 Un código de De acuerdo a la CE_E01 En blanco
Hallazgo Hallazgo nomenclatura
registrado en la utilizada, los
base de datos. hallazgos que puede
registrar un analista
de IST empiezan
con la letra “H”.

Observaciones Alfanumérico CE_V02A Cualquier CE_E02 En blanco, siempre y cuando no esté asociado
del Hallazgo cadena de a un Hallazgo de tipo H0000.
caracteres.
CE_V02B En blanco si
está asociado a
un Hallazgo de
tipo H0000.
Observaciones Alfanumérico CE_V03A Cualquier El dato es opcional, No aplica
Positivo cadena de no existe clase de
Correcto caracteres. equivalencia no
CE_V03B En blanco válida.

Observaciones Alfanumérico CE_V04 Cualquier CE_E04 En blanco


Falso Positivo cadena de
caracteres.
Página 398
DEFINICIÓN DE LAS CLASES DE EQUIVALENCIA
Condición de Tipo Clases Válidas Clases No válidas
Entrada Código Entrada Observaciones Código Entrada

Archivo Adjunto Binario CE_V05 Archivo con CE_E05A No se indica el archivo


extensión .docx CE_E05B Archivo con una extensión diferente a .docx
Cadena de Alfanumérico CE_V06 Cadena de texto CE_E06 Cadena de texto que no existe dentro de un
búsqueda en blanco o que número de revisión, número de pase o título.
existe dentro de
un número de
revisión,
número de pase
o título.

Tabla 166: Caso de Pruebas: CUS08 - Clases de Equivalencia

Página 399
7.4.4.2. Escenarios de Prueba y Registro de Resultados

7.4.4.2.1. Escenario de Prueba: Resumen de Revisión


Data Inicial: Ver sección. 7.3
CP Desc. Secuencia en el caso Resultado Esperado Resultado
de uso relacionado Obtenido

1 Ver 4.8.4.5.6.a, b, c Debe figurar que debe adjuntarse un Documento Técnico de Pruebas y un Documento Funcional, pero no debe mostrarse ningún OK
Resumen (Subflujo Ver resumen adjunto, puesto que la revisión es nueva.
de una de revisión)
Revisión Deben figurar los Hallazgos Estáticos que se encuentran en la sección 7.3 para la revisión indicada. Dichos hallazgos deben tener
nueva Seleccionar la revisión pendiente la confirmación de falso positivo o positivo correcto por parte del Analista.
577 (se encuentra en
la bandeja del analista En lo que se refiere a Hallazgos registrados por IST, no debe aparecer ninguno, puesto que aún no se han registrado.
2728).

2 Ver 4.8.4.5.6.a, b, c Deben figurar los enlaces al Documento Técnico de Pruebas y al Documento Funcional subidos como adjuntos. OK
Resumen (Subflujo Ver resumen
de una de revisión) Deben figurar los Hallazgos Estáticos y Hallazgos de IST que se encuentran en la sección 7.3 ordenados por ítem de revisión.
revisión
finalizada. Seleccionar la revisión
578 (se encuentra en
la bandeja del analista
2800).

Tabla 167: Caso de Pruebas: CUS08 - Resumen de Revisión

Resultados de la ejecución de los casos de Prueba


Ver anexo 9.

Página 400
7.4.4.2.2. Escenario de Prueba: Actualizar Hallazgos de IST
Data Inicial: Ver la sección 7.3
CP Desc. Secuencia en el caso de Código de Hallazgo Observación de Hallazgo Resultado Esperado Resultado
uso relacionado Obtenido
C.E. Valor C.E. Valor

3 Carga de Bandeja 4.8.4.4.a,b No aplica No aplica No aplica No aplica Deben aparecer las siguientes revisiones en la Bandeja del OK
del Analista de IST (Flujo básico) Analista 2728 con los datos especificados en la sección 7.3:

Utilizar al analista 2728. Revisiones: 577, 574, 573, 570 y 568

4 Carga de lista de 4.8.4.4.a,b,c,d No aplica No aplica No aplica No aplica Para la revisión indicada se deben cargar los ítems de OK
ítems de revisión (Flujo básico) revisión que se indican en la sección 7.3.

Seleccionar la revisión
577.

5 Registrar un 4.8.4.4.a,b,c,d,e CE_E01 Blanco CE_E02 Blanco No se ingresa el registro y se indica al usuario: “Debe OK
hallazgo con todo el (Flujo básico) ingresar un código de hallazgo” y “Las observaciones son
formulario en obligatorias”
blanco Utilizar el ítem de revisión
PLNUP60I de la revisión
577.

6 Registrar Hallazgo 4.8.4.4.a,b,c,d,e CE_E01 Blanco CE_V02A Observación No se ejecuta el registro y se indica al usuario: “Debe OK
con combo de (Flujo básico) ingresar un código de hallazgo”
Hallazgo Vacío
Utilizar el ítem de revisión
PLNUP60I de la revisión
577.

7 Registrar Hallazgo 4.8.4.4.a,b,c,d,e CE_V01 H0001 CE_E02 Blanco No se ejecuta el registro y se indica al usuario: “Las OK
sin ingresar (Flujo básico) observaciones son obligatorias”
observaciones
Utilizar el ítem de revisión
PLNUP60I de la revisión
577.
Página 401
CP Desc. Secuencia en el caso de Código de Hallazgo Observación de Hallazgo Resultado Esperado Resultado
uso relacionado Obtenido
C.E. Valor C.E. Valor

8 Registrar Hallazgo 4.8.4.4.a,b,c,d,e,f CE_V01 H0001 CE_V02A Observación Se graba el registro y aparece en la relación de Hallazgos. OK
con todo correcto (Flujo básico)

Utilizar el ítem de revisión


PLNUP60I de la revisión
577.

9 Registrar Hallazgo 4.8.4.4.a,b,c,d,e,f CE_V01 H0001 CE_V02B Blanco Se graba el registro y aparece en la relación de Hallazgos. OK
sin Observaciones (Flujo básico) Debe permitir la grabación incluso si no ingresaron las
(Caso especial observaciones.
H0000) Utilizar el ítem de revisión
LJXX909 de la revisión
577.

10 Modificar Hallazgo 4.8.4.5.2.a, b, c CE_E01 Blanco CE_V02A Observación No se ejecuta la actualización y se indica al usuario: “Debe OK
con combo de (Subflujo Modificar ingresar un código de hallazgo”
Hallazgo Vacío Hallazgo)

Utilizar el ítem de revisión


PLNUP60I de la revisión
577.

11 Modificar Hallazgo 4.8.4.5.2.a, b, c CE_V01 H0001 CE_E02 Blanco No se ejecuta la actualización y se indica al usuario: “Las OK
sin ingresar (Subflujo Modificar observaciones son obligatorias”
observaciones Hallazgo)

Utilizar el ítem de revisión


PLNUP60I de la revisión
577.

Página 402
CP Desc. Secuencia en el caso de Código de Hallazgo Observación de Hallazgo Resultado Esperado Resultado
uso relacionado Obtenido
C.E. Valor C.E. Valor

12 Modificar Hallazgo 4.8.4.5.2.a, b, c, d CE_V01 H0002 CE_V02A Observación Se graba la actualización con el nuevo código y las OK
con todo correcto (Subflujo Modificar observaciones ingresadas.
Hallazgo)

Utilizar el ítem de revisión


PLNUP60I de la revisión
577.

13 Modificar Hallazgo 4.8.4.5.2.a, b, c, d CE_V01 H0001 CE_V02B Blanco Se realiza la actualización y aparece en la relación de OK
sin Observaciones (Subflujo Modificar Hallazgos.
(Caso especial Hallazgo)
H0000)
Utilizar el ítem de revisión
PLNUP60I de la revisión
577.

14 Eliminar Hallazgo 4.8.4.5.3.a, b, c, d, e No aplica No aplica No aplica No aplica El sistema elimina el Hallazgo previa confirmación del OK
(Subflujo Eliminar usuario.
Hallazgo)

Utilizar el ítem de revisión


PLNUP60I de la revisión
577.

Tabla 168: Caso de Pruebas: CUS08 - Actualizar Hallazgos de IST

Resultados de la ejecución de los casos de Prueba


Ver anexo 9.

Página 403
7.4.4.2.3. Escenario de Prueba: Revisar y Confirmar Hallazgos Estáticos
Data Inicial: Ver sección 7.3.
CP Desc. Secuencia en el caso de Observaciones Positivo Observaciones Falso Positivo Resultado Esperado Resultado
uso relacionado Correcto Obtenido
C.E. Valor C.E. Valor

15 Ver Hallazgos 4.8.4.5.1.a,b,c No aplica No aplica No aplica No aplica Se muestran los registros que pertenecen al ítem de OK
Estáticos (subflujo Revisar y revisión indicado, los cuales se encuentran indicados en la
Confirmar Hallazgos sección 7.3.
Estáticos)

Utilizar el ítem de
revisión PLNUP60I de la
revisión 577.

16 Confirmar Hallazgo 4.8.4.5.1.a,b,c,d CE_V03B Blanco No aplica No aplica Debe grabarse la confirmación del hallazgo sin Ok
Estático sin (subflujo Revisar y observaciones (son opcionales)
Observaciones Confirmar Hallazgos
Estáticos)

Utilizar el Hallazgo
A0003.

17 Confirmar Hallazgo 4.8.4.5.1.a,b,c,d CE_V03A Cualquier No aplica No aplica Debe grabarse la confirmación del hallazgo incluyendo las OK
Estático con (subflujo Revisar y texto observaciones.
Observaciones Confirmar Hallazgos
Estáticos)

Utilizar el Hallazgo
A0007.

18 Confirmar Falso 4.8.4.5.1.a,b,c,d No aplica No aplica CE_E04 Blanco No debe realizarse la grabación y el sistema debe indicar: OK
Positivo sin (subflujo Revisar y “Las observaciones son obligatorias“.
Observaciones Confirmar Hallazgos
Estáticos)

Página 404
CP Desc. Secuencia en el caso de Observaciones Positivo Observaciones Falso Positivo Resultado Esperado Resultado
uso relacionado Correcto Obtenido
C.E. Valor C.E. Valor

Utilizar el Hallazgo
A0030.

19 Confirmar Falso 4.8.4.5.1.a,b,c,d No aplica No aplica CE_V04 Cualquier texto Debe grabarse que se trata de un falso positivo, incluyendo OK
Positivo con (subflujo Revisar y las observaciones.
Observaciones Confirmar Hallazgos
Estáticos)

Utilizar el Hallazgo
A0030.

Tabla 169: Caso de Pruebas: CUS08 - Revisar y confirmar hallazgos estáticos

Resultados de la ejecución de los casos de Prueba


Ver anexo 9.

Página 405
7.4.4.2.4. Escenario de Prueba: Mantener Adjuntos
Data Inicial: Ver sección 7.3.
CP Desc. Secuencia en el caso de uso relacionado Archivo Adjunto Resultado Esperado Resultado
Obtenido
C.E. Valor

20 Ver relación de 4.8.4.5.4.a, b No aplica No aplica El sistema debe mostrar que para el tipo de OK
Adjuntos (Subflujo Adjuntar documento de sustento) Revisión Total deben subirse un “Documento
Técnico de Pruebas” y un “Documento
Seleccionar la revisión 577. Funcional”. Sin embargo, no debe existir ningún
adjunto ingresado aún.
21 Sube adjunto, pero 4.8.4.5.4.a, b, c CE_E05A Ruta de El sistema debe indicar: “Debe subir un archivo” Ok
no se indica ningún (Subflujo Adjuntar documento de sustento) archivo sin
archivo indicar
Utilizar la revisión 577 y el Documento Técnico de
Pruebas.
22 Sube adjunto, pero 4.8.4.5.4.a, b, c CE_E05B Archivo con El sistema debe indicar: “El archivo debe ser de OK
es un tipo incorrecto (Subflujo Adjuntar documento de sustento) una tipo .docx”
extensión
Utilizar la revisión 577 y el Documento Técnico de diferente a
Pruebas. .docx

23 Subir adjunto 4.8.4.5.4.a, b, c, d CE_V05 Archivo con El sistema graba el archivo y se muestra en la OK
correcto (Subflujo Adjuntar documento de sustento) extensión lista de archivos subidos.
.docx
Utilizar la revisión 577 y el Documento Técnico de
Pruebas.

24 Ver archivo subido Ver archivo luego de 4.8.4.5.4.a, b, c, d No aplica No aplica El sistema debe devolver el archivo que se subió OK
(Subflujo Adjuntar documento de sustento) en el caso de pruebas anterior.
Utilizar la revisión 577 y el Documento Técnico de
Pruebas.

Página 406
CP Desc. Secuencia en el caso de uso relacionado Archivo Adjunto Resultado Esperado Resultado
Obtenido
C.E. Valor

25 Eliminar adjunto 4.8.4.5.5.a, b, c, d No aplica No aplica El sistema debe eliminar el archivo seleccionado OK
(Subflujo Eliminar documento de sustento) previa confirmación.
Utilizar la revisión 577 y el Documento Técnico de
Pruebas

Tabla 170: Caso de Pruebas: CUS08 - Mantener Adjuntos

Resultados de la ejecución de los casos de Prueba


Ver anexo 9.

7.4.4.2.5. Escenario de Prueba: Buscar y consultar Eventos


Data Inicial: Ver sección 7.3.

CP Desc. Secuencia en el caso de uso Cadena de Búsqueda Resultado Esperado Resultado


relacionado Obtenido
C.E. Valor

26 Buscar texto que 4.8.4.5.7. a, b CE_V06 574 Se muestra en la bandeja solamente la revisión 574. OK
coincide con una (Subflujo Buscar Revisión)
revisión

27 Buscar texto que 4.8.4.5.7. a, b CE_V06 78433 Se muestra en la bandeja solamente la revisión 573. OK
coincide con un pase (Subflujo Buscar Revisión)

Página 407
CP Desc. Secuencia en el caso de uso Cadena de Búsqueda Resultado Esperado Resultado
relacionado Obtenido
C.E. Valor

28 Buscar texto que es 4.8.4.5.7. a, b CE_V06 sistema 4 Se muestra en la bandeja solamente la revisión 576. OK
parte del título de un (Subflujo Buscar Revisión)
pase

29 Buscar texto 4.8.4.5.7. a, b CE_E06 banca Se muestra vacía la lista de revisiones. OK


inexistente (Subflujo Buscar Revisión)

30 Buscar con texto en 4.8.4.5.7. a, b CE_V06 Blanco Deben aparecer las siguientes revisiones en la Bandeja del Analista OK
blanco (Subflujo Buscar Revisión) 2728 con los datos especificados en la sección 7.3:
Revisiones: 577, 574, 573, 570 y 568

31 Consultar eventos 4.8.4.5.8.a, b N.A. N.A. El sistema muestra los siguientes eventos: OK
(Subflujo Consultar Eventos)  Ingreso a IST (10/18/2015 12:18:13, usuario 2730)
 Clasificación (10/18/2015 12:19:13, usuario 2730, en
Utilizar la revisión 574 observaciones ingresó “Total”)
 Asignación (10/18/2015 12:20:04, usuario 2728, en
observaciones se ingresó “Ninguna”.
 Respuesta (10/18/2015 12:29:37, usuario 2728, la
respuesta es aprobar y las observaciones son: “No
encontré ningún error.”)
 Fin (10/18/2015 12:30:37, usuario 2730, revisión
aprobada, Observaciones: “Estoy de acuerdo con el
analista, aprobado”)

Resultados de la ejecución de los casos de Prueba


Ver anexo 9.

Página 408
7.4.5. Caso de Pruebas: CUS11-Administrar Pedido de Auditoría

7.4.5.1. Clases de Equivalencia

DEFINICIÓN DE LAS CLASES DE EQUIVALENCIA


Condición de Tipo Clases Válidas Clases No válidas
Entrada Código Entrada Observaciones Código Entrada
Fecha de Solicitud Fecha (yyyy- CE_V01 Fecha menor o CE_E01A En blanco
mm-dd) igual a hoy CE_E01B Valor no válido de fecha
CE_E01C Fecha futura
Fecha Límite de Fecha (yyyy- CE_V02 Fecha igual o CE_E02A En blanco
Entrega mm-dd) mayor a hoy
CE_E02B Valor no válido de fecha
CE_E02C Fecha anterior a hoy
Auditor Alfanumérico CE_V03 Un auditor Se muestra en un CE_E03 Combo en blanco
existente en la control de tipo
base de datos. combo.

Observaciones Alfanumérico CE_V04 Cualquier Es opcional No aplica


Solicitud cadena de
caracteres
incluyendo
blanco.

Pases relacionados Relación de CE_V05 Los pases CE_E05A Relación contiene otros caracteres que no son
códigos de existen, cada números ni punto y coma.
pase a uno cuenta con CE_E05B Relación en blanco.
producción por lo menos
CE_E05C Relación contiene duplicados.
separados por una revisión en

Página 409
DEFINICIÓN DE LAS CLASES DE EQUIVALENCIA
Condición de Tipo Clases Válidas Clases No válidas
Entrada Código Entrada Observaciones Código Entrada
punto y estado de CE_E05D Alguno de los pases contenidos en la relación
coma. finalizada y no no existe.
existen CE_E05E Alguno de los pases contenidos en la relación
duplicados en la no tiene ninguna revisión en estado de
lista. finalizada.

Observaciones Alfanumérico CE_V06 Cualquier Es opcional No aplica


Respuesta cadena de
caracteres
incluyendo
blanco.

Observaciones Alfanumérico CE_V07 Cualquier Es opcional No aplica


Cierre cadena de
caracteres
incluyendo
blanco.

Tabla 171: Casos de Prueba: CUS11 - Clases de Equivalencia

Página 410
7.4.5.2. Escenarios de Prueba y Registro de Resultados

7.4.5.2.1. Escenario de Prueba: Mantenimiento de Pedido de Auditoría

Data Inicial: Ver la sección 7.3.

CP Desc. Secuencia en Fecha de Fecha Límite Auditor Observaciones Observaciones Observaciones Resultado Esperado Resultado
el caso de uso solicitud Entrega Solicitud Respuesta Cierre Obtenido
relacionado
C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor

1 Carga de la 4.8.5.4.a, b N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. Se carga la bandeja con OK
Bandeja de (Flujo Básico) los pedidos de
Pedidos de Auditoría 13 y 14. El
Auditoría detalle de los pedidos
debe corresponder a lo
indicado en la sección
7.3.

2 Agregar 4.8.5.4.a,b,c CE_ Blanco CE_V02 2017- CE_ Jorge CE_ Blanco N.A. N.A. N.A. N.A. No se registra el pedido OK
pedido de (Flujo Básico) de Auditoría y se indica
E01 03-01 V03 Campos V04
Auditoría que se debe ingresar la
con fecha A fecha de inicio.
de solicitud
en blanco
3 Agregar 4.8.5.4.a,b,c CE_ -666 CE_V02 2017- CE_ Jorge CE_ Blanco N.A. N.A. N.A. N.A. No se registra el pedido OK
pedido de de Auditoría y se indica
(Flujo Básico) E01 03-01 V03 Campos V04
Auditoría que el valor ingresado
con fecha B debe ser una fecha
de solicitud válida.
no válida

Página 411
CP Desc. Secuencia en Fecha de Fecha Límite Auditor Observaciones Observaciones Observaciones Resultado Esperado Resultado
el caso de uso solicitud Entrega Solicitud Respuesta Cierre Obtenido
relacionado
C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor

4 Agregar 4.8.5.4.a,b,c CE_ 2017- CE_V02 2017- CE_ Jorge CE_ Blanco N.A. N.A. N.A. N.A. No se registra el pedido OK
pedido de de Auditoría y se indica
(Flujo Básico) E01 02-01 02-10 V03 Campos V04
Auditoría que la fecha ingresada
con fecha C no puede ser futura.
de solicitud
futura
5 Agregar 4.8.5.4.a,b,c CE_ 2015- CE_E02 Blanco CE_ Jorge CE_ Blanco N.A. N.A. N.A. N.A. No se registra el pedido OK
pedido de de Auditoría y se indica
(Flujo Básico) V01 10-24 A V03 Campos V04
Auditoría que se debe ingresar la
con fecha fecha límite de entrega.
límite de
entrega en
blanco
6 Agregar 4.8.5.4.a,b,c CE_ 2015- CE_E02 1234567 CE_ Jorge CE_ Blanco N.A. N.A. N.A. N.A. No se registra el pedido OK
pedido de de Auditoría y se indica
(Flujo Básico) V01 10-24 B V03 Campos V04
Auditoría que el valor ingresado
con fecha debe ser una fecha
límite de válida.
entrega no
válida
7 Agregar 4.8.5.4.a,b,c CE_ 2015- CE_E02 2015- CE_ Jorge CE_ Blanco N.A. N.A. N.A. N.A. No se registra el pedido OK
pedido de de Auditoría y se indica
(Flujo Básico) V01 10-24 C 01-01 V03 Campos V04
Auditoría que la fecha ingresada
con fecha no puede ser pasada.
límite de
entrega
pasada
8 Agregar 4.8.5.4.a,b,c CE_ 2015- CE_V02 2017- CE_ Blanco CE_ Blanco N.A. N.A. N.A. N.A. No se registra el pedido OK
pedido de de Auditoría y se indica
(Flujo Básico) V01 10-24 03-01 E03 V04
Auditoría que el auditor es un
con dato obligatorio.
Auditor en
blanco

Página 412
CP Desc. Secuencia en Fecha de Fecha Límite Auditor Observaciones Observaciones Observaciones Resultado Esperado Resultado
el caso de uso solicitud Entrega Solicitud Respuesta Cierre Obtenido
relacionado
C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor

9 Agregar 4.8.5.4.a,b,c CE_ 2015- CE_V02 2017- CE_ Jorge CE_ Observaci N.A. N.A. N.A. N.A. Se registra el pedido de OK
pedido de auditoría (el código se
(Flujo Básico) V01 10-24 03-01 V03 Campos V04 ones
Auditoría autogenera). Debe
con todo Solicitud mostrarse una alerta
correcto por la fecha límite de
entrega (excede 15
días).
10 Editar 4.8.5.5.1.a,b CE_ Blanco CE_V02 2017- CE_ Jorge CE_ Observaci N.A. N.A. N.A. N.A. No se registra el pedido OK
pedido de (Subflujo de Auditoría y se indica
E01 03-01 V03 Campos V04 ones
Auditoría Modificar que se debe ingresar la
con fecha Pedido de A Solicitud fecha de inicio.
de solicitud Auditoría)
en blanco
Utilizar el
pedido creado
en el CP9
11 Editar 4.8.5.5.1.a,b CE_ -666 CE_V02 2017- CE_ Jorge CE_ Observaci N.A. N.A. N.A. N.A. No se registra el pedido OK
pedido de (Subflujo de Auditoría y se indica
E01 03-01 V03 Campos V04 ones
Auditoría Modificar que el valor ingresado
con fecha Pedido de B Solicitud debe ser una fecha
de solicitud Auditoría) válida.
no válida

12 Editar 4.8.5.5.1.a,b CE_ 2017- CE_V02 2017- CE_ Jorge CE_ Observaci N.A. N.A. N.A. N.A. No se registra el pedido OK
pedido de (Subflujo de Auditoría y se indica
E01 02-01 02-10 V03 Campos V04 ones
Auditoría Modificar que la fecha ingresada
con fecha Pedido de C Solicitud no puede ser futura
de solicitud Auditoría)
futura
13 Editar 4.8.5.5.1.a,b CE_ 2015- CE_E02 Blanco CE_ Jorge CE_ Observaci N.A. N.A. N.A. N.A. No se registra el pedido OK
pedido de (Subflujo de Auditoría y se indica
V01 10-24 A V03 Campos V04 ones
Auditoría Modificar que se debe ingresar la
con fecha Pedido de fecha límite de entrega.

Página 413
CP Desc. Secuencia en Fecha de Fecha Límite Auditor Observaciones Observaciones Observaciones Resultado Esperado Resultado
el caso de uso solicitud Entrega Solicitud Respuesta Cierre Obtenido
relacionado
C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor

límite de Auditoría) Solicitud


entrega en
blanco

14 Editar 4.8.5.5.1.a,b CE_ 2015- CE_E02 1234567 CE_ Jorge CE_ Observaci N.A. N.A. N.A. N.A. No se registra el pedido OK
pedido de (Subflujo de Auditoría y se indica
V01 10-24 B V03 Campos V04 ones
Auditoría Modificar que el valor ingresado
con fecha Pedido de Solicitud debe ser una fecha
límite de Auditoría) válida.
entrega no
válida

15 Editar 4.8.5.5.1.a,b CE_ 2015- CE_E02 2015- CE_ Jorge CE_ Observaci N.A. N.A. N.A. N.A. No se registra el pedido OK
pedido de (Subflujo de Auditoría y se indica
V01 10-24 C 01-01 V03 Campos V04 ones
Auditoría Modificar que la fecha ingresada
con fecha Pedido de Solicitud no puede ser pasada
límite de Auditoría)
entrega
pasada
16 Editar 4.8.5.5.1.a,b CE_ 2015- CE_V02 2017- CE_ Blanco CE_ Observaci N.A. N.A. N.A. N.A. No se registra el pedido OK
pedido de (Subflujo de Auditoría y se indica
V01 10-24 03-01 E03 V04 ones
Auditoría Modificar que el auditor es un
con Pedido de Solicitud dato obligatorio.
Auditor en Auditoría)
blanco

17 Editar 4.8.5.5.1.a,b CE_ 2015- CE_V02 2017- CE_ Mario CE_ Observaci N.A. N.A. N.A. N.A. Se graba el pedido con OK
pedido de (Subflujo las modificaciones
V01 10-23 04-01 V03 Barrios V04 ones
Auditoría Modificar realizadas. Debe
con todo Pedido de editadas mostrarse una alerta
correcto Auditoría) por la fecha límite de
entrega (excede 15
días).

Página 414
CP Desc. Secuencia en Fecha de Fecha Límite Auditor Observaciones Observaciones Observaciones Resultado Esperado Resultado
el caso de uso solicitud Entrega Solicitud Respuesta Cierre Obtenido
relacionado
C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor

18 Eliminar 4.8.5.5.2.a,b,c N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. Se elimina el pedido de Ok
pedido de ,d auditoría previa
Auditoría (Subflujo pantalla de
Eliminar confirmación.
Pedido de
Auditoría)

19 Ver detalle 4.8.5.5.6.a,b N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. Se muestra el detalle Ok
de (Subflujo Ver del pedido de auditoría
Auditoría Detalle de de acuerdo a los datos
Pedido de indicados en el punto
Auditoría) 7.3.

Utilizar el
pedido de
Auditoría 13
Tabla 172: Casos de Prueba: CUS11 - Mantenimiento de pedido de Auditoría

Resultados de la ejecución de los casos de Prueba


Ver anexo 9.

Página 415
7.4.5.2.2. Escenario de Prueba: Mantenimiento de Pases Relacionados

Data Inicial: Ver la sección 7.3.

CP Desc. Secuencia en Fecha de Fecha Límite Auditor Observaciones Pase Relacionado Resultado Esperado Resultado
el caso de uso solicitud Entrega Solicitud Obtenido
relacionado
C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor

20 Agregar 4.8.5.4.a,b,c CE_ 2015- CE_V02 2017- CE_ Jorge CE_ Observaci N.A. N.A. Se registra el pedido de OK
pedido de auditoría (el código se
(Flujo Básico) V01 10-24 03-01 V03 Campos V04 ones
Auditoría autogenera). Previamente se
con todo Solicitud pide confirmación porque la
correcto fecha de entrega es distante.

21 Agregar 4.8.5.4.a,b,c, N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. CE_E0 1, No se graban los pases OK
pases d, e (Flujo indicados y se indica que el
5A
relacionad Básico) formato de la relación es
os – lista incorrecto.
no válida Utilizar el
pedido de
Auditoría
creado en el
CP20

22 Agregar 4.8.5.4.a,b,c, N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. CE_E0 ;a No se graban los pases OK
pases d, e (Flujo indicados y se indica que el
5A
relacionad Básico) formato de la relación es
os – lista incorrecto.
no válida
23 Agregar 4.8.5.4.a,b,c, N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. CE_E0 a; No se graban los pases OK
pases d, e (Flujo indicados y se indica que el
5A
relacionad Básico) formato de la relación es
os – lista incorrecto.
no válida

Página 416
CP Desc. Secuencia en Fecha de Fecha Límite Auditor Observaciones Pase Relacionado Resultado Esperado Resultado
el caso de uso solicitud Entrega Solicitud Obtenido
relacionado
C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor

24 Agregar 4.8.5.4.a,b,c, N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. CE_E0 9a No se graban los pases OK
pases d, e (Flujo indicados y se indica que el
5A
relacionad Básico) formato de la relación es
os – lista incorrecto.
no válida
25 Agregar 4.8.5.4.a,b,c, N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. CE_E0 7-7 No se graban los pases OK
pases d, e (Flujo indicados y se indica que el
5A
relacionad Básico) formato de la relación es
os – lista incorrecto.
no válida
26 Agregar 4.8.5.4.a,b,c, N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. CE_E0 ; No se graban los pases OK
pases d, e (Flujo indicados y se indica que
5B
relacionad Básico) debe ingresarse la lista de
os – lista revisiones.
en blanco
27 Agregar 4.8.5.4.a,b,c, N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. CE_E0 78430;78430;78430 No se graban los pases OK
pases d, e (Flujo indicados y se indica que el
5C
relacionad Básico) pase 78430 se encuentra
os – lista duplicado en la lista.
con
duplicados
28 Agregar 4.8.5.4.a,b,c, N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. CE_E0 78430;9999; No se graba el pase indicado OK
pases d, e (Flujo y se indica que el pase 9999
5D
relacionad Básico) no existe.
os – pase
no existe
29 Agregar 4.8.5.4.a,b,c, N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. CE_E0 78430;78439; No se graban los pases OK
pases d, e (Flujo indicados y se indica que el
5E
relacionad Básico) pase 78439 no cuenta con
os – pase ninguna revisión finalizada.
sin
revisiones
Página 417
CP Desc. Secuencia en Fecha de Fecha Límite Auditor Observaciones Pase Relacionado Resultado Esperado Resultado
el caso de uso solicitud Entrega Solicitud Obtenido
relacionado
C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor

finalizadas

30 Agregar 4.8.5.4.a,b,c, N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. CE_V0 78430; 78431 Se relacionan las revisiones Ok
pases d, e (Flujo que forman parte de los
5
relacionad Básico) pases indicados de acuerdo
os – todo a lo indicado en la sección
correcto 7.3.
31 Eliminar 4.8.5.5.1.a,b,c N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. N.A. Se eliminan las revisiones Ok
pases (Subflujo que corresponden al pase
relacionad Modificar 78430.
os al Pedido de
pedido de Auditoría)
auditoría
Eliminar el
pase 78430
agregado en
el paso
anterior.
Tabla 173: Casos de Prueba: CUS11 - Mantenimiento de Pases Relacionados

Resultados de la ejecución de los casos de Prueba


Ver anexo 9.

Página 418
7.4.5.2.3. Escenario de Prueba: Exportar, Responder y Cerrar
Data Inicial: Ver la sección 7.3.

CP Desc. Secuencia en el caso de Observaciones Respuesta Observaciones Cierre Resultado Esperado Resultado
uso relacionado Obtenido

C.E. Valor C.E. Valor


32 Exportar 4.8.5.5.3.a,b,c,d N.A. N.A. N.A. N.A. Se exportan los documentos que son parte de los pases OK
documentos (Subflujo Exportar 78430, 78431, 78432 y 78433 en concordancia con los
de pedido de Documentación para datos indicados en la sección 7.3.
auditoría Auditoría)

Utilizar el pedido de
Auditoría 14.
33 Responder 4.8.5.5.4.a,b,c,d CE_V06 Se entregó la N.A. N.A. Se marca el pedido como respondido. OK
pedido de (Subflujo Marcar Pedido
información.
Auditoría como Respondido)

Utilizar el pedido de
Auditoría 14.

34 Cerrar 4.8.5.5.5.a,b,c,d N.A. N.A. CE_V07 Se cerró sin Se marca el pedido como cerrado. OK
pedido de (Subflujo Marcar Pedido
novedad, no
Auditoría como Respondido)
encontraron
Utilizar el pedido de
nada
Auditoría 14.
resaltante…

Tabla 174: Casos de Prueba: CUS11 - Exportar, responder y cerrar

Resultados de la ejecución de los casos de Prueba


Ver anexo 9.
Página 419
7.4.6. Caso de Pruebas: CUS18-Administrar Carta de Desviación

7.4.6.1. Clases de Equivalencia

DEFINICIÓN DE LAS CLASES DE EQUIVALENCIA


Condición de Tipo Clases Válidas Clases No válidas
Entrada Código Entrada Observaciones Código Entrada
Título Alfanumérico CE_V01 Cualquier CE_E01 En blanco
cadena de
caracteres
Fecha de Fecha (yyyy- CE_V02 Fecha de CE_E02A En blanco
Vencimiento mm-dd) Vencimiento CE_E02B Fecha de vencimiento igual o anterior a hoy
futura.
CE_E02C Valor no válido de fecha
Carta de Binario CE_V03 Ruta a un CE_E03A En blanco
Desviación archivo de tipo
digitalizada PDF. CE_E03B Ruta a un archivo con extensión diferente a
cuando es creación PDF

Carta de Binario CE_V04 Blanco o Ruta a CE_E04 Ruta a un archivo con extensión diferente a
Desviación un archivo de PDF
digitalizada tipo PDF.
cuando es
modificación

Página 420
DEFINICIÓN DE LAS CLASES DE EQUIVALENCIA
Condición de Tipo Clases Válidas Clases No válidas
Entrada Código Entrada Observaciones Código Entrada
Observación en el Alfanumérico CE_V05 Cualquier Es opcional. No aplica.
Registro cadena de
caracteres,
incluyendo
blanco.

Revisión que Numérico CE_V06 Una revisión CE_E06A Revisión inexistente.


levanta la Carta aprobada y
diferente a la
revisión CE_E06B Revisión que no se encuentra aprobada.
amparada por la
carta
CE_E06C Revisión es la misma que se encuentra bajo
amparo de la carta.

Observación en el Alfanumérico CE_V07 Cualquier Es opcional. No aplica.


Levantamiento cadena de
caracteres
Tabla 175: Casos de Prueba: CUS18 - Clases de Equivalencia

Página 421
7.4.6.2. Escenarios de Prueba y Registro de Resultados

7.4.6.2.1. Escenario de Prueba: Registro y Mantenimiento

Data Inicial: Ver la sección 7.3.

CP Desc. Secuencia en Titulo Fecha Carta Carta Observación Revisión que Observación Resultado Resultado
el caso de uso Vencimiento (creación) (modif.) Registro levanta la carta Levantamiento Esperado Obtenido
relacionado C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor
1 Carga de la 4.8.6.4.a, b N.A N.A. N.A N.A. N.A N.A. N.A N.A. N.A. N.A. N.A. N.A. N.A N.A. Carga las cartas 59, Ok
bandeja de (Flujo básico) 60 y 61 de acuerdo
.
Cartas de a la data indicada
Desviación el punto 7.3.
2 Registro de 4.8.6.4.a, b, c, CE_ Blanco CE_ 2016-06-01 CE_V Ruta a un N.A N.A. CE_V Blanco N.A. N.A. N.A. N.A. No se debe grabar Ok
Carta de d archivo el registro y el
E01 V02 03 05
Desviación (Flujo básico) PDF sistema debe
con título y presente indicar: “Debe
fecha en en la PC ingresar el título”
blanco
3 Registro de 4.8.6.4.a, b, c, CE_ Carta CE_ Blanco CE_V Ruta a un N.A N.A. CE_V Blanco N.A. N.A. N.A. N.A. No se debe grabar Ok
Carta de d archivo el registro y el
V01 de E02 03 05
Desviación (Flujo básico) PDF sistema debe
con fecha en prueba A presente indicar: “Debe
blanco en la PC ingresar la fecha
de vencimiento”
4 Registro de 4.8.6.4.a, b, c, CE_ Carta CE_ 2016-06-01 CE_E Blanco N.A N.A. CE_V Blanco N.A. N.A. N.A. N.A. No se debe grabar Ok
Carta de d el registro y el
V01 de V02 03A 05
Desviación (Flujo básico) sistema debe
sin archivo prueba indicar: “Debe
adjunto indicar el archivo
adjunto”

Página 422
CP Desc. Secuencia en Titulo Fecha Carta Carta Observación Revisión que Observación Resultado Resultado
el caso de uso Vencimiento (creación) (modif.) Registro levanta la carta Levantamiento Esperado Obtenido
relacionado C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor
5 Registro de 4.8.6.4.a, b, c, CE_ Carta CE_ 2016-06-01 CE_E Ruta a un N.A N.A. CE_V Blanco N.A. N.A. N.A. N.A. No se debe grabar Ok
Carta de d archivo el registro y el
V01 de V02 03B 05
Desviación (Flujo básico) Word sistema debe
con archivo prueba presente indicar: “El archivo
con en la PC debe ser de tipo
extensión .pdf”
incorrecta
6 Registro de 4.8.6.4.a, b, c, CE_ Carta CE_ 2014-01-01 CE_V Ruta a un N.A N.A. CE_V Obs. 1 N.A. N.A. N.A. N.A. No se debe grabar Ok
Carta de d archivo el registro y el
V01 de E02 03 05
Desviación (Flujo básico) PDF sistema debe
con fecha de prueba B presente indicar: “La fecha
anterior a en la PC de vencimiento no
hoy puede ser anterior
o igual a hoy”

7 Registro de 4.8.6.4.a, b, c, CE_ Carta CE_ Fecha de CE_V Ruta a un N.A N.A. CE_V Obs. 1 N.A. N.A. N.A. N.A. No se debe grabar Ok
Carta de d archivo el registro y el
V01 de E02 hoy 03 05
Desviación (Flujo básico) PDF sistema debe
con fecha prueba B presente indicar: “La fecha
igual a hoy en la PC de vencimiento no
puede ser anterior
o igual a hoy”

8 Registro de 4.8.6.4.a, b, c, CE_ Carta CE_ -666 CE_V Ruta a un N.A N.A. CE_V Obs. 1 N.A. N.A. N.A. N.A. No se debe grabar Ok
Carta de d archivo el registro y el
V01 de E02 03 05
Desviación (Flujo básico) PDF sistema debe
con un valor prueba C presente indicar: “El campo
no válido en la PC Fecha Vencimiento
como fecha debe ser una
fecha”.

Página 423
CP Desc. Secuencia en Titulo Fecha Carta Carta Observación Revisión que Observación Resultado Resultado
el caso de uso Vencimiento (creación) (modif.) Registro levanta la carta Levantamiento Esperado Obtenido
relacionado C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor
9 Registro de 4.8.6.4.a, b, c, CE_ Carta CE_ 2016-06-01 CE_V Ruta a un N.A N.A. CE_V Obs. 1 N.A. N.A. N.A. N.A. El sistema graba la Ok
Carta de d, e archivo Carta de
V01 de V02 03 05
Desviación (Flujo básico) PDF Desviación
Correcta prueba presente Ingresada
en la PC
10 Ver detalle 4.8.6.5.1.a, b N.A N.A. N.A N.A. N.A N.A. N.A N.A. N.A. N.A. N.A. N.A. N.A N.A. Muestra el detalle Ok
de Carta de (Subflujo Ver de la carta 59 de
.
Desviación Detalle de la acuerdo a lo
Carta) especificado en el
punto 7.3.
Utilizar la carta
59.

11 Modificación 4.8.6.5.2.a,b CE_ Blanco CE_ 2016-06-01 N.A N.A. CE_ Ruta a un CE_V Obs. 1 N.A. N.A. N.A. N.A. No se debe grabar Ok
de Carta de (subflujo archivo el registro y el
E01 V02 V04 05
Desviación Modificar una PDF sistema debe
con título y Carta de presente indicar: “Debe
fecha en Desviación) en la PC ingresar el título”
blanco
Utilizar la carta
ingresada en el
CP 9.

12 Modificación 4.8.6.5.2.a,b CE_ Carta CE_ Blanco N.A N.A. CE_ Ruta a un CE_V Obs. 1 N.A. N.A. N.A. N.A. No se debe grabar Ok
de Carta de archivo el registro y el
(subflujo V01 de E02 V04 05
Desviación PDF sistema debe
con fecha en Modificar una prueba A presente indicar: “Debe
blanco en la PC ingresar la fecha
Carta de
de vencimiento”
Desviación)
Utilizar la carta
ingresada en el
CP 9.

Página 424
CP Desc. Secuencia en Titulo Fecha Carta Carta Observación Revisión que Observación Resultado Resultado
el caso de uso Vencimiento (creación) (modif.) Registro levanta la carta Levantamiento Esperado Obtenido
relacionado C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor
13 Modificación 4.8.6.5.2.a,b CE_ Carta CE_ 2016-06-01 N.A. N.A. CE_ Ruta a un CE_V Obs. 1 N.A. N.A. N.A. N.A. No se debe grabar Ok
de Carta de archivo el registro y el
(subflujo V01 de V02 E04 05
Desviación Word sistema debe
con archivo Modificar una prueba presente indicar: “El archivo
con en la PC debe ser de tipo
Carta de
extensión .pdf”
incorrecta Desviación)
Utilizar la carta
ingresada en el
CP 9.
14 Modificación 4.8.6.5.2.a,b CE_ Carta CE_ 2014-01-01 N.A. N.A. CE_ Ruta a un CE_V Obs. 1 N.A. N.A. N.A. N.A. No se debe grabar Ok
de Carta de archivo el registro y el
(subflujo V01 de E02 V04 05
Desviación PDF sistema debe
con fecha de Modificar una prueba B presente indicar: “La fecha
anterior a en la PC de vencimiento no
Carta de
hoy puede ser anterior
Desviación) o igual a hoy”
Utilizar la carta
ingresada en el
CP 9.

15 Modificación 4.8.6.5.2.a,b CE_ Carta CE_ Fecha de N.A. N.A. CE_ Ruta a un CE_V Obs. 1 N.A. N.A. N.A. N.A. No se debe grabar Ok
de Carta de archivo el registro y el
(subflujo V01 de E02 hoy V04 05
Desviación PDF sistema debe
con fecha Modificar una prueba B presente indicar: “La fecha
igual a hoy en la PC de vencimiento no
Carta de
puede ser anterior
Desviación) o igual a hoy”
Utilizar la carta
ingresada en el
CP 9.

Página 425
CP Desc. Secuencia en Titulo Fecha Carta Carta Observación Revisión que Observación Resultado Resultado
el caso de uso Vencimiento (creación) (modif.) Registro levanta la carta Levantamiento Esperado Obtenido
relacionado C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor
16 Modificación 4.8.6.5.2.a,b CE_ Carta CE_ -666 N.A. N.A. CE_ Ruta a un CE_V Obs. 1 N.A. N.A. N.A. N.A. No se debe grabar Ok
de Carta de archivo el registro y el
(subflujo V01 de E02 V04 05
Desviación PDF sistema debe
con un valor Modificar una prueba C presente indicar: “El campo
no válido en la PC Fecha Vencimiento
Carta de
como fecha debe ser una
Desviación) fecha”.
Utilizar la carta
ingresada en el
CP 9.

17 Modificación 4.8.6.5.2.a,b,c CE_ Carta CE_ 2016-06-01 N.A. N.A. CE_ Ruta a un CE_V Obs. 1 N.A. N.A. N.A. N.A. El sistema graba la Ok
de Carta de archivo Carta de
(subflujo V01 de V02 V04 05
Desviación PDF Desviación
Correcta (con Modificar una prueba presente Ingresada. Dicha
archivo en la PC carta debe
Carta de
adjunto) reemplazar a la
Desviación) anterior.
Utilizar la carta
ingresada en el
CP 9.

18 Modificación 4.8.6.5.2.a,b,c CE_ Carta CE_ 2016-06-01 N.A. N.A. CE_ Blanco CE_V Obs. 1 N.A. N.A. N.A. N.A. El sistema graba la Ok
de Carta de Carta de
(subflujo V01 de V02 V04 05
Desviación Desviación
(sin archivo Modificar una prueba Ingresada. Se debe
adjunto) mantener el
Carta de
adjunto anterior.
Desviación)
Utilizar la carta
ingresada en el
CP 9.

Página 426
CP Desc. Secuencia en Titulo Fecha Carta Carta Observación Revisión que Observación Resultado Resultado
el caso de uso Vencimiento (creación) (modif.) Registro levanta la carta Levantamiento Esperado Obtenido
relacionado C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor
19 Modificación 4.8.6.5.2.a,b,c CE_ Carta CE_ 2018-06-01 N.A. N.A. CE_ Blanco CE_V Obs. 3 N.A. N.A. N.A. N.A. El sistema graba la Ok
de Carta de Carta de
(subflujo V01 de V02 V04 05
Desviación Desviación
(fecha mayor Modificar una prueba Ingresada. Se debe
a un año) mantener el
Carta de editada
adjunto anterior.
Desviación) Se debe solicitar
confirmación
Utilizar la carta
porque la fecha de
ingresada en el
vencimiento es
CP 9.
distante.

20 Eliminar de 4.8.6.5.3, a, b, N.A N.A. N.A N.A. N.A N.A. N.A N.A. N.A. N.A. N.A. N.A. N.A N.A. Eliminar la Carta Ok
Carta de c de Desviación
Desviación (Eliminar una indicada.
carta de
desviación)

Utilizar la carta
ingresada en el
CP 9.

Tabla 176: Casos de Prueba: CUS18 – Registro y mantenimiento

Resultados de la ejecución de los casos de Prueba


Ver anexo 9.

Página 427
7.4.6.2.2. Escenario de Prueba: Levantamiento de Carta de Desviación

Data Inicial: Ver la sección 7.3.


CP Desc. Secuencia en Titulo Fecha Carta Carta Observación Revisión que levanta Observación Resultado Esperado Resultado
el caso de Vencimiento (creación) (modif.) Registro la carta Levantamiento Obtenido
uso C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor
relacionado
21 Levantar carta 4.8.6.5.4.a,b, N.A N.A. N.A. N.A. N.A N.A. N.A N.A. N.A. N.A. CE_E06 999 CV_07 Blanco No debe proceder el Ok
de Desviación A levantamiento y se debe
c (subflujo
con una indicar que la revisión no
Revisión que Levantar existe.
no existe
Carta de
Desviación)
Seleccionar
la carta 60

22 Levantar carta 4.8.6.5.4.a,b, N.A N.A. N.A. N.A. N.A N.A. N.A N.A. N.A. N.A. CE_E06 569 CV_07 Blanco No debe proceder el Ok
de Desviación B levantamiento y se debe
c (subflujo
con una indicar que la revisión no
Revisión que Levantar se encuentra aprobada.
no está
Carta de
aprobada.
Desviación)
Seleccionar
la carta 60

23 Levantar carta 4.8.6.5.4.a,b, N.A N.A. N.A. N.A. N.A N.A. N.A N.A. N.A. N.A. CE_E06 576 CV_07 Blanco No debe proceder el Ok
de Desviación C levantamiento y se debe
c (subflujo
con una indicar que la revisión es
revisión que es Levantar la misma que se
la misma que encuentra bajo amparo de
Carta de
está la carta.
amparando. Desviación)

Página 428
CP Desc. Secuencia en Titulo Fecha Carta Carta Observación Revisión que levanta Observación Resultado Esperado Resultado
el caso de Vencimiento (creación) (modif.) Registro la carta Levantamiento Obtenido
uso C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor C.E. Valor
relacionado
Seleccionar
la carta 60

24 Levantamiento 4.8.6.5.4.a,b N.A N.A. N.A. N.A. N.A N.A. N.A N.A. N.A. N.A. CV_06 579 CV_07 Obs.1 Debe registrarse el Ok
correcto levantamiento de la carta.
(subflujo
Levantar
Carta de
Desviación)
Seleccionar
la carta 60

Tabla 177: Casos de Prueba: CUS18 - Levantamiento de Carta de Desviación

Resultados de la ejecución de los casos de Prueba


Ver anexo 9.

Página 429
7.5. Pruebas No Funcionales

7.5.1. Inspección de los servicios del negocio ejercitados por pruebas


automáticas
Se adjuntan los resultados de la inspección de código realizada. Esta revisión tiene
como propósito obtener datos para analizar el cumplimiento de la métrica MC03, la cual
se detalla en la sección 7.2.4.

Los métodos resaltados en rojo no cuentan con pruebas automáticas. En la mayoría de


casos esto se debe a que resulta más simple realizar una revisión visual, por ejemplo, en
la exportación de un documento Word que requiere de cierto formato.

Fecha 12/02/2016
Proyecto Sistema de Gestión de IST
Analista de Pruebas Roberto Vaccari
Tipo de Prueba Inspección de los servicios de la capa de negocios ejercitados
por pruebas automáticas

Servicio Método Expuesto Nombre del método de prueba


asociado
AnalizadorService AnalizaGenexus Suite de Pruebas
Tester_ValidadorGenexus
AnalizaCL Suite de Pruebas Tester_ValidadorCL
CartaDesviacionService Insert CartaDesviacion_CicloDeVida
Update CartaDesviacion_CicloDeVida
Delete CartaDesviacion_CicloDeVida
Levanta CartaDesviacion_CicloDeVida
GetCartaDesviacion CartaDesviacion_GetCarta,
CartaDesviacion_CicloDeVida
GetVcdasAFecha CartaDesviacion_GetVcdasAFecha
ExportaVcdasVencer
GetAll CartaDesviacion_GetAll
GetNumerador CartaDesviacion_CicloDeVida
AdjuntoService Upsert Adjunto_CicloDeVida
Delete Adjunto_CicloDeVida
GetAdjuntos Adjunto_GetAdjuntos
GetAdjunto Adjunto_GetAdjunto,
Adjunto_CicloDeVida

Página 430
Servicio Método Expuesto Nombre del método de prueba
asociado
AuditoriaRevision Insert AuditoriaRevision_CicloDeVida
Service Delete AuditoriaRevision_CicloDeVida
GetRevisionesIST AuditoriaRevision_GetRevisionesIST,
AuditoriaRevision_CicloDeVida
AuditoriaService Insert Auditoria_CicloDeVida
Update Auditoria_CicloDeVida
Export
Delete Auditoria_CicloDeVida
Responder Auditoria_CicloDeVida
Cerrar Auditoria_CicloDeVida
GetAuditoria Auditoria_GetAuditoria,
Auditoria_CicloDeVida
GetAll Auditoria_GetAll
ChecklistService Insert Checklist_CicloDeVida
Delete Checklist_CicloDeVida
GetAll Checklist_GetAll
GetChecklistItem Checklist_GetCheckListItem,
Checklist_CicloDeVida
GetCheckListByTipoRevis Checklist_GetCheckListByTipoRevisio
ion n
ErrorService GetAll Error_GetAll
GetHumanos Error_GetHumanos
GetAnalizador Error_GetAnalizador
HallazgoEstaticoService GetHallazgosEstaticos HallazgoEstatico_GetHallazgos
GetHallazgoEstatico HallazgoEstatico_GetHallazgo
GetHallazgosByRevision HallazgoEstatico_GetHallazgosByRevi
sion
UpdateHallazgo HallazgoEstatico_Update
HallazgoService Insert Hallazgo_CicloDeVida
Update Hallazgo_CicloDeVida
Delete Hallazgo_CicloDeVida
GetHallazgo Hallazgo_CicloDeVida
GetAll Hallazgo_GetHallazgos
ItemRevisionService GetItemRevision ItemRevision_GetItemRevision
GetAllByRevision ItemRevision_GetAllByRevision
ParametroService Insert Parametro_CicloDeVida
UpdateCadena Parametro_CicloDeVida
UpdateValor Parametro_CicloDeVida,
Revisiones_Carga
Delete Parametro_CicloDeVida
GetTiposAnalisisEstatico Parametro_GetTiposAnalisisEstatico
GetTiposRevisionIST Parametro_GetTiposRevisionIST
GetParametro Parametro_CicloDeVida
GetParametroByCadena Parametro_CicloDeVida

Página 431
Servicio Método Expuesto Nombre del método de prueba
asociado
GetParametros Parametro_CicloDeVida
PrioridadService GetAll Prioridad_GetAll
RevisionService Carga Revisiones_Carga
MarcaClasificacion Revisiones_CicloDeVida
Clasifica Revisiones_CicloDeVida
Asigna Revisiones_CicloDeVida
ApruebaAnalista Revisiones_CicloDeVida
RechazaAnalista Revisiones_CicloDeVida
Devuelve Revisiones_CicloDeVida
ApruebaSupervisor Revisiones_CicloDeVida
ApruebaSupervisorCarta Revisiones_CicloDeVidaConCarta
RechazaSupervisor Revisiones_CicloDeVida
Export
MarcaRevisionComoVista Revisiones_CicloDeVida,
Revisiones_CicloDeVidaConCarta
GetRevision Revisiones_CicloDeVida,
Revisiones_GetRevision
GetAll Revisiones_GetAll
GetByAnalistaIST Revisiones_GetPasesByAnalistaIST
GetResumen Revisiones_GetResumen
GetHistoriaObjeto Revisiones_HistoriaObjeto
GetEventos Revisiones_CicloDeVida
GeneraStatusReport
GetClasificadorInfoAnalist Revisiones_Carga
a
GetClasificadorInfoCompo Revisiones_Carga
nente
StatService GetRankingAnalistasDesa Stat_RankingAnalistasDesa
GetRankingProgramas Stat_RankingProgramas
GetRankingAplicaciones Stat_RankingAplicaciones
GetRankingHallazgos Stat_RankingHallazgos
GetEsfuerzoAnalistasIST Stat_EsfuerzoAnalistasIST
GetEsfuerzoRevisionesAsi Stat_GetEsfuerzoRevisionesAsignadas
gnadas
GetEsfuerzoAsignadoAnal Stat_GetEsfuerzoAsignadoAnalista
ista
GetDistribucionEstadoRev Stat_DistribucionEstadoRevision
ision
GetDistribucionTipoRevisi Stat_DistribucionTipoRevision
on
GetDistribucionTipoRevisi Stat_DistribucionTipoRevisionMensual
onMensual
GetDistribucionTipoRespu Stat_DistribucionTipoRespuesta
esta
GetDistribucionTipoRespu Stat_DistribucionTipoRespuestaMensu
estaMensual al

Página 432
Servicio Método Expuesto Nombre del método de prueba
asociado
TipoDocumentoService Insert TipoDocumento_CicloDeVida
Update TipoDocumento_CicloDeVida
Delete TipoDocumento_CicloDeVida
GetTipoDocumento TipoDocumento_GetTipoDocumento,
TipoDocumento_CicloDeVida
GetAll TipoDocumento_GetAll
TipoRevisionService GetAll TipoRevision_GetAll
AreaRolService Insert AreaRol_CicloDeVida
Delete AreaRol_CicloDeVida
GetAreaRoll AreaRol_GetAreaRol,
AreaRol_CicloDeVida
GetAll AreaRol_GetAll
AreaService Insert Area_CicloDeVida
Update Area_CicloDeVida
Delete Area_CicloDeVida
GetArea Area_GetArea, Area_CicloDeVida
GetAll Area_GetAll
RolService Insert Rol_CicloDeVida
Update Rol_CicloDeVida
Delete Rol_CicloDeVida
GetRol Rol_GetRol, Rol_CicloDeVida
GetAll Rol_GetAll
UsuarioService Insert Usuario_CicloDeVida
Update Usuario_CicloDeVida
Delete Usuario_CicloDeVida
Activa Usuario_CicloDeVida
Desactiva Usuario_CicloDeVida
PasswordUpdate Usuario_PasswordUpdate
PasswordReset Usuario_PasswordReset
PasswordCumpleConPoliti Usuario_PasswordPolicy
ca
Login
GetUsuario Usuario_GetUsuario,
Usuario_CicloDeVida
GetUsuariosByRol Usuario_GetAuditores
GetAll Usuario_GetAll
Tabla 178: Servicios con pruebas automáticas

Los resultados del cumplimiento de la métrica se encuentran en la sección 7.7.

Página 433
7.5.2. Inspección de los servicios del negocio que cuentan con log de
ejecución en modo Trace
Se adjuntan los resultados de la inspección de código realizada. Esta revisión tiene
como propósito obtener datos para analizar el cumplimiento de la métrica MC04, la cual
se detalla en la sección 7.2.4.

Fecha 12/02/2016
Proyecto Sistema de Gestión de IST
Analista de Roberto Vaccari
Pruebas
Tipo de Prueba Inspección de los servicios de la capa de negocios que cuentan con
log de ejecución en modo Trace

Servicio Método Expuesto ¿Cuenta Analizabilidad


con Log?
Analizador AnalizaGenexus Sí Traza de ejecución del
Service método, parámetros de
entrada principales
AnalizaCL Sí Traza de ejecución del
método, parámetros de
entrada principales
Carta Insert Sí Traza de ejecución del
Desviacion método y parámetros de
Service entrada
Update Sí Traza de ejecución del
método y parámetros de
entrada
Delete Sí Traza de ejecución del
método y parámetros de
entrada
Levanta Sí Traza de ejecución del
método y parámetros de
entrada
GetCartaDesviacion Sí Traza de ejecución del
método, parámetros de
entrada y dump del
resultado devuelto
GetVcdasAFecha Sí Traza de ejecución del
método, parámetros de
entrada y dump del
resultado devuelto
ExportaVcdasVencer Sí Traza de ejecución del
método y parámetros de
entrada

Página 434
Servicio Método Expuesto ¿Cuenta Analizabilidad
con Log?
GetAll Sí Traza de ejecución del
método, parámetros de
entrada y dump del
resultado devuelto
GetNumerador Sí Traza de ejecución del
método y numerado
devuelto
Adjunto Upsert Sí Traza de ejecución del
Service método y parámetros de
entrada
Delete Sí Traza de ejecución del
método y parámetros de
entrada
GetAdjuntos Sí Traza de ejecución del
método, parámetros de
entrada y dump del
resultado devuelto
GetAdjunto Sí Traza de ejecución del
método, parámetros de
entrada y dump del
resultado devuelto
Auditoria Insert Sí Traza de ejecución del
Revision método y parámetros de
Service entrada
Delete Sí Traza de ejecución del
método y parámetros de
entrada
GetRevisionesIST Sí Traza de ejecución del
método, parámetros de
entrada y dump del
resultado devuelto
Auditoria Insert Sí Traza de ejecución del
Service método y parámetros de
entrada
Update Sí Traza de ejecución del
método y parámetros de
entrada
Export Sí Traza de ejecución del
método y parámetros de
entrada
Delete Sí Traza de ejecución del
método y parámetros de
entrada
Responder Sí Traza de ejecución del
método y parámetros de
entrada

Página 435
Servicio Método Expuesto ¿Cuenta Analizabilidad
con Log?
Cerrar Sí Traza de ejecución del
método y parámetros de
entrada
GetAuditoria Sí Traza de ejecución del
método, parámetros de
entrada y dump del
resultado devuelto
GetAll Sí Traza de ejecución del
método, parámetros de
entrada y dump del
resultado devuelto
Checklist Insert Sí Traza de ejecución del
Service método y parámetros de
entrada
Delete Sí Traza de ejecución del
método y parámetros de
entrada
GetAll Sí Traza de ejecución del
método, parámetros de
entrada y dump del
resultado devuelto
GetChecklistItem Sí Traza de ejecución del
método, parámetros de
entrada y dump del
resultado devuelto
GetCheckListByTipoRevision Sí Traza de ejecución del
método, parámetros de
entrada y dump del
resultado devuelto
ErrorService GetAll Sí Traza de ejecución del
método, parámetros de
entrada y dump del
resultado devuelto
GetHumanos Sí Traza de ejecución del
método, parámetros de
entrada y dump del
resultado devuelto
GetAnalizador Sí Traza de ejecución del
método, parámetros de
entrada y dump del
resultado devuelto
Hallazgo GetHallazgosEstaticos Sí Traza de ejecución del
Estatico método, parámetros de
Service entrada y dump del
resultado devuelto

Página 436
Servicio Método Expuesto ¿Cuenta Analizabilidad
con Log?
GetHallazgoEstatico Sí Traza de ejecución del
método, parámetros de
entrada y dump del
resultado devuelto
GetHallazgosByRevision Sí Traza de ejecución del
método, parámetros de
entrada y dump del
resultado devuelto
UpdateHallazgo Sí Traza de ejecución del
método, parámetros de
entrada y dump del
resultado devuelto
Hallazgo Insert Sí Traza de ejecución del
Service método y parámetros de
entrada
Update Sí Traza de ejecución del
método y parámetros de
entrada
Delete Sí Traza de ejecución del
método y parámetros de
entrada
GetHallazgo Sí Traza de ejecución del
método, parámetros de
entrada y dump del
resultado devuelto
GetAll Sí Traza de ejecución del
método, parámetros de
entrada y dump del
resultado devuelto
ItemRevision GetItemRevision Sí Traza de ejecución del
Service método, parámetros de
entrada y dump del
resultado devuelto
GetAllByRevision Sí Traza de ejecución del
método, parámetros de
entrada y dump del
resultado devuelto
Parametro Insert Sí Traza de ejecución del
Service método y parámetros de
entrada
UpdateCadena Sí Traza de ejecución del
método y parámetros de
entrada
UpdateValor Sí Traza de ejecución del
método y parámetros de
entrada

Página 437
Servicio Método Expuesto ¿Cuenta Analizabilidad
con Log?
Delete Sí Traza de ejecución del
método y parámetros de
entrada
GetTiposAnalisisEstatico Sí Traza de ejecución del
método, parámetros de
entrada y dump del
resultado devuelto
GetTiposRevisionIST Sí Traza de ejecución del
método, parámetros de
entrada y dump del
resultado devuelto
GetParametro Sí Traza de ejecución del
método, parámetros de
entrada y dump del
resultado devuelto
GetParametroByCadena Sí Traza de ejecución del
método, parámetros de
entrada y dump del
resultado devuelto
GetParametros Sí Traza de ejecución del
método, parámetros de
entrada y dump del
resultado devuelto
Prioridad GetAll Sí Traza de ejecución del
Service método, parámetros de
entrada y dump del
resultado devuelto
Revision Carga Sí Traza de ejecución del
Service método y parámetros de
entrada
MarcaClasificacion Sí Traza de ejecución del
método y parámetros de
entrada
Clasifica Sí Traza de ejecución del
método y parámetros de
entrada
Asigna Sí Traza de ejecución del
método y parámetros de
entrada
ApruebaAnalista Sí Traza de ejecución del
método y parámetros de
entrada
RechazaAnalista Sí Traza de ejecución del
método y parámetros de
entrada
Devuelve Sí Traza de ejecución del

Página 438
Servicio Método Expuesto ¿Cuenta Analizabilidad
con Log?
método y parámetros de
entrada
ApruebaSupervisor Sí Traza de ejecución del
método y parámetros de
entrada
ApruebaSupervisorCarta Sí Traza de ejecución del
método y parámetros de
entrada
RechazaSupervisor Sí Traza de ejecución del
método y parámetros de
entrada
Export Sí Traza de ejecución del
método y parámetros de
entrada
MarcaRevisionComoVista Sí Traza de ejecución del
método y parámetros de
entrada
GetRevision Sí Traza de ejecución del
método, parámetros de
entrada y dump del
resultado devuelto
GetAll Sí Traza de ejecución del
método, parámetros de
entrada y dump del
resultado devuelto
GetByAnalistaIST Sí Traza de ejecución del
método, parámetros de
entrada y dump del
resultado devuelto
GetResumen Sí Traza de ejecución del
método, parámetros de
entrada y dump del
resultado devuelto
GetHistoriaObjeto Sí Traza de ejecución del
método, parámetros de
entrada y dump del
resultado devuelto
GetEventos Sí Traza de ejecución del
método, parámetros de
entrada y dump del
resultado devuelto
GeneraStatusReport Sí Traza de ejecución del
método, parámetros de
entrada y dump del
resultado devuelto

Página 439
Servicio Método Expuesto ¿Cuenta Analizabilidad
con Log?
GetClasificadorInfoAnalista Sí Traza de ejecución del
método, parámetros de
entrada y dump del
resultado devuelto
GetClasificadorInfo Sí Traza de ejecución del
Componente método, parámetros de
entrada y dump del
resultado devuelto
StatService GetRankingAnalistasDesa Sí Traza de ejecución del
método, parámetros de
entrada y dump del
resultado devuelto
GetRankingProgramas Sí Traza de ejecución del
método, parámetros de
entrada y dump del
resultado devuelto
GetRankingAplicaciones Sí Traza de ejecución del
método, parámetros de
entrada y dump del
resultado devuelto
GetRankingHallazgos Sí Traza de ejecución del
método, parámetros de
entrada y dump del
resultado devuelto
GetEsfuerzoAnalistasIST Sí Traza de ejecución del
método, parámetros de
entrada y dump del
resultado devuelto
GetEsfuerzoRevisiones Sí Traza de ejecución del
Asignadas método, parámetros de
entrada y dump del
resultado devuelto
GetEsfuerzoAsignadoAnalista Sí Traza de ejecución del
método, parámetros de
entrada y dump del
resultado devuelto
GetDistribucionEstadoRevision Sí Traza de ejecución del
método, parámetros de
entrada y dump del
resultado devuelto
GetDistribucionTipoRevision Sí Traza de ejecución del
método, parámetros de
entrada y dump del
resultado devuelto
GetDistribucionTipoRevision Sí Traza de ejecución del
Mensual método, parámetros de

Página 440
Servicio Método Expuesto ¿Cuenta Analizabilidad
con Log?
entrada y dump del
resultado devuelto
GetDistribucionTipoRespuesta Sí Traza de ejecución del
método, parámetros de
entrada y dump del
resultado devuelto
GetDistribucionTipoRespuesta Sí Traza de ejecución del
Mensual método, parámetros de
entrada y dump del
resultado devuelto
Tipo Insert Sí Traza de ejecución del
Documento método y parámetros de
Service entrada
Update Sí Traza de ejecución del
método y parámetros de
entrada
Delete Sí Traza de ejecución del
método y parámetros de
entrada
GetTipoDocumento Sí Traza de ejecución del
método, parámetros de
entrada y dump del
resultado devuelto
GetAll Sí Traza de ejecución del
método, parámetros de
entrada y dump del
resultado devuelto
TipoRevision GetAll Sí Traza de ejecución del
Service método, parámetros de
entrada y dump del
resultado devuelto
AreaRol Insert Sí Traza de ejecución del
Service método y parámetros de
entrada
Delete Sí Traza de ejecución del
método y parámetros de
entrada
GetAreaRoll Sí Traza de ejecución del
método, parámetros de
entrada y dump del
resultado devuelto
GetAll Sí Traza de ejecución del
método, parámetros de
entrada y dump del
resultado devuelto

Página 441
Servicio Método Expuesto ¿Cuenta Analizabilidad
con Log?
AreaService Insert Sí Traza de ejecución del
método, parámetros de
entrada y dump del
resultado devuelto
Update Sí Traza de ejecución del
método, parámetros de
entrada y dump del
resultado devuelto
Delete Sí Traza de ejecución del
método y parámetros de
entrada
GetArea Sí Traza de ejecución del
método, parámetros de
entrada y dump del
resultado devuelto
GetAll Sí Traza de ejecución del
método, parámetros de
entrada y dump del
resultado devuelto
RolService Insert Sí Traza de ejecución del
método y parámetros de
entrada
Update Sí Traza de ejecución del
método y parámetros de
entrada
Delete Sí Traza de ejecución del
método y parámetros de
entrada
GetRol Sí Traza de ejecución del
método, parámetros de
entrada y dump del
resultado devuelto
GetAll Sí Traza de ejecución del
método, parámetros de
entrada y dump del
resultado devuelto
UsuarioService Insert Sí Traza de ejecución del
método y parámetros de
entrada
Update Sí Traza de ejecución del
método y parámetros de
entrada
Delete Sí Traza de ejecución del
método y parámetros de
entrada
Activa Sí Traza de ejecución del

Página 442
Servicio Método Expuesto ¿Cuenta Analizabilidad
con Log?
método y parámetros de
entrada
Desactiva Sí Traza de ejecución del
método y parámetros de
entrada
PasswordUpdate Sí Traza de ejecución del
método y parámetros de
entrada. No se graba el
password.
PasswordReset Sí Traza de ejecución del
método y parámetros de
entrada. No se graba el
password.
PasswordCumpleConPolitica Sí Traza de ejecución del
método y parámetros de
entrada. No se graba el
password.
Login Sí Traza de ejecución del
método y parámetros de
entrada. No se graba el
password.
GetUsuario Sí Traza de ejecución del
método, parámetros de
entrada y dump del
resultado devuelto.
GetUsuariosByRol Sí Traza de ejecución del
método, parámetros de
entrada y dump del
resultado devuelto.
GetAll Sí Traza de ejecución del
método, parámetros de
entrada y dump del
resultado devuelto
Tabla 179: Servicios con log para análisis

Los resultados del cumplimiento de la métrica se encuentran en la sección 7.7.

Página 443
7.6. Encuestas de Satisfacción del usuario
Se realizaron las siguientes encuestas a fin de medir el cumplimiento de la métrica de
calidad MC02, la cual se detalla en la sección 7.2.4.

Encuesta 1

Ilustración 75: Encuesta de Satisfacción 1

Página 444
Encuesta 2

Ilustración 76: Encuesta de Satisfacción 2

Página 445
Encuesta 3

Ilustración 77: Encuesta de Satisfacción 3

Los resultados del cumplimiento de la métrica se encuentran en la sección 7.6.

Página 446
7.7. Cumplimiento de Métricas de calidad

Cód. Métrica Resultado obtenido

MC01 Las funcionalidades descritas en la 100%


especificación del requerimiento deben ser
implementadas correctamente al 100%.

MC02 La calificación por parte del usuario del


entendimiento de las funciones del sistema
debe ser superior a "Bueno" (4 o superior en
una escala de 1 a 5)
Análisis de Métricas

CUS01-Analizar Código Fuente Genexus 4.67


CUS02-Analizar Código Fuente CL 4.58
CUS06-Gestionar Ciclo de Revisión de IST 4.47
CUS08-Administrar Hallazgos y Evidencia 4.53
CUS11-Administrar Pedidos de Auditoría 4.67
CUS18-Administrar Cartas de Desviación 4.67

MC03 Los métodos expuestos por la capa de 95.83%


servicios deben contar con pruebas integradas
en un 85% como mínimo.

MC04 Por lo menos un 90% de los métodos que 100%


expone la capa de servicios deben contar con
un log de actividades (en modo Trace)

Tabla 180: Cumplimiento de Métricas

Página 447
Detalle del cálculo de las métricas

Métrica MC01

Entrada:
Se tomaron como base los datos obtenidos en la sección 7.4.

Cálculo realizado: (A / B) * 100


(A) Número de casos de prueba
ejecutados correctamente 267 (96 + 42 + 40 + 31 + 34 + 24)
(B) Número total de casos de prueba 267
Cumplimiento (%) 100%

Métrica MC02
Entrada:
Se tomaron como base los datos obtenidos en la encuesta que se muestra en el punto
7.6.

Cálculo realizado: A / B (promedio simple)

(A) Suma de las respuestas de la encuesta de evaluación por caso de


uso.
(B) Cantidad de preguntas de la encuesta de evaluación por caso de
uso.

Caso de Uso A B A/B


CUS01-Analizar Código Fuente Genexus 56 12 4.67
CUS02-Analizar Código Fuente CL 55 12 4.58
CUS06-Gestionar Ciclo de Revisión de
IST 67 15 4.47
CUS08-Administrar Hallazgos y
Evidencia 68 15 4.53
CUS11-Administrar Pedidos de
Auditoría 70 15 4.67
CUS18-Administrar Cartas de
Desviación 70 15 4.67
Tabla 181 : Resumen de respuestas

Página 448
Métrica MC03

Entrada
Se tomaron como base los datos obtenidos en el punto 7.5.1.

Cálculo realizado: (A / B) * 100


(A) Métodos que cuentan con pruebas
automáticas 120
(B) Métodos Totales 115
Cumplimiento (%) 95.83%

Métrica MC04
Entrada
Se tomaron como base los datos obtenidos en el punto 7.5.2.

Cálculo realizado: (A / B) * 100


(A) Métodos que cuentan con log de
actividades 120
(B) Métodos totales 120
Cumplimiento (%) 100.00%

Página 449
7.8. Conclusiones
 Luego de la ejecución del Plan de Pruebas, la inspección de código fuente y la
aplicación de encuestas a los usuarios, se comprobó que las métricas de calidad se
encuentran dentro de los rangos acordados.

 El Plan de Pruebas permitió optimizar el tiempo y los recursos necesarios para


realizar el proceso de testing propiamente dicho, puesto que cada uno de los 267
casos de prueba establece lineamientos claros de lo que se debe probar, cómo
probarlo y qué esperar en cada caso.

 Contar con una suite de pruebas automatizadas también fue valioso, puesto que
ahorró tiempo de testing y permitió determinar de manera rápida y temprana si una
modificación de código había tenido un impacto negativo sobre el funcionamiento
del sistema.

 La suite de pruebas automatizadas antes mencionada se fue construyendo al mismo


tiempo que se realizaba el desarrollo, lo cual resulta coherente con la idea de una
metodología incremental y permite tomar conciencia temprana de la importancia de
las pruebas en desarrollo del software.

Página 450
CAPÍTULO 8: GESTIÓN DEL PROYECTO

8.1. Introducción
El propósito del presente capítulo es el de evidenciar la manera en la que se está
gestionando el proyecto. Para este caso específico se está utilizando un subconjunto de
los artefactos recomendados por el PMBOK [4], los cuales se detallan en las siguientes
secciones.

8.2. Registro de interesados


El siguiente cuadro registra a los interesados del proyecto. Cabe resaltar que por razones
de confidencialidad, en la mayoría de casos se está indicando el rol desempeñado por el
interesado dentro de la empresa más no su nombre.

Nombre del Organización a Categoría de Nivel de Nivel de


Interesado que pertenece interesado interés influencia
(Bajo, (Bajo,
Medio, Medio, Alto)
Alto)
Vicepresidente de Scotiabank Perú Patrocinador Alto Alto
Sistemas S.A.A.
Subgerente de Scotiabank Perú Cliente Alto Alto
Planeamiento y S.A.A.
Control de TI
Gerente de Gestión de Scotiabank Perú Cliente Alto Alto
Aplicaciones TI S.A.A.
Roberto Vaccari Scotiabank Perú Director Alto Medio
S.A.A. Proyecto /
Analista /
Programador
Jefe de IST Scotiabank Perú Usuario Alto Medio
S.A.A.
Analista de IST Scotiabank Perú Usuario Alto Bajo
S.A.A.

Página 451
Nombre del Organización a Categoría de Nivel de Nivel de
Interesado que pertenece interesado interés influencia
(Bajo, (Bajo,
Medio, Medio, Alto)
Alto)
Jefe de Proyecto de Scotiabank Perú Usuario Alto Medio
Desarrollo S.A.A.
Programador Scotiabank Perú Usuario Alto Bajo
S.A.A.
Tabla 182: Registro de Interesados

Página 452
8.3. EDT
En la versión digital del entregable por favor utilice la función zoom del Word.
En el documento físico por favor consulte el diagrama impreso en A2 que se encuentra en la página siguiente.

Ilustración 78: EDT

Página 453
8.4. Cronograma de Trabajo
El cronograma de trabajo es el siguiente. Por motivos de espacio se despliegan de
manera individual los nodos de las fases realizadas hasta la fecha.

8.4.1. Fase 1: Incepción

Ilustración 79: Cronograma de Trabajo - Incepción

Página 454
8.4.2. Fase 2: Elaboración

Ilustración 80: Cronograma de Trabajo - Elaboración

Página 455
8.4.3. Fase 3: Construcción

Ilustración 81: Cronograma de Trabajo - Construcción

8.4.4. Fase 4: Transición

Ilustración 82: Cronograma de Trabajo - Transición

Página 456
8.5. Estimación del Costo del Proyecto
Para la estimación del costo del proyecto se han utilizado dos métodos de cálculo
populares en la industria del software: estimación por Puntos de Casos de Uso y,
estimación a través de Puntos de Función y COCOMO (Constructive Cost Model).

8.5.1. Estimación mediante Puntos de Caso de Uso


Se procedió en primera instancia a realizar una clasificación de los casos de uso en
términos de complejidad en base a los criterios propios del método.

# CASO DE USO TIPO


1 CUS01-Analizar Código Fuente Genexus Complejo
2 CUS02-Analizar Código Fuente CL Complejo
3 CUS03-Administrar parámetros de revisión estática Simple
4 CUS04-Consultar Historia de Hallazgos por Objeto Simple
5 CUS05-Consultar asignación de revisiones Promedio
6 CUS06-Gestionar Ciclo de Revisión de IST Complejo
7 CUS08-Administrar Hallazgos y Evidencia Complejo
8 CUS10-Emitir Respuesta de Revisión Simple
9 CUS11-Administrar Pedido de Auditoría Promedio
10 CUS12-Generar “status report” Promedio
11 CUS13-Generar ranking de desempeño del área de Desarrollo Promedio
12 CUS15-Generar información de esfuerzo realizado por Promedio
Analistas IST
13 CUS16-Administrar Checklist de Documentos Simple
14 CUS17-Administrar parámetros de Gestión de Revisiones Simple
15 CUS18-Administrar Carta de Desviación Promedio
16 CUS19-Generar relación de Cartas de Desviación por Simple
Vencimiento
17 CUS20-Consultar Cartas de Desviación Simple
18 CUS21-Emitir alertas Simple
19 CUS22-Realizar inicio de sesión Simple
20 CUS23-Cambiar Contraseña Simple
21 CUS24_Administrar Usuarios Simple
22 CUS25_Administrar perfiles Simple
Tabla 183: Puntos de Caso de Uso: Clasificación de Casos de Uso

Página 457
El siguiente cuadro consolida la clasificación por complejidad y permite calcular el
Peso de Caso de Uso No Ajustado (WCU).

TABLA DE PESOS DE CASOS DE USO


Complejidad # Transacciones Peso Número Producto
Simple 3 o menos 5 12 60

Promedio De 4 a 7 10 6 60

Complejo Más de 7 15 4 60
WCU 180
Tabla 184: Puntos de Caso de Uso: Peso de Casos de Uso

El siguiente cuadro muestra a los actores también clasificados de acuerdo a la tipología


provista por el método.

# ACTOR TIPO
1 AS01-Analista de IST Complejo
2 AS02-Jefe de IST Complejo
3 AS03-Consumidor de Análisis Estático Promedio

4 AS04-Empleado de IST Complejo


5 AS98-Administrador del Sistema Complejo
6 AS99-Usuario Complejo
Tabla 185: Puntos de Caso de Uso: Clasificación de Actores

Con dicha información se calcula el Peso de Actores No Ajustado (WA).

TABLA DE PESOS DE ACTORES


Tipo Descripción Peso Número Producto
Simple Otro Sistema por API 1 0 0
Promedio Otro Sistema a través de un protocolo, 2 1 2
Una persona por Interfaz
Complejo Una Persona por Interfaz Gráfica 3 5 15
WA 17
Tabla 186: Puntos de Caso de Uso: Pesos de Actores

A continuación, se ha asignado la importancia de los siguientes factores técnicos para


este proyecto. Se obtienen el Factor Técnico (FT) y el Ajuste por Factor Técnico (AFT).

Página 458
FACTORES TÉCNICOS
Factor Descripción Peso Importancia Impacto
1 Sistema distribuido 2 3 6
2 Desempeño de los objetivos 2 5 10
3 Eficiencia de usuario final 1 5 5
4 Complejidad de proceso 1 4 4
5 Reusabilidad del código 1 4 4
6 Facilidad de instalación 0.5 2 1
7 Facilidad de uso 0.5 4 2
8 Portabilidad 2 2 4
9 Facilidad de cambio 1 3 3
10 Concurrencia 1 3 3
11 Seguridad 1 2 2
12 Acceso de terceras partes 1 1 1
13 Capacitación 1 3 3
FT 48.00
AFT 1.08
Tabla 187: Puntos de Caso de Uso: Factores Técnicos

De igual manera, se ha asignado la importancia de los siguientes factores de entorno de


acuerdo a las características del proyecto. Se obtienen el Factor del Entorno (FA) y el
Ajuste del Entorno (AE).

FACTORES DE ENTORNO
Importanci
Factor Descripción Peso Impacto
a
1 Familiaridad con el proc. de desarrollo 1.5 4 6
2 Experiencia 0.5 5 2.5
3 Experiencia con los objetos 1 3 3
4 Capacidad del analista 0.5 5 2.5
5 Motivación 1 3 3
6 Estabilidad de requisitos 2 3 6
7 Tiempo del staff -1 3 -3
8 Dificultades con el lenguaje de -1 1 -1
programación
FA 19.00
AE 0.83
Tabla 188: Puntos de Caso de Uso: Factores de Entorno

Finalmente, se calcula el Total de Casos de Uso (TUC), lo cual permite estimar el total
de horas y el costo del proyecto. Se está asumiendo 20 horas, tal como indica la

Página 459
metodología, puesto que no se cuenta con experiencia previa. Sin embargo, lo
recomendable sería ajustar dicho valor a medida que se gane experiencia con la
aplicación del método y a medida que se determine la desviación de lo estimado versus
lo gastado realmente. Para el cálculo del costo por trabajador, se están asumiendo S/.
4,800 y 192 horas mensuales.

PUNTOS DE CASOS DE USO TOTALES (TUC)


WCU 180.00
WA 17.00
PCUNA 197.00
AFT 1.08
AE 0.83
TUC 176.59

DURACION SEGÚN PUNTOS DE CASO DE USO


HORAS X
PUNTO 20
TOTAL
3,531.82
HORAS

Sueldo hora S/. 25.00


Costo Total S/. 88,295.40
Tabla 189: Puntos de Caso de Uso: Costo Estimado del Proyecto

Página 460
8.5.2. Estimación mediante Puntos de Función y Constructive Cost
Model (COCOMO)
Se detalla a continuación la estimación del proyecto de desarrollo a través de Puntos de
Función y COCOMO.

Se cuenta con la siguiente tabla provista por el método.

TABLA DE PUNTAJE SEGÚN TIPO DE PROYECTO


PARAMETRO SIMPLE MEDIO COMPLEJO
# DE ENTRADAS 3 4 6
# DE SALIDAS 4 5 7
# DE PETICIONES 3 4 6
# DE ARCHIVOS 7 10 15
# DE INTERFACES EXTERNAS 5 7 10
Tabla 190: Puntos de Función y COCOMO - Tabla de Puntajes

Se ha determinado que el proyecto es de tipo Medio y se ha cuantificado la cantidad de


elementos que lo conforman en base al cuadro anterior. Para realizar este conteo se han
tomado en consideración las recomendaciones del Function Point Counting Practices
Manual [52] (en especial para el cálculo de lo que el método denomina “archivos” e
“interfaces externas”).

PUNTAJE POR LA CANTIDAD DE ELEMENTOS PARA EL


PROYECTO
TIPO DE PROYECTO MEDIO
PARAMETRO CANTIDAD PUNTAJE
# DE ENTRADAS DE USUARIO 16 64
# DE SALIDAS DE USUARIO 5 25
# DE CONSULTAS (PETICIONES) 17 68
# DE ARCHIVOS 5 50
# DE INTERFACES EXTERNAS 1 7
TOTAL 214
Tabla 191: Puntos de Función y COCOMO - Recuento de Elementos

Posteriormente se asignaron los siguientes valores a los Factores de Complejidad para


fines de ajuste del puntaje de puntos de función.

Página 461
FACTOR DE COMPLEJIDAD VALOR DE 0 a 5
Fiabilidad del backup y recuperación 1
Comunicaciones de Datos 4
Proceso Distribuido 3
Rendimiento crítico 4
Entorno operativo existente 3
Entrada de datos en línea 3
Transacciones de entrada en múltiples pantallas 1
Archivos maestros actualizados en línea 3
Complejidad de valores del dominio de información 2
Complejidad del procesamiento interno 4
Reusabilidad 4
Facilidad de instalación 2
Instalaciones múltiples 1
Aplicación diseñada para el cambio 2
TOTAL 37
Tabla 192: Puntos de Función y COCOMO - Factores de Complejidad

Aplicando las fórmulas provistas por el método, es posible calcular un estimado de


Líneas de Código (LDC), el cual es dependiente del lenguaje de programación que se
desee utilizar. En este caso, se está considerando C#. El factor para dicho lenguaje se
obtuvo de la tabla “Function Point Languages Table” versión 5 [53].

CONVERSION A LINEAS DE CODIGO (LDC) C#


PUNTOS AJUSTADOS (PF) 218.28
ESTIMACION SEGÚN LENGUAJE DE
PROGRAMACIÓN 54
LDC 11,787.12
Tabla 193: Puntos de Función y COCOMO - Líneas de Código

A partir de este estimado de LDC, se puede aplicar Constructive Cost Model


(COCOMO).

Para este proyecto, se ha considerado que el modo de desarrollo que mejor se ajusta es
el Modo Orgánico y se trabajará con el Nivel Intermedio del método. Dicho nivel es
más preciso que el nivel Básico y requiere se califiquen los siguientes factores:

Página 462
Factor para Nivel Intermedio y Calificación Puntaje
Detallado
Garantía de funcionamiento Alto 1.15
requerida al software
Tamaño de la base de datos Bajo 0.94

Complejidad del producto Normal 1.00


Restricción de tiempo de ejecución Normal 1.00
Restricción de almacenamiento Normal 1.00
principal
Volatilidad de la plataforma Bajo 0.87
Tiempo de respuesta del ordenador Normal 1.00
Capacidad del analista Alto 0.86
Experiencia en la aplicación Normal 1.00
Capacidad del programador Alto 0.86
Experiencia en plataforma Alto 0.90
Experiencia en lenguaje de Alto 0.95
programación
Prácticas de programación Alto 0.91
modernas
Utilización de herramientas Muy Alto 0.83
software
Plan de desarrollo requerido Normal 1.00
FACTOR DE ESFUERZO COMPUESTO (F) 0.4492
Tabla 194: Puntos de Función y COCOMO - Factor de Esfuerzo Compuesto

Las fórmulas provistas por el método permiten estimar, a través de varios pasos
intermedios, el costo total del proyecto. Al igual que en el caso anterior se ha
considerado un costo de S/. 4,800 por persona.

COSTO TOTAL DEL PROYECTO


MF (LDC) 12
Modo Orgánico
Nivel INTERMEDIO
Esfuerzo (ESF) En Meses Hombre 19.53
Tiempo de Desarrollo (TDES) en
Meses 8
N# de Personas 3
Sueldo Mensual por Persona 4,800
Costo Total S/. 93,747.34
Tabla 195: Puntos de Función y COCOMO - Costo Estimado del Proyecto

Página 463
8.5.3. Resumen de la estimación de costos
A manera de resumen, se consolidan en el siguiente cuadro las estimaciones obtenidas
con los métodos antes descritos.

Método de Estimación Costo Estimado (S/.)


Puntos de Caso de Uso 88,295.40

Puntos de Función y COCOMO 93,747.34

Tabla 196: Resumen de la estimación de costos

Página 464
8.6. Actas de aceptación de los entregables
Carta de Aceptación de Proyecto Informático 1

Ilustración 83: Carta de Aceptación - Proyecto Informático 1

Página 465
Carta de Aceptación de Proyecto Informático 2 – Entregable Parcial

Ilustración 84: Carta de Aceptación - Proyecto Informático II (Entregable Parcial)

Página 466
Carta de Aceptación de Proyecto Informático 2 – Entregable Final

Ilustración 85: Carta de Aceptación - Proyecto Informático II (Entregable Final)

Página 467
Carta de Aceptación de Proyecto Informático 3 – Entregable Parcial

Ilustración 86: Carta de Aceptación - Proyecto Informático III (Entregable Parcial)

Página 468
Carta de Aceptación de Proyecto Informático 3 – Entregable Final

Ilustración 87: Carta de Aceptación - Proyecto Informático III (Entregable Final)

Página 469
Carta de Aceptación de Tesis

Ilustración 88: Carta de Aceptación y Entrega

Página 470
8.7. Conclusiones
En lo referente a la Gestión del Proyecto, se puede concluir lo siguiente:

 La utilización de un subconjunto de artefactos y campos del conocimiento


(principalmente Tiempo, Alcance y Comunicaciones) del PMBOK [4] resultó
adecuado dadas las características del proyecto y las restricciones de tiempo y
recursos para elaborarlo.

 Existen diversos métodos que se pueden utilizar para la estimación del costo de un
proyecto. A pesar de que en este trabajo se han utilizado y comparado dos de ellos,
considero que resulta más sencillo y efectivo utilizar la estimación por Puntos de
Caso de Uso, en especial si se está utilizando una metodología que los utiliza como
parte de sus entregables.

 Si bien escapa al alcance del proyecto, resulta importante monitorear la desviación


que se presenta entre las estimaciones y lo realmente gastado, especialmente si no se
usan habitualmente los métodos de estimación antes indicados como es el caso en
Scotiabank. Esto con el fin de ajustar los parámetros del método y contar con
estimaciones más cercanas a la realidad en futuros proyectos.

Página 471
Conclusiones generales

Como producto de la elaboración del presente proyecto se pueden extraer las siguientes
conclusiones:

 La investigación realizada permitió identificar e incorporar buenas prácticas dentro


del proceso de revisión de IST, como por ejemplo forzar el uso del analizador
estático cuando se inicia el proceso de pase a producción, la confirmación por parte
de un analista de IST de los hallazgos detectados por el analizador estático y la
recolección de información que permita la generación de estadísticas sobre el
desempeño del mismo y sus usuarios.

 Desarrollar herramientas a la medida se sustenta por la carencia de soluciones en el


mercado que cumplan con las expectativas del área de IST y con el nivel de
integración que se requiere con otras herramientas internas de la empresa tales como
el sistema de Pases de Producción de AS/400, GxCompile, etc.

 En el caso específico de este proyecto, los artefactos que RUP [r]


propone
permitieron reducir el tiempo de revisión de los entregables con los usuarios, puesto
que dichos usuarios pertenecen al área de TI y ya cuentan con conocimientos
previos de UML.

 El Modelo del Negocio desarrollado es valioso para el área de IST y puede ser
utilizado para proyectos futuros que abarquen el proceso de Control de Cambios,
puesto que se ha realizado con un enfoque independiente al de una implementación
específica a nivel de sistemas.

 Aunque no eran parte de los entregables que forman parte de la rúbrica de la tesis, la
elaboración de matrices de trazabilidad resultó importante para evitar reprocesos
debido a errores de relevamiento o modelamiento. En particular, para este proyecto,
las matrices más útiles fueron las de “Casos de Uso del Negocio vs Reglas del
Negocio” y “Requerimientos Funcionales vs Casos de Uso del Sistema”.

 La combinación de una explicación verbal y el uso de mockups para detallar los


casos de uso del núcleo central facilitó la comunicación con los usuarios de IST y

Página 472
permitió afinar los requerimientos funcionales de una manera más rápida. Esto fue
especialmente útil para modelar funcionalidad compleja como por ejemplo la del
clasificador automático de Pases a Producción.

 Las diferentes vistas de arquitectura resultaron útiles para interactuar con otras áreas
de TI de Scotiabank. Por ejemplo, la vista de despliegue permitió revisar con el área
de Soporte Tecnológico los requerimientos de infraestructura y la distribución de la
misma. De igual manera, la vista lógica y de implementación permitió revisar el
alineamiento de la solución a buenas prácticas aceptadas por el área de Arquitectura.

 La elección de los patrones MVC (Modelo Vista Controlador), DTO (Data Transfer
Objects) y DAO (Data Access Objects) resultó acertada para los requerimientos del
proyecto y permitió un desarrollo orientado a la mantenibilidad y reusabilidad, lo
cual se evidenció a medida que se agregaban nuevas funcionalidades al sistema.

 Seguir los patrones antes mencionados demandó disciplina y una curva de


aprendizaje inicial más alta, en especial en lo que se refiere al patrón MVC debido a
particularidades propias del framework ASP.NET MVC.

 El Plan de Pruebas permitió optimizar el tiempo y los recursos necesarios para


realizar el proceso de testing propiamente dicho, puesto que cada uno de los 267
casos de prueba establece lineamientos claros de lo que se debe probar, cómo
probarlo y qué esperar en cada caso. Adicionalmente, contar con una suite de
pruebas automatizadas también fue valioso, puesto que ahorró tiempo de testing y
permitió determinar de manera rápida y temprana si una modificación de código
había tenido un impacto negativo sobre el funcionamiento del sistema.

 La suite de pruebas automatizadas antes mencionada se fue construyendo al mismo


tiempo que se realizaba el desarrollo, lo cual resulta coherente con la idea de una
metodología incremental.

 En lo que se refiere a la gestión del proyecto, la utilización de un subconjunto de


artefactos y campos del conocimiento (principalmente Tiempo, Alcance y
Comunicaciones) del PMBOK [4] resultó adecuado dadas las características del
proyecto y las restricciones de tiempo y recursos.

 Existen diversos métodos que se pueden utilizar para la estimación del costo de un
proyecto. A pesar de que en este trabajo se han utilizado y comparado dos de ellos,
Página 473
considero que resulta más sencillo y efectivo utilizar la estimación por Puntos de
Caso de Uso, en especial si se está utilizando una metodología que los utiliza como
parte de sus entregables.

Página 474
Glosario de términos

a) Análisis estático de código [5] [54] [55]


Se trata de un tipo de análisis de software que se realiza sin ejecutar el programa
analizado, es decir, se inspecciona el código fuente y/o el código objeto. El
término se aplica generalmente al análisis realizado por una herramienta
automática, puesto que el análisis realizado por un humano se conoce como
revisión de código.

b) Aplicaciones críticas: Aplicaciones que por su naturaleza podría generar


pérdidas financieras o de imagen en caso de fallar. Por ejemplo, aplicaciones
que informan a la Superintendencia o aplicaciones de uso masivo como la Banca
por Internet.

c) Bantotal: Es el sistema de core banking que utiliza la institución. La empresa


que lo desarrolla es DeLarrobla & Asociados de Uruguay.

d) Carta de Desviación: Es un documento que autoriza a continuar con un pase a


Producción a pesar de las observaciones que IST pudiera haber encontrado y que
exonera al área de cualquier reclamo posterior por mal funcionamiento de la
aplicación en Producción. Debe llevar la firma de un Gerente de Desarrollo y del
Gerente de Sistemas.

e) COBOL: Common Business-Oriented Language. Lenguaje de programación


desarrollado por IBM para la plataforma AS/400.

f) Comandos AS/400 restringidos: Programas del Sistema Operativo AS/400 que


se encuentran restringidos por su riesgo y porque existen otras maneras
aprobadas de obtener los mismos resultados.

g) Comandos AS/400 que requieren Autorización de Seguridad Informática:


Programas del sistema operativo de AS/400 que solamente pueden utilizarse

Página 475
previo análisis del área de Seguridad Informática. Por ejemplo, si se utiliza el
comando FTP, el área antes mencionada debe cerciorarse que la transferencia
sea justificada y no se genere ninguna brecha de seguridad.

h) CL [56]
Lenguaje de ejecución por lotes propio del sistema operativo i5/OS, el cual se
ejecuta sobre la plataforma AS/400.

i) Genexus
Herramienta Case que se utiliza para desarrollar programas para la plataforma
AS/400. Cuenta con su propio lenguaje de programación el cual se convierte
posteriormente en lenguaje RPG [p] de AS/400.

j) IST
Es el acrónimo de Integrated System Testing. Se trata de un área cuyas
funciones involucran la ejecución de revisiones de tipo técnico y de seguridad a
los Pases a Producción.

k) Lista de Navegación: Se trata de un archivo que genera Genexus como un paso


previo a la generación del binario y contiene información valiosa para el análisis
estático de código.

l) Pase a Producción: Un Pase a Producción consiste en una solicitud formal por


parte del área de Desarrollo de Sistemas para el traslado de programas y tablas
desde un ambiente no Productivo hacia el ambiente definitivo de Producción.
Existen pases de tipo “normal” [m] y “por incidente” [n].

m) Pase a Producción Normal: Son pases que se realizan de manera programada y


que siguen el flujo completo de revisiones. Por lo general consisten de un
número variables de objetos y responden a una iniciativa de algún área usuaria
para implementar una nueva funcionalidad o producto.

n) Pase a Producción por Incidente: Estos pases, que se realizan como una

Página 476
excepción, siguen un procedimiento administrativo más ágil con el propósito de
responder rápidamente al incidente. Por lo general, se trata de pases con pocos
objetos y cuentan con mayor prioridad que los pases de tipo normal.

o) Programa crítico: Programa cuya falla podría resultar catastrófica para los
intereses de la institución, por ejemplo, las rutinas que realizan operaciones
financieras como el cálculo de intereses.

p) RPG: Report Program Generator. Lenguaje de programación desarrollado por


IBM para la plataforma AS/400.

q) RTE: Rutina de Tratamiento Especializado. Se trata de programas que se


registran en un tabla y son invocados por el core bancario de acuerdo a la
configuración indicada.

r) RUP: Rational Unified Process. Metodología iterativa para el desarrollo del


software.

Página 477
Siglario

 CL: Control Language de AS/400 (ver glosario).

 COBOL: Common Business-Oriented Language (ver glosario).

 DUP: Documento único de pruebas.

 IST: Integrated System Testing (ver glosario).

 RPG: Report Program Generator (ver glosario).

 RUP: Rational Unified Process (ver glosario).

Página 478
Referencias Bibliográficas
1. CAPGEMINI (2014) World Quality Report 2013-14 (consulta: 23 de septiembre de
2014) (http://www.capgemini.com/news/world-quality-report-2013-14-reveals-that-
application)

2. NASSCOM Research (2011) Software Testing - Shifting from Functional to Business


Assurance (consulta: 23 de septiembre de 2014)
(http://survey.nasscom.in/sites/default/files/researchreports/softcopy/Software%20Testi
ng%20Report_Secured.pdf).

3. IBM (2014) The Future of Testing: Where Do Testers Spend Their Time? (consulta:
20 de septiembre de 2014)
(http://public.dhe.ibm.com/common/ssi/ecm/en/raw14364usen/RAW14364USEN.PDF)

4. PROJECT MANAGEMENT INSTITUTE (2013) A guide to the Project


Management Body of Knowledge (PMBOK Guide), 5th Edition.

5. AYEWAH, Nathaniel y otros (2008) Using static analysis to find bugs (consulta: 22
de septiembre de 2014).

6. COVERITY (2013) - Coverity 2013 Scan Report (consulta: 20 de septiembre de


2014) (http://softwareintegrity.coverity.com/rs/coverity/images/2013-Coverity-Scan-
Report.pdf).

7. CLOSE UP RESEARCH (2011) Global Software Testing Services Market 2010-


2014 (consulta: 18 de septiembre de 2014)
(http://search.proquest.com/docview/873476102?accountid=43860).

8. SCOTIABANK (2014) Intranet: Información Institucional (consulta: 29 de Agosto de


2014) (http://intranet/home/NuestroBanco.asp).

Página 479
9. CHESS, Brian y WEST, Jacob (2007) Secure Programming with Static Analysis.
Boston: Pearson Education.

10. BALACHANDRAN, Vipin (2013) Reducing Human Effort and Improving Quality
in Peer Code Reviews using Automatic Static Analysis (consulta: 20 de septiembre de
2014)
(http://search.ebscohost.com/login.aspx?direct=true&db=iih&AN=87904366&lang=es).

11. CORNELL, Dan (2008) Static Analysis Techniques for Testing Application
Security (consulta: 27 de septiembre de 2014)
(http://www.denimgroup.com/media/pdfs/DenimGroup_StaticAnalysisTechniquesForT
estingApplicationSecurity_OWASPSanAntonio_20080131.pdf).

12. GOMES, Ivo y otros (2008) An overview on the Static Code Analysis in Software
Development (consulta: 15 de septiembre de 2014)
(http://www.lopdf.net/get/4Ggnr3tcC5zocUJqP93hTBt1dVvYf3z0qWY66cSpigc,/An-
overview-on-the-Static-Code-Analysis-approach-in.pdf).

13. KHAN, Stephen (2002) Metrics and Models in Software Quality Engineering.
Pearson Education.

14. CHELF, Ben y CHOW, Andy (2012 ) Coverity White Paper SAT Next Generation
Static Analysis.pdf (consulta: 30 de septiembre de 2014)
(http://www.coverity.com/library/pdf/Coverity_White_Paper-SAT-
Next_Generation_Static_Analysis.pdf).

15. LINUX FOUNDATION (2013) Who writes Linux (consulta: 21 de septiembre de


2014) (http://www.linuxfoundation.org/news-media/infographics/who-writes-linux-
2013).

16. PIERRE AUDIN CONSULTANTS (2014) Software Testing Spends to Hit 100bn
by 2014 (consulta: 20 de septiembre de 2014)

Página 480
(http://web.b.ebscohost.com/ehost/detail/detail?sid=5d580db1-0aff-48d3-b539-
357de65685a7%40sessionmgr112&vid=0&hid=121&bdata=Jmxhbmc9ZXM%3d#).

17. GARTNER (2010) Magic Quadrant for Static Application Security Testing
(consulta: 27 de septiembre de 2014)
(http://www.icodesecurity.com/wa_files/GartnerMQ-SAST.pdf).

18. REAL ACADEMIA ESPAÑOLA (2001) Diccionario de la lengua española - 22da.


Edición (consulta: 20 de septiembre de 2014) (http://www.rae.es/recursos/diccionarios).

19. ALEGSA (2014) Diccionario Informático (consulta: 27 de septiembre de 2014)


(http://www.alegsa.com.ar/Diccionario/diccionario.php).

20. IEEE (1990) IEEE Standard Glossary of Software Engineering Terminology


(consulta: 28 de septiembre de 2014)
(http://www.mit.jyu.fi/ope/kurssit/TIES462/Materiaalit/IEEE_SoftwareEngGlossary.pdf
).

21. CHOUDHARY, Dinesh y KUMAR, Vijay (2011) Software Testing. Journal of


Computational Simulation and Modeling (consulta: 20 de septiembre de 2014)
(http://search.proquest.com/docview/880394396?accountid=43860).

22. BENTLEY, John (2002) Software Testing Fundamentals—Concepts, Roles, and


Terminology (consulta: 10 de septiembre de 2014)
(http://www2.sas.com/proceedings/sugi30/141-30.pdf).

23. INTERNATIONAL SOFTWARE TESTING QUALIFICATIONS BOARD (2014)


Standard Glossary of terms used in Software Testing (consulta: 27 de septiembre de
2014) (http://www.istqb.org/downloads/finish/20/145.html).

24. INTERNATIONAL ORGANIZATION FOR STANDARIZATION (2008) ISO


9001 - Quality management systems - Requirements. Ginebra: ISO.

Página 481
25. BOULANGER, Jean-Louis (2012) Static Analysis of Software - The Abstract
Interpretation. Londres: Wiley.

26. COMPUTER & APPLIED SCIENCES (2007) Network Dictionary (consulta: 20 de


septiembre de 2014)
(http://search.ebscohost.com/login.aspx?direct=true&db=iih&AN=31670292&lang=es).

27. GREAT PLACE TO WORK (2014) Las Mejores Empresas para trabajar en el Perú
(consulta: 2 de Noviembre de 2015)
(http://www.greatplacetowork.com.pe/storage/documents/suplemento-gptwperu-
2014baja.pdf).

28. SCOTIABANK (2014) Información del Banco (consulta: 29 de Agosto de 2014)


(http://www.scotiabank.com.pe/Scotiabank/informacion/identidad).

29. SCOTIABANK PERÚ S.A.A. (2013). Planeamiento Estratégico de TI 2013-2015


(consulta: 26 de Agosto de 2014) (http://sharepoint/Sistemas/Planeamiento Estratégico
de TI 2013-2015.pdf).

30. SCOTIABANK PERÚ S.A.A. (2014). Organigrama Divisiones 2014/08 (consulta:


26 de Agosto de 2014)
(http://sharepoint/Sistemas/organigrama_divisiones_201408.pdf).

31. ATLASSIAN (2016) JIRA Software (consulta: 16 de enero de 2016)


(https://es.atlassian.com/software/jira/).

32. ATLASSIAN (2016) Crucible (consulta: 16 de enero de 2016)


(https://es.atlassian.com/software/crucible/overview).

33. IBM (2016) Rational Team Concert (consulta: 16 de enero de 2016) (http://www-
03.ibm.com/software/products/es/rtc).

Página 482
34. SMARTBEAR (2016) Collaborator (consulta: 16 de enero de 2016)
(http://smartbear.com/product/collaborator/overview/).

35. INFLECTRA (2016) SpiraTest (consulta: 16 de enero de 2016)


(https://www.inflectra.com/SpiraTest/).

36. BOOCH, Grady y otros (2000) El Proceso Unificado de Desarrollo de Software.


Madrid: Addison-Wesley.

37. ARLOW, Jim y NEUSTADT, Ila (2001) UML and the Unified Process - Practical
Object-Oriented Analysis & Design. Boston: Pearson Education.

38. BOOCH, Grady y otros (1998) The Unified Model Language User Guide. Boston:
Addison-Wesley.

39. CRAIN, Anthony (2002) Dear Use Case: Is Clock an Actor (consulta: 05 de marzo
de 2015)
(http://www.ibm.com/developerworks/rational/library/content/RationalEdge/jun02/DrU
seCaseJun02.pdf).

40. GUPTA, Sarika (2012) Simplifying Use Case Models Using CRUD Patterns
(consulta: 12 de marzo de 2015)
(http://www.ijsce.org/attachments/File/v2i2/B0535042212.pdf).

41. COCKBURN, Alistair (2001) Writing Effective Use Cases. Boston: Addison-
Wesley.

42. MICROSFT (2003) Enterprise Solution Patterns using Microsoft.Net - Model-


View-Controller (consulta: 10 de julio de 2015) (https://msdn.microsoft.com/en-
us/library/ff649643.aspx).

43. FOWLER, Martin y otros (2002) Patterns of Enterprise Application Architecture.


Boston: Addison-Wesley.

Página 483
44. MICROSFT (2003) Enterprise Solution Patterns Using Microsoft.NET - Data
Transfer Object (consulta: 17 de julio de 2015) (https://msdn.microsoft.com/en-
us/library/ff649585.aspx).

45. ORACLE (2015) Core J2EE Patterns - Data Access Object (consulta: 10 de julio de
2015) (http://www.oracle.com/technetwork/java/dataaccessobject-138824.html).

46. International Organization for Standardization (2004) – ISO/IEC 90003:2004


Software engineering — Guidelines for the application of ISO 9001:2000 to computer
software.

47. International Organization for Standardization (2008) - ISO 9001:2008 Sistemas de


Gestión de la Calidad – Requisitos.

48. Institute of Electrical and Electronics Engineers (1998) - IEEE Std. 830-1998 IEEE
Recommended Practice for Software Requirements Specifications.

49. International Organization for Standardization (2001) - ISO/IEC 9126-1:2001


Software engineering — Product quality – Quality Model.

50. INDECOPI (2006) NTP-ISO/IEC 12207 Tecnología de la Información. Procesos


del ciclo de vida del software.

51. HEUMANN, Jim (2001) Generating Test Cases from Uses Cases (consulta: 10 de
marzo de 2015)
(http://www.ibm.com/developerworks/rational/library/content/RationalEdge/jun01/Gen
eratingTestCasesFromUseCasesJune01.pdf).

52. International Function Point Users Group (IFPUG) (2000) Function Point Counting
Practices Manual Release 4.1.1.

53. QSM (2015) Function Points Languages Table versión 5 (consulta: 27 de julio de
2015) (http://www.qsm.com/resources/function-point-languages-table).

Página 484
54. LOURIDAS, Panagiotis. (2006). Static code analysis. IEEE Software (consulta: 26
de Agosto de 2014)
(http://search.proquest.com/docview/215840070?accountid=43860).

55. ELECTRONICS NEWS (2103) Using formal methods for sophisticated static code
analysis (consulta: 26 de Agosto de 2014)
(http://search.proquest.com/docview/1357302314?accountid=43860).

56. IBM (2001) iSeries CL Programming (consulta: 26 de Agosto de 2014)


(http://publib.boulder.ibm.com/iseries/v5r1/ic2924/books/c4157214.pdf).

Página 485
Anexos
Anexo 1: Ejemplo de Carta de Desviación
CARTA DE DESVIACIÓN
Información de Pase (llenada por IST)

Nº de Pase Nº de Iniciativa
Descripción del
Pase
Analista
Responsable
Analista IST

Observaciones

Información de Desviación (llenada por la Gerencia IT Responsable)

Justificación
[Argumentos que justifican la desviación]

Compromiso (*)
[Plazos de corrección y plan de trabajo para superar la desviación]

Página 486
Fecha de Corrección: DD/MM/AAAA

Acciones de compensación
[Acciones de control y procedimientos a seguir para contrarrestar el
posible mal funcionamiento del pase en producción]

(*) La gestión de la iniciativa de corrección correspondiente es responsabilidad del analista de desarrollo.

Gerencia de Sistemas Gerencia de Desarrollo

Fecha:

Página 487
Anexo 2: Ejemplos de Consumo del analizador estático
desde el cliente GxCompile.

A manera de información complementaria, se describen a continuación los pasos que


deben ejecutarse en la herramienta GxCompile para hacer uso del analizador estático.

Escenario 1: Revisar Pase a Producción


Este escenario se ejecuta como parte del proceso de Pase a Producción que sigue la
institución. El Analista de Desarrollo debe haber creado una solicitud en el sistema de
Pases a Producción en el AS/400 y en dicha solicitud se encuentra el detalle de los
objetos que se promoverán al ambiente productivo.

La secuencia de pasos dentro de la herramienta es la siguiente:

a) El usuario ejecuta la opción “Revisa Pase a Producción” del GxCompile.


b) El GxCompile solicita el número de Pase a Producción que se desea analizar.
c) El usuario ingresa el dato solicitado y solicita buscar el pase a Producción.
d) El GxCompile extrae la información del Sistema de Pases a Producción de AS/400 y
muestra los siguientes datos:
 Analista de Desarrollo.
 Estado del Pase a Producción.
 Servicio S4 al que corresponde el Pase a Producción.
 Descripción del cambio.

e) Adicionalmente, muestra la siguiente información por cada uno de los objetos que
componen el Pase a Producción. Solamente se muestran los objetos que son
susceptibles de ser compilados, versionados y/o analizados estáticamente.
 Origen del Objeto (Genexus o nativo de AS/400).
 Nombre de la Base de Conocimientos Genexus donde reside el programa (en
caso el objeto sea de ese tipo).
 Nombre del Objeto.
 Tipo de Objeto.
 Atributo del Objeto.

Página 488
 Ruta en la cual se encuentra el modelo Genexus donde reside el programa
(en caso el objeto sea de tipo Genexus).
 Estado del objeto dentro del flujo de actividades necesarias para el pase a
producción.

f) El usuario solicita se procese el Pase a Producción previamente cargado ante lo cual


el GxCompile solicitará una confirmación.
g) Una vez confirmada la acción, el GxCompile especifica los objetos Genexus y
exporta los archivos fuente hacia carpetas seguras de Seguridad Informática.
h) El GxCompile invoca al analizador estático de código (caso de uso especificado
en los puntos 4.8.1 y 4.8.2 dependiendo del tipo de objeto) y muestra los
hallazgos detectados.
i) El usuario revisa las observaciones del analizador y de estar todo conforme solicita
continuar con el proceso de pase a Producción.

Escenario 2: Revisa Objeto Genexus


El propósito de este escenario es permitir que un usuario pueda revisar estáticamente un
programa Genexus específico sin necesidad de que éste se encuentre registrado en un
Pase a Producción. Esta opción se ejecuta por lo general durante las fases iniciales de
Desarrollo.

La secuencia de pasos dentro de la herramienta es la siguiente:

a) El usuario ejecuta la opción “Revisa Objeto Genexus” del menú de Análisis Estático
del GxCompile.
b) El GxCompile solicita los siguientes datos:
 Nombre AS/400 del objeto.
 Modelo Genexus en el que se encuentra el programa.

c) El usuario ingresa los datos y solicita al sistema realizar el análisis.


d) El GxCompile extrae el fuente del programa solicitado del modelo Genexus en el que
se encuentra y lo especifica (la especificación es un proceso propio de Genexus que
se realiza antes de la compilación y genera información importante con respecto al
programa).
Página 489
e) El GxCompile invoca al analizador estático de código (caso de uso especificado
en el punto 4.8.1) y presenta los hallazgos detectados.
f) El usuario revisa los hallazgos y corrige el programa de ser necesario.

Escenario 3: Revisa CL de AS/400


El propósito de este escenario es permitir que un usuario pueda revisar estáticamente un
programa de tipo CL específico sin necesidad de que éste se encuentre registrado en un
Pase a Producción. Esta opción se ejecuta por lo general durante las fases iniciales de
Desarrollo.

La secuencia de pasos dentro de la herramienta es la siguiente:

a) El usuario ejecuta la opción “Revisa CL de AS/400”.


b) El sistema solicita los siguientes datos:
 Biblioteca AS/400 en donde se encuentra el CL.
 Archivos de Fuentes en donde se encuentra el CL.
 Nombre del CL a analizar.

c) El usuario ingresa los datos y solicita al sistema realizar el análisis.


d) El sistema extrae el fuente del programa desde el AS/400 en la ruta especificada en
el paso “b”.
e) El GxCompile invoca al analizador estático de código (caso de uso especificado
en el punto 4.8.2) y presenta los hallazgos detectados.
f) El usuario revisa los hallazgos y corrige el programa de ser necesario.

Página 490
Anexo 3: Hallazgos codificados para fines estadísticos.

Código de Descripción Origen


Hallazgo
A0001 La documentación no contiene información del Analizador Estático
sistema al que pertenece el programa
A0002 La documentación no contiene información del Analizador Estático
subsistema al que pertenece el programa
A0003 La documentación no contiene el nombre del Analizador Estático
programa
A0004 La documentación no contiene la descripción del Analizador Estático
programa
A0005 La documentación no contiene al autor del programa Analizador Estático
A0006 La documentación no contiene la fecha de creación Analizador Estático
del programa
A0007 Se utiliza la regla no documentada SAME Analizador Estático
A0008 Tiene COMMIT_ON_EXIT en NO y tiene COMMIT Analizador Estático
explícito
A0009 Se encontraron referencias a bibliotecas de desarrollo Analizador Estático
A0010 Se encontraron durezas de nombre de banco Analizador Estático
A0011 Se encontraron durezas de nombre de moneda Analizador Estático
A0012 Se encontraron durezas de signo de moneda Analizador Estático
A0014 Se encontraron comandos restringidos Analizador Estático
A0015 Se encontraron comandos que requieren autorización, Analizador Estático
coordinar con Seguridad Informática
A0016 Nomenclatura en CL no es válida Analizador Estático
A0017 Nomenclatura Genexus no es válida Analizador Estático
A0018 Se utilizan campos de código de ejecutivo y no se Analizador Estático
utiliza rutina genérica
A0019 Manejo del Ciclo de Compromiso no corresponde con Analizador Estático
la definición del RTE
A0020 Tiene COMMITMENT DISABLED y maneja ciclo Analizador Estático
de compromiso
A0022 Workpanel en pleno ciclo de compromiso Analizador Estático
A0023 Asignación directa de empresa Analizador Estático
A0024 No se encontró &Pgmname en información mostrada Analizador Estático
A0025 No se encontró &Today en información mostrada Analizador Estático
A0026 No se encontró &Time en información mostrada Analizador Estático
A0027 When none corrompe la variable interna &line si Analizador Estático
tiene printer file
A0028 For Each sin defined by Analizador Estático
A0029 Uso de arreglos en where limita el uso de índices Analizador Estático
A0030 Uso de funciones en where limita el uso de índices Analizador Estático
A0031 Alteración directa al archivo de saldos Analizador Estático
A0032 Parámetros con longitud fija en la llamada, valide la Analizador Estático
Página 491
Código de Descripción Origen
Hallazgo
longitud de las variables del programa invocado
A0033 Lista de Navegación indica uso de índice temporal Analizador Estático
A0034 Propiedad Report Output debe ser Only to Printer Analizador Estático
para impresos
A0035 Propiedad Confirmation no debe ser Always Prompt Analizador Estático
para impresos
A0036 Full Scan a la tabla Analizador Estático
H0001 Cancela en tiempo de ejecución Analista de IST
H0002 Lógica de Programación Analista de IST
H0003 Ortografía Analista de IST
H0004 Diseño de algoritmo Analista de IST
H0005 Diseño de archivo Analista de IST
H0006 Diseño de índice Analista de IST
H0007 Seguridad Analista de IST
H0008 Validación de input Analista de IST
H0009 Otro Analista de IST
H9999 Falso negativo del analizador estático Analista de IST
Tabla 197: Hallazgos codificados

Página 492
Anexo 4: Criterios del Clasificador Automático de
Revisiones

Las consideraciones que debe seguir el clasificador automático de revisiones son las
siguientes:

 El clasificador solamente recomendará revisiones básicas y totales, más no marchas


blancas.

 La recomendación será la de realizar una Revisión Básica a menos que se presente


alguno de los siguientes casos, en cuyo caso se recomendará una Revisión Total:

- Que el Analista de Desarrollo nunca haya pasado por una Revisión de IST, es
decir, que no se cuente con información estadística de su desempeño.

- Que el ratio de hallazgos del Analista de Desarrollo en las últimas N revisiones


se encuentre por encima del umbral definido por el Supervisor de IST (N es
configurable).

- Que alguno de los componentes presentes en la Revisión esté considerado como


crítico.

- Que alguno de los componentes presentes en la Revisión corresponda a una


aplicación definida como crítica.

- Que la complejidad ciclomática del programa exceda el umbral definido por el


Supervisor de IST.

- Que el ratio de hallazgos del programa en las últimas N revisiones se encuentre


por encima del umbral definido por el Supervisor de IST (N es configurable).

- Que el programa nunca haya pasado por una Revisión de IST, es decir, que no
se cuente con un historial del mismo.

Página 493
Anexo 5: Criterios para el cálculo del Esfuerzo de
Revisión

El esfuerzo de revisión de IST se mide en una unidad arbitraria conocida como “Puntos
de Esfuerzo de IST”. Las consideraciones que se utilizan para el cálculo son los
siguientes:

 A cada uno de los objetos presentes en las revisiones consideradas para el análisis se
le asigna un puntaje inicial de uno.

 Dependiendo del tipo de revisión solicitada, se multiplica dicho puntaje por un


factor configurable por el Supervisor de IST. Por ejemplo, podrían tenerse los
siguientes valores:

Tipo de Revisión Factor


Básica 1.0
Total 1.5

 A continuación se analiza el tipo de objeto revisado y se multiplica el puntaje


obtenido en el punto anterior por otro factor también configurable por el Supervisor
de IST.

Tipo de Objeto Factor


Procedure Genexus 1.20
Reporte Genexus 1.30
Workpanel Genexus 1.40
Transaction Genexus 1.40
Programa CL 1.10
Programa AS/400 1.50
Archivo 1.00

Página 494
 Posteriormente, para los objetos de tipo Genexus y CL, se analiza la complejidad
ciclomática de acuerdo a las siguientes categorías estándar de dicha métrica. El
factor obtenido en la tabla se multiplica por el puntaje obtenido en el pase anterior.

Tipo según complejidad ciclomática Factor


Programa simple (CC entre 1 y 10) 1.00
Programa medio (CC entre 11 y 20) 1.20
Programa complejo (CC entre 21-50) 1.50
Programa muy complejo (CC mayor a 50) 1.80

 A continuación, para los objetos CL y Genexus se toman en cuenta la cantidad de


líneas de acuerdo a la siguiente tabla. El factor obtenido en la tabla se multiplica por
el puntaje obtenido en el pase anterior.

Tipo según cantidad de líneas Factor


Programa corto (<= 100 líneas) 1.00
Programa mediano (>100 y <=400 líneas ) 1.10
Programa grande (> 400 líneas) 1.30

 Finalmente se totalizan los puntajes de cada objeto de cada revisión para obtener un
total general.

Página 495
Anexo 6: Ejemplo de Status Report

Se indican en color rojo las secciones que deberá generar el Sistema. El resto de
secciones deberán ser llenadas posteriormente por el Supervisor de IST.

IST
Fecha: Del 01/03/2015 al 31/03/2015

Resultados de Actividades del periodo

1. Relación de pases recibidos (generado por el Sistema):

Revisión Iter. Título Analista IST Tipo Estado Result.


Revisión
555 1 Prueba de Concepto Roberto Torres Básica FIN Aprobado
3
557 1 Prueba de Concepto Roberto Torres Total RES Trámite
5

2. Otras actividades realizadas (a ser llenado por el Supervisor de IST)

 Actividad 1:

 Actividad 2:

3. Capacitación (a ser llenado por el Supervisor de IST)

Página 496
Estadísticas

4. Estadísticas IST del periodo (generado por el Sistema)

Total de Revisiones: 2

Página 497
5. Comparativo histórico (últimos 12 meses, generado por el Sistema)

Página 498
Página 499
Actividades futuras

6. Relación de actividades planificadas (a ser llenado por el Supervisor de


IST)

 Actividad 1

 Actividad 2

Otros – Administrativos

7. Vacaciones programadas (a ser llenado por el Supervisor de IST)

8. Capacitaciones (a ser llenado por el Supervisor de IST)

Página 500
Anexo 7: Ejemplo de relación de Cartas de Desviación
vencidas y por Vencer

Relación de Cartas Vencidas y por Vencer (60 días)

Carta Título Revisión Pase Fecha Reg. Observaciones Fecha Vcto. Tipo
Amparada Amparado Registro Vcto.

55 Regulatori 555 1000 01/01/2014 Ninguna 01/06/2014 Vencida


o SBS
64 Cierre 557 1001 10/10/2015 Lorem ipsum 10/10/2015 Por
Contable dolor sit amet, ut vencer
mauris, curabitur
arcu leo diam
mauris, imperdiet
maecenas vitae,
at tristique
habitasse
voluptas. A nam
tincidunt
consequat
faucibus risus,
sed dapibus
integer commodo
et massa, aliquam
justo elit curabitur
sed ultrices, libero
duis et volutpat
ultrices tincidunt
lorem. Ante
pellentesque dis
eros, ultrices
suscipit
sollicitudin ante
donec lacus
vehicula,
adipiscing
placerat cras vel
duis imperdiet.

Página 501
Anexo 8: Ejemplo de exportación de documentación de
revisión

Reporte de Revisión 568

Título Prueba del Sistema 1


Pase 78430 Iteración 1
Relacionado
Servicio S4 9384 Analista de Juan Perea
Desarrollo
Tipo de Total Prioridad Alta
Revisión
Fecha de 17/08/2015 Fecha de Fin 17/08/2015
Inicio
Analista de Roberto Torres Recomendación Rechazar
IST Analista
Supervisor Víctor Peralta Respuesta Rechazado
de IST Supervisor
Carta de 0
Desviación

Relación de Hallazgos

Comp. Ap Tip Hallazgo Descripción Información Observaciones


o Adicional
LJXX901 XX CL A0001 La documentación no
contiene información
del sistema al que
pertenece el
programa
LJXX901 XX CL A0002 La documentación no
contiene información
del subsistema al que
pertenece el
programa
LJXX901 XX CL A0003 La documentación no
contiene el nombre
del programa

Página 502
LJXX901 XX CL A0004 La documentación no
contiene la
descripción del
programa
LJXX901 XX CL A0005 La documentación no
contiene al autor del
programa
LJXX901 XX CL A0006 La documentación no
contiene la fecha de
creación del
programa
LJXX901 XX CL A0009 Se encontraron WSDE --->
referencias a RSTOBJ
bibliotecas de OBJ(*ALL)
desarrollo SAVLIB(WSDEB
DRV)
DEV(*SAVF) +
LJXX901 XX CL A0009 Se encontraron WSDE --->
referencias a SAVF(WSDEBDR
bibliotecas de V/TASAC)
desarrollo
LJXX901 XX CL A0009 Se encontraron WSDE --->
referencias a CLRPFM
bibliotecas de FILE(WSDEBDR
desarrollo V/LNUD65)
LJXX901 XX CL A0009 Se encontraron WSDE --->
referencias a CPYF
bibliotecas de FROMFILE(WSD
desarrollo EBDRV/FSD012)
+
LJXX901 XX CL A0009 Se encontraron WSDE --->
referencias a CPYF
bibliotecas de FROMFILE(WSD
desarrollo EBDRV/LNUD65
)+
LJXX901 XX CL A0009 Se encontraron WSDE --->
referencias a CPYF
bibliotecas de FROMFILE(WSD
desarrollo EBDRV/FSD012)
+
LJXX901 XX CL A0009 Se encontraron WSDE --->
referencias a CPYF
bibliotecas de FROMFILE(WSD
desarrollo EBDRV/LNUD65
)+
LJXX901 XX CL H0001 Cancela en tiempo de Cancela cuando el

Página 503
ejecución archivo origen
viene sin data...
PLNUP60A NU GX A0003 La documentación no
contiene el nombre
del programa
PLNUP60A NU GX A0007 Se utiliza la regla no same(&scpap,
documentada SAME Scpap);
PLNUP60A NU GX A0027 When none corrompe
la variable interna
&line si tiene printer
file
PLNUP60A NU GX A0030 Uso de funciones en where Scsuc = interesante.
where limita el uso val('100')
de índice
PLNUP60A NU GX A0031 Alteración directa al Update: Scsdo
archivo de saldos
PLNUP60A NU GX A0031 Alteración directa al Delete
archivo de saldos
PLNUP60A NU GX A0034 Propiedad Report
Output debe ser Only
to Printer para
impresos
PLNUP60A NU GX A0036 Full Scan a la tabla FSD011
PLNUP60A NU GX H0001 Cancela en tiempo de Pasa mal los
ejecución parámetros a la
rutina de saldos
PLNUP60A NU GX H0002 Lógica de Captura la fecha del
Programación sistema dentro de
un loop de miles de
iteraciones...
debería hacerlo
fuera del loop

DOCUMENTO TÉCNICO
<<Contenido del documento técnico elaborado por el analista de IST>>

DOCUMENTO FUNCIONAL
<<Contenido del documento funcional elaborado por el analista de IST>>

Página 504
Anexo 9: Resultados de la ejecución de las pruebas
funcionales

Caso de Pruebas: CUS01-Analizar Código Fuente Genexus

Escenario de Prueba: Parámetros de Entrada en Blanco (7.4.1.2.1)

Escenario de Prueba: Fuente y Lista de Navegación no corresponden (7.4.1.2.2)

Página 505
Escenario de Prueba: Programa sin ninguna anomalía (7.4.1.2.3)

Escenario de Prueba: Documentación Incompleta (7.4.1.2.4)

Test Name: Documentacion_Test


Test Outcome: Passed
Result StandardOutput:
**********************************************************************
Validando PLXXP03
Existe: A0001
Existe: A0002
Existe: A0003
Existe: A0004
Existe: A0005
Existe: A0006
**********************************************************************
Validando TLXXD01
Existe: A0001
Existe: A0002
Existe: A0003
Existe: A0004
Existe: A0005
Existe: A0006
**********************************************************************
Validando PPFMP02
Existe: A0002
Existe: A0005
**********************************************************************
Validando wLT1Q63
Existe: A0002
**********************************************************************
Validando PPWFP73A
**********************************************************************
Validando PLC4001
**********************************************************************
Validando PLTAP101A
A0003 La documentación no contiene el nombre del programa
A0028 For Each sin defined by

Página 506
A0028 For Each sin defined by
A0030 Uso de funciones en where limita el uso de índice
A0032 Parámetros con longitud fija en la llamada, valide la longitud de las variables del programa invocado
Se encontró: A0003

**********************************************************************
Validando PTSTDOC1
A0017 Nomenclatura Genexus no es válida
A0017 Nomenclatura Genexus no es válida
A0017 Nomenclatura Genexus no es válida
A0003 La documentación no contiene el nombre del programa
Se encontró: A0003
**********************************************************************
Validando PTSTDOC2
A0017 Nomenclatura Genexus no es válida
A0017 Nomenclatura Genexus no es válida
A0017 Nomenclatura Genexus no es válida
No se encontró: A0003
**********************************************************************
Validando PTSTDOC5
A0017 Nomenclatura Genexus no es válida
A0017 Nomenclatura Genexus no es válida
A0017 Nomenclatura Genexus no es válida
No se encontró: A0003
**********************************************************************
Validando PGRTP411
A0000 No se detectó ningún hallazgo
No se encontró: A0003

Escenario de Prueba: Reglas Genexus Indebidas (7.4.1.2.5)

Escenario de Prueba: COMMIT_ON_EXIT en NO y tiene COMMIT explícito


(7.4.1.2.6)

Test Name: CommitExplicito_Test


Test Outcome: Passed
Result StandardOutput:
**********************************************************************
Validando PLXXP01
Lista Obtenida (con filtro por: A0008)

Página 507
========================
PLXXP01 - A0008
Lista Esperada
==============
PLXXP01 - A0008
**********************************************************************
Validando PLXXP02
Lista Obtenida (con filtro por: A0008)
========================
PLXXP02 - A0008
Lista Esperada
==============
PLXXP02 - A0008
**********************************************************************
Validando PGDOP05
Lista Obtenida (con filtro por: A0008)
========================
PGDOP05 - A0008
Lista Esperada
==============
PGDOP05 - A0008
*********************************************************************
Validando PLPVP69A
Lista Obtenida (con filtro por: A0008)
========================
PLPVP69A - A0008
Lista Esperada
==============
PLPVP69A - A0008
**********************************************************************
Validando PLXXP38A
Lista Obtenida (con filtro por: A0008)
========================
PLXXP38A - A0008
Lista Esperada
==============
PLXXP38A - A0008

Escenario de Prueba: Valida Durezas de Nombre del Banco (7.4.1.2.7)

Test Name: DurezaNombreBanco_Test


Test Outcome: Passed
Result StandardOutput:
**********************************************************************
Validando RLXXP04
Lista Obtenida (con filtro por: A0010)
========================
RLXXP04 - A0010 - B.W.S ---> <Source>b.w.s</Source>
RLXXP04 - A0010 - B.W.S ---> <Source>B.w.S</Source>
RLXXP04 - A0010 - B.W.S ---> <Source>B.W.S</Source>
RLXXP04 - A0010 - B.W.S ---> <Text>b.w.s</Text>
RLXXP04 - A0010 - B.W.S ---> <Text>B.w.S</Text>
RLXXP04 - A0010 - B.W.S ---> <Text>B.W.S</Text>
RLXXP04 - A0010 - BWS ---> <Source>bws</Source>
RLXXP04 - A0010 - BWS ---> <Source>Bws</Source>
RLXXP04 - A0010 - BWS ---> <Source>BWS</Source>
RLXXP04 - A0010 - BWS ---> <Text>bws</Text>
RLXXP04 - A0010 - BWS ---> <Text>Bws</Text>
RLXXP04 - A0010 - BWS ---> <Text>BWS</Text>
RLXXP04 - A0010 - CREDISCOTIA ---> <Source>crediscotia</Source>

Página 508
RLXXP04 - A0010 - CREDISCOTIA ---> <Source>CrediScotia</Source>
RLXXP04 - A0010 - CREDISCOTIA ---> <Source>CREDISCOTIA</Source>
RLXXP04 - A0010 - CREDISCOTIA ---> <Text>crediscotia</Text>
RLXXP04 - A0010 - CREDISCOTIA ---> <Text>CrediScotia</Text>
RLXXP04 - A0010 - CREDISCOTIA ---> <Text>CREDISCOTIA</Text>
RLXXP04 - A0010 - WIESE ---> <Source>wIese</Source>
RLXXP04 - A0010 - WIESE ---> <Source>Wiese</Source>
RLXXP04 - A0010 - WIESE ---> <Source>WIESE</Source>
RLXXP04 - A0010 - WIESE ---> <Text>wIese</Text>
RLXXP04 - A0010 - WIESE ---> <Text>Wiese</Text>
RLXXP04 - A0010 - WIESE ---> <Text>WIESE</Text>

Lista Esperada
==============
RLXXP04 - A0010 - B.W.S ---> <Source>b.w.s</Source>
RLXXP04 - A0010 - B.W.S ---> <Source>B.w.S</Source>
RLXXP04 - A0010 - B.W.S ---> <Source>B.W.S</Source>
RLXXP04 - A0010 - B.W.S ---> <Text>b.w.s</Text>
RLXXP04 - A0010 - B.W.S ---> <Text>B.w.S</Text>
RLXXP04 - A0010 - B.W.S ---> <Text>B.W.S</Text>
RLXXP04 - A0010 - BWS ---> <Source>bws</Source>
RLXXP04 - A0010 - BWS ---> <Source>Bws</Source>
RLXXP04 - A0010 - BWS ---> <Source>BWS</Source>
RLXXP04 - A0010 - BWS ---> <Text>bws</Text>
RLXXP04 - A0010 - BWS ---> <Text>Bws</Text>
RLXXP04 - A0010 - BWS ---> <Text>BWS</Text>
RLXXP04 - A0010 - CREDISCOTIA ---> <Source>crediscotia</Source>
RLXXP04 - A0010 - CREDISCOTIA ---> <Source>CrediScotia</Source>
RLXXP04 - A0010 - CREDISCOTIA ---> <Source>CREDISCOTIA</Source>
RLXXP04 - A0010 - CREDISCOTIA ---> <Text>crediscotia</Text>
RLXXP04 - A0010 - CREDISCOTIA ---> <Text>CrediScotia</Text>
RLXXP04 - A0010 - CREDISCOTIA ---> <Text>CREDISCOTIA</Text>
RLXXP04 - A0010 - WIESE ---> <Source>wIese</Source>
RLXXP04 - A0010 - WIESE ---> <Source>Wiese</Source>
RLXXP04 - A0010 - WIESE ---> <Source>WIESE</Source>
RLXXP04 - A0010 - WIESE ---> <Text>wIese</Text>
RLXXP04 - A0010 - WIESE ---> <Text>Wiese</Text>
RLXXP04 - A0010 - WIESE ---> <Text>WIESE</Text>

**********************************************************************
Validando PPWCP001
Lista Obtenida (con filtro por: A0010)
========================
PPWCP001 - A0010 - SBP ---> <Source>(1) Cajeros SBP</Source>
PPWCP001 - A0010 - SBP ---> <Text>(1) Cajeros SBP</Text>

Lista Esperada
==============
PPWCP001 - A0010 - SBP ---> <Source>(1) Cajeros SBP</Source>
PPWCP001 - A0010 - SBP ---> <Text>(1) Cajeros SBP</Text>

**********************************************************************
Validando PLXXP20
Lista Obtenida (con filtro por: A0010)
========================
PLXXP20 - A0010 - WIESE ---> &texto = 'WIESE'

Lista Esperada
==============
PLXXP20 - A0010 - WIESE ---> &texto = 'WIESE'

**********************************************************************
Validando WLXXP21
Lista Obtenida (con filtro por: A0010)
========================

Página 509
WLXXP21 - A0010 - WIESE ---> &texto = 'WIESE'
Lista Esperada
==============
WLXXP21 - A0010 - WIESE ---> &texto = 'WIESE'

Escenario de Prueba: Valida Durezas de Moneda (7.4.1.2.8)

Test Name: DurezaNombreMoneda_Test


Test Outcome: Passed
Result StandardOutput:
**********************************************************************
Validando PLPTP91M
Lista Obtenida (con filtro por: A0011)
========================
PLPTP91M - A0011 - DOLARES ---> <Source>Total Dolares</Source>
PLPTP91M - A0011 - DÓLARES ---> <Text>Total Dólares</Text>
PLPTP91M - A0011 - SOLES ---> <Source>Total soles</Source>
PLPTP91M - A0011 - SOLES ---> <Text>Total soles</Text>

Lista Esperada
==============
PLPTP91M - A0011 - DOLARES ---> <Source>Total Dolares</Source>
PLPTP91M - A0011 - DOLARES ---> <Text>Total Dolares</Text>
PLPTP91M - A0011 - SOLES ---> <Source>Total soles</Source>
PLPTP91M - A0011 - SOLES ---> <Text>Total soles</Text>
**********************************************************************
Validando WLRFP04
No se encontró: A0011
**********************************************************************
Validando PLWFP73
No se encontró: A0011

Test Name: DurezaSignoMoneda_Test


Test Outcome: Passed
Result StandardOutput:
**********************************************************************
Validando PLXXP20
Lista Obtenida (con filtro por: A0012)
========================
PLXXP20 - A0012 - S/. ---> <Source>S/.</Source>
PLXXP20 - A0012 - S/. ---> <Text>S/.</Text>

Lista Esperada
==============
PLXXP20 - A0012 - S/. ---> <Source>S/.</Source>
PLXXP20 - A0012 - S/. ---> <Text>S/.</Text>
**********************************************************************
Validando WLLCP73
Lista Obtenida (con filtro por: A0012)
========================
WLLCP73 - A0012 - US$ ---> <Title> Monto Maximo US$</Title>

Lista Esperada

Página 510
==============
WLLCP73 - A0012 - US$ ---> <Title> Monto Maximo US$</Title>

Escenario de Prueba: Nomenclatura Genexus (7.4.1.2.9)

Test Name: Nomenclatura_Test


Test Outcome: Passed
Result StandardOutput:
**********************************************************************
Validando RXXXP07
Existe: A0017: RXXXP07: segundo caracter debe ser C, L, G o P
**********************************************************************
Validando RLZZP07
Existe: A0017: ZZ: aplicación no existe
**********************************************************************
Validando RLXXPA0
Existe: A0017: RLXXPA0: sexto caracter debe ser numérico
**********************************************************************
Validando RLXXP0A
Existe: A0017: RLXXP0A: séptimo caracter debe ser numérico
**********************************************************************
Validando PLXXP99
No se encontró: A0017
**********************************************************************
Validando WLXXP08
No se encontró: A0017
**********************************************************************
Validando RLXXP07
No se encontró: A0017

Escenario de Prueba: Valida Campos de Ejecutivo de Negocios (7.4.1.2.10)

Test Name: CamposEjecutivo_Test


Test Outcome: Passed
Result StandardOutput:
**********************************************************************
Validando WLPTP07B
Lista Obtenida (con filtro por: A0018)
========================
WLPTP07B - A0018 - EJCOD= ---> where Ejcod = &ejec
Lista Esperada
==============
WLPTP07B - A0018 - EJCOD= ---> where Ejcod = &ejec

**********************************************************************
Validando RLAGR32C
Lista Obtenida (con filtro por: A0018)

Lista Esperada
==============

Escenario de Prueba: Valida Commits RTE (7.4.1.2.11)

Página 511
Test Name: CommitsRTE_Test
Test Outcome: Passed
Result StandardOutput:
**********************************************************************
Validando PLXXP28
No se encontró: A0019
**********************************************************************
Validando PLXXP29
Se encontró: A0019
**********************************************************************
Validando PLXXP30
No se encontró: A0019
**********************************************************************
Validando PLXXP31
Se encontró: A0019
**********************************************************************
Validando PLXXP32
No se encontró: A0019

**********************************************************************
Validando PLXXP33
Se encontró: A0019

Escenario de Prueba: Commit o Rollback explícito y Commitment Disabled


(7.4.1.2.12)

Test Name: Commitment_Test


Test Outcome: Passed
Result StandardOutput:
**********************************************************************
Validando PLXXP38
No se encontró: A0020

**********************************************************************
Validando PLXXP38B
Lista Obtenida (con filtro por: A0020)
========================
PLXXP38B - A0020 - commit

Lista Esperada
==============
PLXXP38B - A0020 - commit

**********************************************************************
Validando PLXXP38C
No se encontró: A0020

**********************************************************************
Validando PLXXP38D
Lista Obtenida (con filtro por: A0020)
========================
PLXXP38D - A0020 - rollback

Página 512
Lista Esperada
==============
PLXXP38D - A0020 - rollback

**********************************************************************
Validando PLXCP89
No se encontró: A0020

Escenario de Prueba: Workpanel en ciclo de compromiso (7.4.1.2.13)

Escenario de Prueba: Asignación directa de Empresa (7.4.1.2.14)

Escenario de Prueba: Estándar de Cabecera (7.4.1.2.15)

Test Name: EstandarCabecera_Test


Test Outcome: Passed
Result StandardOutput:
**********************************************************************
Validando RLXXP24
Se encontró: A0024
**********************************************************************
Validando RLXXP24
Se encontró: A0025
**********************************************************************
Validando RLXXP24
Se encontró: A0026

Página 513
**********************************************************************
Validando RLXXP41
No se encontró: A0024
**********************************************************************
Validando RLXXP41
No se encontró: A0025
**********************************************************************
Validando RLXXP41
No se encontró: A0026
**********************************************************************
Validando WLXXP40A
No se encontró: A0024
**********************************************************************
Validando WLXXP40B
No se encontró: A0024
**********************************************************************
Validando WLXXP40C
Lista Obtenida (con filtro por: A0024)
========================
WLXXP40C - A0024
Lista Esperada
==============
WLXXP40C - A0024
**********************************************************************
Validando WLXXP40
No se encontró: A0024
**********************************************************************
Validando WLXXP40
No se encontró: A0025
**********************************************************************
Validando WLXXP40
No se encontró: A0026
**********************************************************************
Validando WLXXP40D
Lista Obtenida (con filtro por: A0024)
========================
WLXXP40D - A0024
Lista Esperada
==============
WLXXP40D - A0024
**********************************************************************
Validando WLXXP40E
Lista Obtenida (con filtro por: A0025)
========================
WLXXP40E - A0025
Lista Esperada
==============
WLXXP40E - A0025
**********************************************************************
Validando WLXXP40F
Lista Obtenida (con filtro por: A0026)
========================
WLXXP40F - A0026
Lista Esperada
==============
WLXXP40F - A0026

Escenario de Prueba: When none corrompe la variable interna &line si tiene


printer file (7.4.1.2.16)

Página 514
Escenario de Prueba: For each sin defined by (7.4.1.2.17)

Test Name: ForEachDefinedBy_Test


Test Outcome: Passed
Result StandardOutput:
**********************************************************************
Validando PLTWP315
Lista Obtenida (con filtro por: A0028)
========================
PLTWP315 - A0028 - For each order Pgcod Ctnro Pepais Petdoc Pendoc Where Pgcod = &PgCod Where Ctnro
= &CuentaBT
PLTWP315 - A0028 - For each order TW01Pgcod TW01Conve WT01Funcion WR06Secuen WR06CtaBT
WR06Grupo WR06SubCta Where TW01Pgcod = &PgCod Where TW01Conve = &Convenio Where
WT01Funcion = &Funcion Where WR06Secuen = &Sec

Lista Esperada
==============
PLTWP315 - A0028 - For each order Pgcod Ctnro Pepais Petdoc Pendoc Where Pgcod = &PgCod Where Ctnro
= &CuentaBT
PLTWP315 - A0028 - For each order TW01Pgcod TW01Conve WT01Funcion WR06Secuen WR06CtaBT
WR06Grupo WR06SubCta Where TW01Pgcod = &PgCod Where TW01Conve = &Convenio Where
WT01Funcion = &Funcion Where WR06Secuen = &Sec

**********************************************************************
Validando RLRCR03
Lista Obtenida (con filtro por: A0028)
========================
RLRCR03 - A0028 - For each order IS01EMP, IS01BTUNI where IS01EMP = &pgcod where IS01BTUNI =
&btuni where IS01TCR = &tipocre
RLRCR03 - A0028 - For each order IS16CREP, IS16TCRE where IS16CREP = &codrep where IS16TCRE =
&tipocre
RLRCR03 - A0028 - For each where BcaCod = &bcacod

Página 515
RLRCR03 - A0028 - For each where IS14EMP = IS01EMP where IS14SUC = IS01SUC where IS14RUB =
IS01RUB where IS14MDA = IS01MDA where IS14PAP = IS01PAP where IS14CTA = IS01CTA where IS14OPE
= IS01OPE where IS14SOPE = IS01SOPE where IS14TOPE = IS01TOPE
RLRCR03 - A0028 - For each where Pgcod = &pgcod where Ejcod = &ejcod
RLRCR03 - A0028 - For each where TcCod = &TcCod where TcMda = &TcMda where TcFch <= &wFecPro

Lista Esperada
==============
RLRCR03 - A0028 - For each order IS01EMP, IS01BTUNI where IS01EMP = &pgcod where IS01BTUNI =
&btuni where IS01TCR = &tipocre
RLRCR03 - A0028 - For each order IS16CREP, IS16TCRE where IS16CREP = &codrep where IS16TCRE =
&tipocre
RLRCR03 - A0028 - For each where BcaCod = &bcacod
RLRCR03 - A0028 - For each where IS14EMP = IS01EMP where IS14SUC = IS01SUC where IS14RUB =
IS01RUB where IS14MDA = IS01MDA where IS14PAP = IS01PAP where IS14CTA = IS01CTA where IS14OPE
= IS01OPE where IS14SOPE = IS01SOPE where IS14TOPE = IS01TOPE
RLRCR03 - A0028 - For each where Pgcod = &pgcod where Ejcod = &ejcod
RLRCR03 - A0028 - For each where TcCod = &TcCod where TcMda = &TcMda where TcFch <= &wFecPro

Escenario de Prueba: Arreglos y Funciones en sentencia Where (7.4.1.2.18)

Test Name: FuncionesYArreglosEnWhere_Test


Test Outcome: Passed
Result StandardOutput:
**********************************************************************
Validando PLXXP16
Lista Obtenida (con filtro por: A0029)
========================
PLXXP16 - A0029 - where Modulo = &modulo(1)
Lista Esperada
==============
PLXXP16 - A0029 - where Modulo = &modulo(1)
**********************************************************************
Validando RGCXR72
Lista Obtenida (con filtro por: A0029)
========================
RGCXR72 - A0029 - Where Hcord = &WArrOrd(1)
Lista Esperada
==============
RGCXR72 - A0029 - Where Hcord = &WArrOrd(1)
**********************************************************************
Validando WLPVP68B
Lista Obtenida (con filtro por: A0030)
========================
WLPVP68B - A0030 - Where Scoper = val(trim(&LP60NroFac))
Lista Esperada
==============
WLPVP68B - A0030 - Where Scoper = val(trim(&LP60NroFac))
**********************************************************************
Validando PLTAP101
Lista Obtenida (con filtro por: A0030)
========================
PLTAP101 - A0030 - Where val(TL05SECUEN) > &NroIni .AND. val(TL05SECUEN) <= &Nrofin
Lista Esperada
==============
PLTAP101 - A0030 - Where val(TL05SECUEN) > &NroIni .AND. val(TL05SECUEN) <= &Nrofin
**********************************************************************
Validando PLPTP91M
Lista Obtenida (con filtro por: A0030)
========================

Página 516
PLPTP91M - A0030 - Where ymdtod(&ANOPVP,&MESPVP,&DIAPVP) <= &pgfape
Lista Esperada
==============
PLPTP91M - A0030 - Where ymdtod(&ANOPVP,&MESPVP,&DIAPVP) <= &pgfape

Escenario de Prueba: Actualizaciones directas al archivo de saldos (7.4.1.2.19)

Test Name: OperacionesFSD011_Test


Test Outcome: Passed
Result StandardOutput:
**********************************************************************
Validando PLXXP19
Existe: A0031: Insert: Pgcod
Existe: A0031: Insert: Pgcod
Existe: A0031: Insert: Scsuc
Existe: A0031: Insert: Scrub
Existe: A0031: Insert: Scmda
Existe: A0031: Insert: Scpap
Existe: A0031: Insert: Sccta
Existe: A0031: Insert: Scoper
Existe: A0031: Insert: Scsbop
Existe: A0031: Insert: Sctope
**********************************************************************
Validando PLXXP19
Existe: A0031: Update: Scsdo
Existe: A0031: Update: Scmod
**********************************************************************
Validando PLXXP23
Existe: A0031: Delete

Escenario de Prueba: Calls con parámetros de longitud fija (7.4.1.2.20)

Test Name: CallConLongitudFija_Test


Test Outcome: Passed
Result StandardOutput:
**********************************************************************
Validando PLXXP17
Lista Obtenida (con filtro por: A0032)
========================
PLXXP17 - A0032 - CALL('PGR4', &TODAY, 'DUREZA4')
PLXXP17 - A0032 - CALL('PGR5', \&Today, \'DUREZA5')
PLXXP17 - A0032 - CALL('PRG1', 'DUREZA1', 'DUREZA2')
Lista Esperada
==============
PLXXP17 - A0032 - CALL('PGR4', &TODAY, 'DUREZA4')
PLXXP17 - A0032 - CALL('PGR5', \&Today, \'DUREZA5')
PLXXP17 - A0032 - CALL('PRG1', 'DUREZA1', 'DUREZA2')
**********************************************************************
Validando PLXXP43
Lista Obtenida (con filtro por: A0032)
========================
PLXXP43 - A0032 - CALL('PRG', &TIME,001 )
PLXXP43 - A0032 - CALL('PRG', &TODAY, 001)

Página 517
PLXXP43 - A0032 - CALL('PRG', 001)
PLXXP43 - A0032 - CALL('PRG', 001, 002)
PLXXP43 - A0032 - CALL('PRG', 001, 002)
PLXXP43 - A0032 - CALL('PRG', 'HOLA', 001)
PLXXP43 - A0032 - CALL('PRG',001)
PLXXP43 - A0032 - CALL('PRGXXX', &TIME, \001 )
PLXXP43 - A0032 - CALL('PRGXXX', &TIME, \001 )
Lista Esperada
==============
PLXXP43 - A0032 - CALL('PRG', &TIME,001 )
PLXXP43 - A0032 - CALL('PRG', &TODAY, 001)
PLXXP43 - A0032 - CALL('PRG', 001)
PLXXP43 - A0032 - CALL('PRG', 001, 002)
PLXXP43 - A0032 - CALL('PRG', 001, 002)
PLXXP43 - A0032 - CALL('PRG', 'HOLA', 001)
PLXXP43 - A0032 - CALL('PRG',001)
PLXXP43 - A0032 - CALL('PRGXXX', &TIME, \001 )
PLXXP43 - A0032 - CALL('PRGXXX', &TIME, \001 )

Escenario de Prueba: Índice Temporal (7.4.1.2.21)

Escenario de Prueba: Report Output (7.4.1.2.22)

Test Name: ReportOutput_Test


Test Outcome: Passed
Result StandardOutput:
**********************************************************************
Validando RLXXP46
Se encontró: A0034
**********************************************************************
Validando RLXXP46A
Se encontró: A0034
**********************************************************************
Validando RLXXP46B
Se encontró: A0034
**********************************************************************
Validando RLXXP46C
No se encontró: A0034
**********************************************************************
Validando RLXXP46D
Se encontró: A0034

Página 518
Escenario de Prueba: Report Confirmation - Always Prompt (7.4.1.2.23)

Test Name: AlwaysPrompt_Test


Test Outcome: Passed
Result StandardOutput:
**********************************************************************
Validando PLXXP45
No se encontró: A0035
**********************************************************************
Validando PLXXP45A
Se encontró: A0035
**********************************************************************
Validando PLXXP45B
No se encontró: A0035
**********************************************************************
Validando PLXXP45C
No se encontró: A0035
**********************************************************************
Validando PLXXP45D
No se encontró: A0035

Escenario de Prueba: Full Scan a tabla (7.4.1.2.24)

Test Name: FullScan_Test


Test Outcome: Passed
Result StandardOutput:
**********************************************************************
Validando WPS50000
Lista Obtenida (con filtro por: A0036)
========================
WPS50000 - A0036 - FSI001
WPS50000 - A0036 - FSI006
Lista Esperada
==============
WPS50000 - A0036 - FSI001
WPS50000 - A0036 - FSI006
**********************************************************************
Validando PLXXP19
Lista Obtenida (con filtro por: A0036)
========================
PLXXP19 - A0036 - FSD011
PLXXP19 - A0036 - FSD011
PLXXP19 - A0036 - FST003
Lista Esperada
==============
PLXXP19 - A0036 - FSD011
PLXXP19 - A0036 - FSD011
PLXXP19 - A0036 - FST003
**********************************************************************
Validando WLXXP36
Lista Obtenida (con filtro por: A0036)
========================
WLXXP36 - A0036 - LVAW10
Lista Esperada
==============
WLXXP36 - A0036 - LVAW10

Página 519
Caso de Pruebas: CUS02-Analizar Código Fuente CL

Escenario de Prueba: Parámetros de Entrada en Blanco (7.4.2.2.1)

Escenario de Prueba: Programas sin anomalías (7.4.2.2.2)

Test Name: SinAnomalia_Test


Test Outcome: Passed
Result StandardOutput:
**********************************************************************
Validando GJCO095
Lista Obtenida
==============
Analizador - A0000
Lista Esperada
==============
GJCO095 - A0000

**********************************************************************
Validando LJCP023
Lista Obtenida
==============
Analizador - A0000
Lista Esperada
==============
LJCP023 - A0000

**********************************************************************
Validando PJPT124
Lista Obtenida
==============
Analizador - A0000
Lista Esperada
==============
PJPT124 - A0000

**********************************************************************
Validando LJC1000B

Página 520
Lista Obtenida
==============
Analizador - A0000
Lista Esperada
==============
LJC1000B - A0000

Escenario de Prueba: Documentación Incompleta (7.4.2.2.3)

Test Name: Documentación_Test


Test Outcome: Passed
Result StandardOutput:
**********************************************************************
Validando CJCRT02
No se encontró: A0001

**********************************************************************
Validando CJCRT02
No se encontró: A0002

**********************************************************************
Validando CJCRT02
No se encontró: A0003

**********************************************************************
Validando CJCRT02
No se encontró: A0004

**********************************************************************
Validando CJCRT02
No se encontró: A0005

**********************************************************************
Validando CJCRT02
No se encontró: A0006

**********************************************************************
Validando LJPT99
Lista Obtenida
==============
LJPT99 - A0001
LJPT99 - A0002
LJPT99 - A0003
LJPT99 - A0004
LJPT99 - A0005
LJPT99 - A0006
Lista Esperada
==============
LJPT99 - A0001
LJPT99 - A0002
LJPT99 - A0003
LJPT99 - A0004
LJPT99 - A0005
LJPT99 - A0006

**********************************************************************
Validando LJAG002CO3

Página 521
Lista Obtenida
==============
LJAG002CO3 - A0001
LJAG002CO3 - A0003
Lista Esperada
==============
LJAG002CO3 - A0001
LJAG002CO3 - A0003

**********************************************************************
Validando LJAG002CO4
Lista Obtenida
==============
LJAG002CO4 - A0002
LJAG002CO4 - A0003
Lista Esperada
==============
LJAG002CO4 - A0002
LJAG002CO4 - A0003

**********************************************************************
Validando LJAG002CO5
Lista Obtenida
==============
LJAG002CO5 - A0003
LJAG002CO5 - A0004
Lista Esperada
==============
LJAG002CO5 - A0003
LJAG002CO5 - A0004

**********************************************************************
Validando LJAG002CO7
Lista Obtenida
==============
LJAG002CO7 - A0003
LJAG002CO7 - A0005
Lista Esperada
==============
LJAG002CO7 - A0003
LJAG002CO7 - A0005

**********************************************************************
Validando LJAG002CO6
Lista Obtenida
==============
LJAG002CO6 - A0003
LJAG002CO6 - A0006
Lista Esperada
==============
LJAG002CO6 - A0003
LJAG002CO6 - A0006

**********************************************************************
Validando LJVC012
Lista Obtenida
==============
LJVC012 - A0002
Lista Esperada
==============
LJVC012 - A0002

Página 522
Escenario de Prueba: Bibliotecas de Desarrollo (7.4.2.2.4)

Test Name: BibliotecasTest


Test Outcome: Passed
Result StandardOutput:
**********************************************************************
Validando LJXX006
No se encontró: A0009

**********************************************************************
Validando LJXX001
Lista Obtenida (con filtro por: A0009)
========================
LJXX001 - A0009 - WSDE ---> CLRPFM FILE(WSDEBDRV/LNUD65)
LJXX001 - A0009 - WSDE ---> CPYF FROMFILE(WSDEBDRV/FSD012) +
LJXX001 - A0009 - WSDE ---> CPYF FROMFILE(WSDEBDRV/FSD012) +
LJXX001 - A0009 - WSDE ---> CPYF FROMFILE(WSDEBDRV/LNUD65) +
LJXX001 - A0009 - WSDE ---> CPYF FROMFILE(WSDEBDRV/LNUD65) +
LJXX001 - A0009 - WSDE ---> RSTOBJ OBJ(*ALL) SAVLIB(WSDEBDRV) DEV(*SAVF) +
LJXX001 - A0009 - WSDE ---> SAVF(WSDEBDRV/TASAC)

Lista Esperada
==============
LJXX001 - A0009 - WSDE ---> CLRPFM FILE(WSDEBDRV/LNUD65)
LJXX001 - A0009 - WSDE ---> CPYF FROMFILE(WSDEBDRV/FSD012) +
LJXX001 - A0009 - WSDE ---> CPYF FROMFILE(WSDEBDRV/FSD012) +
LJXX001 - A0009 - WSDE ---> CPYF FROMFILE(WSDEBDRV/LNUD65) +
LJXX001 - A0009 - WSDE ---> CPYF FROMFILE(WSDEBDRV/LNUD65) +
LJXX001 - A0009 - WSDE ---> RSTOBJ OBJ(*ALL) SAVLIB(WSDEBDRV) DEV(*SAVF) +
LJXX001 - A0009 - WSDE ---> SAVF(WSDEBDRV/TASAC)

**********************************************************************
Validando LJXX002
Lista Obtenida (con filtro por: A0009)
========================
LJXX002 - A0009 - BLDE ---> TOFILE(BLDEFTPH/LPTD15) MBROPT(*REPLACE)

Lista Esperada
==============
LJXX002 - A0009 - BLDE ---> TOFILE(BLDEFTPH/LPTD15) MBROPT(*REPLACE)

**********************************************************************
Validando LJXX004
Lista Obtenida (con filtro por: A0009)
========================
LJXX004 - A0009 - CSDE ---> OVRDBF FILE(LSGD06) TOFILE(CSDEBDBT/LSGD06)
LJXX004 - A0009 - CSDE ---> OVRDBF FILE(LSGD0601) TOFILE(CSDEBDBT/LSGD0601)
LJXX004 - A0009 - CSDE ---> OVRDBF FILE(LSGD08) TOFILE(CSDEBDBT/LSGD08)
LJXX004 - A0009 - CSDE ---> OVRDBF FILE(LSGD0801) TOFILE(CSDEBDBT/LSGD0801)
LJXX004 - A0009 - CSDE ---> OVRDBF FILE(LSGD0802) TOFILE(CSDEBDBT/LSGD0802)
LJXX004 - A0009 - CSDE ---> OVRDBF FILE(LSGD0803) TOFILE(CSDEBDBT/LSGD0803)
LJXX004 - A0009 - CSDE ---> OVRDBF FILE(LSGD0804) TOFILE(CSDEBDBT/LSGD0804)

Lista Esperada
==============

Página 523
LJXX004 - A0009 - CSDE ---> OVRDBF FILE(LSGD06) TOFILE(CSDEBDBT/LSGD06)
LJXX004 - A0009 - CSDE ---> OVRDBF FILE(LSGD0601) TOFILE(CSDEBDBT/LSGD0601)
LJXX004 - A0009 - CSDE ---> OVRDBF FILE(LSGD08) TOFILE(CSDEBDBT/LSGD08)
LJXX004 - A0009 - CSDE ---> OVRDBF FILE(LSGD0801) TOFILE(CSDEBDBT/LSGD0801)
LJXX004 - A0009 - CSDE ---> OVRDBF FILE(LSGD0802) TOFILE(CSDEBDBT/LSGD0802)
LJXX004 - A0009 - CSDE ---> OVRDBF FILE(LSGD0803) TOFILE(CSDEBDBT/LSGD0803)
LJXX004 - A0009 - CSDE ---> OVRDBF FILE(LSGD0804) TOFILE(CSDEBDBT/LSGD0804)

**********************************************************************
Validando LJXX005
Lista Obtenida (con filtro por: A0009)
========================
LJXX005 - A0009 - DLDE ---> ADDLIBLE LIB(DLDEBDBT) POSITION(*AFTER BANTOT)
LJXX005 - A0009 - DLDE ---> ADDLIBLE LIB(DLDEPGBT) POSITION(*AFTER BANTOT)
LJXX005 - A0009 - DLDE ---> RMVLIBLE LIB(DLDEBDBT)
LJXX005 - A0009 - DLDE ---> RMVLIBLE LIB(DLDEPGBT)

Lista Esperada
==============
LJXX005 - A0009 - DLDE ---> ADDLIBLE LIB(DLDEBDBT) POSITION(*AFTER BANTOT)
LJXX005 - A0009 - DLDE ---> ADDLIBLE LIB(DLDEPGBT) POSITION(*AFTER BANTOT)
LJXX005 - A0009 - DLDE ---> RMVLIBLE LIB(DLDEBDBT)
LJXX005 - A0009 - DLDE ---> RMVLIBLE LIB(DLDEPGBT)

Escenario de Prueba: Comandos Restringidos (7.4.2.2.5)

Test Name: ComandosRestringidos_Test


Test Outcome: Passed
Result StandardOutput:
**********************************************************************

Validando LJXX012
No se encontró: A0014

**********************************************************************
Validando LJXX007
Lista Obtenida (con filtro por: A0014)
========================
LJXX007 - A0014 - ADDLIBLE ---> ADDLIBLE LIB(WSDEBDEM)

Lista Esperada
==============
LJXX007 - A0014 - ADDLIBLE ---> ADDLIBLE LIB(WSDEBDEM)

**********************************************************************
Validando LJWC989
Lista Obtenida (con filtro por: A0014)
========================
LJWC989 - A0014 - ADDLIBLE ---> ADDLIBLE BL24BDBT *FIRST

Lista Esperada
==============
LJWC989 - A0014 - ADDLIBLE ---> ADDLIBLE BL24BDBT *FIRST

Página 524
**********************************************************************
Validando LJXX008
Lista Obtenida (con filtro por: A0014)
========================
LJXX008 - A0014 - DLTLIB ---> DLTLIB LIB(TEMPORAL)

Lista Esperada
==============
LJXX008 - A0014 - DLTLIB ---> DLTLIB LIB(TEMPORAL)

**********************************************************************
Validando LJXX009
Lista Obtenida (con filtro por: A0014)
========================
LJXX009 - A0014 - CLRLIB ---> CLRLIB LIB(BLTEMP)
LJXX009 - A0014 - CLRLIB ---> CLRLIB LIB(BLTEMP)

Lista Esperada
==============
LJXX009 - A0014 - CLRLIB ---> CLRLIB LIB(BLTEMP)
LJXX009 - A0014 - CLRLIB ---> CLRLIB LIB(BLTEMP)

**********************************************************************
Validando LJXX010
Lista Obtenida (con filtro por: A0014)
========================
LJXX010 - A0014 - DLTSPLF ---> BORRA: DLTSPLF FILE(QPRINT) JOB(856928/O99834/B)
SPLNBR(&NN)

Lista Esperada
==============
LJXX010 - A0014 - DLTSPLF ---> BORRA: DLTSPLF FILE(QPRINT) JOB(856928/O99834/B)
SPLNBR(&NN)

Escenario de Prueba: Comandos que requieren Autorización (7.4.2.2.6)

Test Name: ComandosAutorizacion_Test


Test Outcome: Passed
Result StandardOutput:
**********************************************************************
Validando LJXX012
No se encontró: A0015

**********************************************************************
Validando BORRAPUAT
Lista Obtenida (con filtro por: A0015)
========================
BORRAPUAT - A0015 - RUNSQLSTM ---> RUNSQLSTM SRCFILE(BLDEOPBT/QCLSRC)
SRCMBR(BORRATXT)

Lista Esperada
==============

Página 525
BORRAPUAT - A0015 - RUNSQLSTM ---> RUNSQLSTM SRCFILE(BLDEOPBT/QCLSRC)
SRCMBR(BORRATXT)

**********************************************************************
Validando ACTTRAN
Lista Obtenida (con filtro por: A0015)
========================
ACTTRAN - A0015 - RUNQRY ---> RUNQRY QRY(BTPATCH/ACT034)
ACTTRAN - A0015 - RUNQRY ---> RUNQRY QRY(BTPATCH/ACT035)
ACTTRAN - A0015 - RUNQRY ---> RUNQRY QRY(BTPATCH/ACT036)
ACTTRAN - A0015 - RUNQRY ---> RUNQRY QRY(BTPATCH/ACT037)
ACTTRAN - A0015 - RUNQRY ---> RUNQRY QRY(BTPATCH/ACT040)
ACTTRAN - A0015 - RUNQRY ---> RUNQRY QRY(BTPATCH/ACT062)
ACTTRAN - A0015 - RUNQRY ---> RUNQRY QRY(BTPATCH/ACT134)
ACTTRAN - A0015 - RUNQRY ---> RUNQRY QRY(BTPATCH/ACT135)
ACTTRAN - A0015 - RUNQRY ---> RUNQRY QRY(BTPATCH/ACT235)
ACTTRAN - A0015 - RUNQRY ---> RUNQRY QRY(BTPATCH/ACX017)
ACTTRAN - A0015 - RUNQRY ---> RUNQRY QRY(BTPATCH/ACXR17)

Lista Esperada
==============
ACTTRAN - A0015 - RUNQRY ---> RUNQRY QRY(BTPATCH/ACT034)
ACTTRAN - A0015 - RUNQRY ---> RUNQRY QRY(BTPATCH/ACT035)
ACTTRAN - A0015 - RUNQRY ---> RUNQRY QRY(BTPATCH/ACT036)
ACTTRAN - A0015 - RUNQRY ---> RUNQRY QRY(BTPATCH/ACT037)
ACTTRAN - A0015 - RUNQRY ---> RUNQRY QRY(BTPATCH/ACT040)
ACTTRAN - A0015 - RUNQRY ---> RUNQRY QRY(BTPATCH/ACT062)
ACTTRAN - A0015 - RUNQRY ---> RUNQRY QRY(BTPATCH/ACT134)
ACTTRAN - A0015 - RUNQRY ---> RUNQRY QRY(BTPATCH/ACT135)
ACTTRAN - A0015 - RUNQRY ---> RUNQRY QRY(BTPATCH/ACT235)
ACTTRAN - A0015 - RUNQRY ---> RUNQRY QRY(BTPATCH/ACX017)
ACTTRAN - A0015 - RUNQRY ---> RUNQRY QRY(BTPATCH/ACXR17)

**********************************************************************
Validando CJCE102
Lista Obtenida (con filtro por: A0015)
========================
CJCE102 - A0015 - FTP ---> FTP RMTSYS(&DIRIP)

Lista Esperada
==============
CJCE102 - A0015 - FTP ---> FTP RMTSYS(&DIRIP)

**********************************************************************
Validando FIN001CL
Lista Obtenida (con filtro por: A0015)
========================
FIN001CL - A0015 - CPYSPLF ---> CPYSPLF FILE(FORB198) TOFILE(BLDEBDBT/LFNX01) +

Lista Esperada
==============
FIN001CL - A0015 - CPYSPLF ---> CPYSPLF FILE(FORB198) TOFILE(BLDEBDBT/LFNX01) +

Escenario de Prueba: Nomenclatura (7.4.2.2.7)

Página 526
Test Name: Nomenclatura_Test
Test Outcome: Passed
Result StandardOutput:
**********************************************************************
Validando GJPT001
No se encontró: A0016

**********************************************************************
Validando LJPT001
No se encontró: A0016

**********************************************************************
Validando TJPT001
Existe: A0016: TJPT001: primer caracter debe ser C, L, G o P

**********************************************************************
Validando LGPT001
Existe: A0016: LGPT001: segundo caracter debe ser J

**********************************************************************
Validando LJPTX01
Existe: A0016: LJPTX01: quinto caracter debe ser numérico

**********************************************************************
Validando LJPT0X1
Existe: A0016: LJPT0X1: sexto caracter debe ser numérico

**********************************************************************
Validando LJZZ001
Existe: A0016: LJZZ001: aplicación no existe

**********************************************************************
Validando CHGGT
Existe: A0016: CHGGT: nombre demasiado corto

Página 527
Caso de Pruebas: CUS06-Gestionar Ciclo de Revisión de IST
Escenario de Prueba: Carga de Bandeja, Detalle y Búsqueda (7.4.3.2.1)
CP1

Página 528
CP2

CP3

Página 529
CP4

CP5

Página 530
CP6

Escenario de Prueba: Carga, clasificación y asignación (7.4.3.2.2)

CP7

Página 531
CP8

Página 532
CP9

Página 533
CP10

Página 534
CP11

Página 535
CP12

Página 536
CP13

Página 537
CP14

Página 538
CP15

Página 539
CP16

Página 540
CP17

Página 541
CP18

Página 542
CP19

CP20

Página 543
CP21

CP22

Página 544
CP23

CP24

Página 545
CP25

CP26

Escenario de Prueba: Revisión, devolución, rechazo, aprobación, exportación y consulta de eventos (7.4.3.2.3)
CP27

Página 546
CP28

CP29

Página 547
CP30

Página 548
CP31

CP32

Página 549
CP33

CP34

Página 550
CP35

CP36

Página 551
CP37

CP38

Página 552
CP39

Página 553
CP40

Página 554
Caso de Pruebas: CUS08-Administrar Hallazgos y Evidencia

Escenario de Prueba: Resumen de Revisión (7.4.4.2.1)

CP1

Página 555
CP2

Página 556
Escenario de Prueba: Actualizar Hallazgos de IST (7.4.4.2.2)
CP3

CP4

Página 557
CP5, CP6 y CP7

CP8

CP9

Página 558
CP10 y CP11

CP12

CP13

Página 559
CP14

Escenario de Prueba: Revisar y Confirmar Hallazgos Estáticos (7.4.4.2.3)


CP15

Página 560
CP16

CP17

Página 561
CP18

CP19

Página 562
Escenario de Prueba: Mantener Adjuntos (7.4.4.2.4)
CP20

CP21

Página 563
CP22

CP23

CP24

Página 564
CP25

Escenario de Prueba: Buscar y consultar Eventos (7.4.4.2.5)


CP26

Página 565
CP27

CP28

CP29

Página 566
CP30

Página 567
CP31

Página 568
Caso de Pruebas: CUS11-Administrar Pedido de Auditoría
Escenario de Prueba: Mantenimiento de Pedido de Auditoría (7.4.5.2.1)
CP1 CP2

CP3 CP4

Página 569
CP5 CP6

CP7 CP8

Página 570
CP9 CP10

CP11 CP12

Página 571
CP13 CP14

CP16

CP15

Página 572
CP17 CP18

Página 573
Página 574
CP19

Página 575
Escenario de Prueba: Mantenimiento de Pases Relacionados (7.4.5.2.2.)
CP20

CP21 CP22

Página 576
CP23 CP24

CP25 CP26

Página 577
CP27 CP28

CP29

Página 578
CP30

CP31

Página 579
Escenario de Prueba: Exportar, Responder y Cerrar (7.4.5.2.3.)
CP32

CP33

Página 580
CP34

Página 581
Caso de Pruebas: CUS18-Administrar Carta de Desviación

Escenario de Prueba: Registro y Mantenimiento (7.4.6.2.1)

CP1

CP2

Página 582
CP3

Página 583
CP4

CP5

Página 584
CP6

CP7

Página 585
CP8

CP9

Página 586
CP10

CP11

Página 587
CP12

CP13

Página 588
CP14

CP15

Página 589
CP16

CP17
No aplica.

CP18
No aplica.

CP19

Página 590
CP20

Página 591
Escenario de Prueba: Levantamiento de Carta de Desviación (7.4.6.2.2)

CP21

Página 592
CP22

CP23

CP24

Página 593

Das könnte Ihnen auch gefallen