Sistema de Gestión del Plan de Obras Plan de Verificación y Validación Versión 1.0. Historia de revisiones



Documentos relacionados
Historia de revisiones

Ingeniería de Software. Pruebas

Empresa Financiera Herramientas de SW Servicios

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE

Elementos requeridos para crearlos (ejemplo: el compilador)

3. GESTIÓN DE CONFIGURACIÓN DE SOFTWARE

PLAN DE PRUEBAS SISTEMA DE GESTIÓN HOSPITALARIA. Plan de Pruebas. File: QA-INF-V2-PLAN DE PRUEBAS.odt STD-INF-GENERAL Versión: 1.

Marco Normativo de IT

IAP TÉCNICAS DE AUDITORÍA APOYADAS EN ORDENADOR (TAAO)

Solución de una Intranet bajo software Open Source para el Gobierno Municipal del Cantón Bolívar [IOS-GMCB] Gobierno Municipal del Cantón Bolívar

Gestión y Desarrollo de Requisitos en Proyectos Software

GUIA SOBRE LOS REQUISITOS DE LA DOCUMENTACION DE ISO 9000:2000

Manual de Procedimiento. CREACION-ADMINISTRACION, RESPALDO DE DATOS Y CONTINUIDAD DEL NEGOCIO Procesos y Responsabilidades ECR Evaluadora Prefin S.A.

Arquitectura de sistema de alta disponibilidad

Planeación del Proyecto de Software:

Guía Rápida de Inicio

PRU. Fundamento Institucional. Objetivos. Alcance

Testing. Tipos, Planificación y Ejecución de Pruebas

Guía Metodológica para el diseño de procesos de negocio

LISTA DE CHEQUEO NORMA NTC ISO 9001:2000 No. REQUISITOS EXISTE ESTADO OBSERVACIONES D: Documentado I: Implementado M: Mejorar SI NO D I M

SOLICITUD DE DESARROLLO Y ACTUALIZACIÓN DE APLICACIONES G OBIERNO D E L A CIUDAD DE BUENOS AIRES

SISTEMA DE ESPECIICACION DE REQUERIMIENTOS

DE VIDA PARA EL DESARROLLO DE SISTEMAS

Metodología básica de gestión de proyectos. Octubre de 2003

Oficina Online. Manual del administrador

SIIGO PYME PLUS. Proceso de Recuperación. Cartilla I

Estándares para planes de calidad de software. Escuela de Ingeniería de Sistemas y Computación Desarrollo de Software II Agosto Diciembre 2008

Gestión de la Configuración

Tecnología de la Información. Administración de Recursos Informáticos

COPPEL MANUAL TÉCNICO MCC DE SISTEMAS PROGRAMACIÓN DESCRIPCIÓN DEL PROCESO DE ARQUITECTURA DE SOFTWARE

LICITACIÓN N L13045 NUEVO SISTEMA LEY DE TRANSPARENCIA

Workflows? Sí, cuántos quiere?

Plan de estudios ISTQB: Nivel Fundamentos

DESARROLLO DE SOFTWARE DEFINICIÓN GENERAL DEL PROCESO GABY LORENA GUERRERO LEYDI ROCIO ERAZO PABLO FELIPE MIRANDA WALTER ALEXIS ANTE

DESCRIPCIÓN DEL PROCESO DE RIESGO OPERACIONAL

POLÍTICA DE CONTINUIDAD DEL NEGOCIO (BCP,DRP)

Figure 7-1: Phase A: Architecture Vision

LINQ TO AMAZON. Evaluación de Verificación. Versión 1.0. Historia de revisiones

Proceso Unificado de Rational PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes:

Solución de una Intranet bajo software Open Source para el Gobierno Municipal del Cantón Bolívar [IOS-GMCB] Gobierno Municipal del Cantón Bolívar

Introducción a la Firma Electrónica en MIDAS

3. Procedimiento administrativo para la realización de auditorías a sistemas de medición de la calidad del aire.

MANUAL DE USUARIOS DEL SISTEMA MESA DE SOPORTE PARA SOLICITAR SERVICIOS A GERENCIA DE INFORMATICA

Manual de Procedimientos

Actividades para mejoras. Actividades donde se evalúa constantemente todo el proceso del proyecto para evitar errores y eficientar los procesos.

INFORME Nº1 PROPUESTA METODOLÓGICA Y PLAN DE TRABAJO DESARROLLO DE UN SISTEMA INTEGRADO DE GESTIÓN PARA EL GOBIERNO REGIONAL DE ATACAMA

DISEÑO DE FUNCIONES (TRATAMIENTOS)

Implantación y Aceptación del Sistema

ACUERDO DE SERVICIO. Sistemas-Gestión de los Servicios Informáticos

PROCEDIMIENTO AUDITORÍA INTERNA

Contenido. cursos.cl / Teléfono:

ISO 9000:2000. Roberto Aprili Justiniano Rodrigo Ramírez Pérez. Roberto Aprili, Rodrigo Ramírez

Antes de imprimir este documento piense en el medio ambiente!

Mantenimiento de Sistemas de Información

cumple y hay evidencias objetivas

Manual PARA EL ADMINISTRADOR DE LA WEB DE PRÁCTICAS PRE PROFESIONALES Y PASANTÍAS

Manual para evaluadores

EMPRESAS PÚBLICAS DE MEDELLÍN E.S.P. DIRECCIÓN CONTROL INTERNO PROYECTO NORMALIZACIÓN ACTIVIDAD DE AUDITORÍA INTERNA

ARQUITECTURA TÉCNICA ASIGNATURA: MATERIALES DE CONSTRUCCIÓN II CURSO: APUNTES TEMA 1: CONTROL DE CALIDAD

Sistema de Administración de Farmacias Plan de Proyecto Versión 1.1. Historia de revisiones

ANÁLISIS Y DISEÑO DE SISTEMAS DEPARTAMENTO DE CIENCIAS E INGENIERÍA DE LA COMPUTACIÓN

CONSTRUCCIÓN DEL PROCESO ADMINISTRADOR DE PROYECTOS SEIS SIGMA Bizagi Process Modeler

DOCUMENTO DE CONSTRUCCIÓN SOLUCIÓN DE NO CONFORMIDADES ISO 9000 Bizagi Process Modeler

XXVI REUNION DE SISTEMATIZACION DE BANCOS CENTRALES AMERICANOS E IBERICOS. La Habana, Cuba, 26 al 30 de octubre de 1998

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

6 Anexos: 6.1 Definición de Rup:

COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX

Actualización de la Norma ISO 9001:2008

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON)

Recursos HELP DESK Biblioteca 2012

IBM Global Services España, S.A C/ Mar Adriático, 2 San Fernando de Henares MADRID. Servicios IBM de Soporte Técnico Remoto

Anexos de Bases de Presentación de Propuestas. Consultoría para la implementación de sistemas de gestión de contenidos para comunidades de RedCLARA

configurándola para ser usada dentro del área de QA de una fábrica de software.

CONSEJO DE NORMALIZACIÓN Y CERTIFICACIÓN DE COMPETENCIA LABORAL NORMAS TÉCNICAS DE COMPETENCIA LABORAL

RECOMENDACIONES PARA EL DESARROLLO DE UNA PROCEMIENTO PARA LA GESTIÓN DE PROYECTOS

Acuerdo de Nivel de Servicio o Service Level Agreement (SLA) para servicios de Hospedaje Virtual

DIRECCIÓN DE DESARROLLO TECNOLÓGICO PROCEDIMIENTO PARA GESTIÓN DE DESARROLLO TECNOLÓGICO

Capacitación Rational Funcional Tester

Operación 8 Claves para la ISO

Firma: Fecha: Marzo de 2008

Procedimiento de Sistemas de Información

Edición de Ofertas Excel Manual de Usuario

CRM Gestión de Oportunidades Documento de Construcción Bizagi Process Modeler

MANUAL COPIAS DE SEGURIDAD

Gestión de Permisos. Bizagi Suite. Copyright 2014 Bizagi

PRC-DTI-006 Administración de Roles de los Sistemas de Información de la DTI Procedimiento Dirección de TI - COSEVI

Técnico y sus funciones. 5. Función de los líderes. 6 Función del analista de datos. 6. Metas del Help Desk. 7 Definir el alcance del Help Desk.

Copyright bizagi. Gestión de Cambios Documento de Construcción Bizagi Process Modeler

CRONO SISTEMA DE CONTROL DE PRESENCIA. Software abierto. Distintas opciones para realizar las picadas. Web personal para cada usuario

NORMA INTERNACIONAL DE AUDITORÍA 501

MANUAL DE AYUDA. MODULO SAT (Anexo Integración AGIL SAT)

Sistema de Gestión Portuaria Sistema de Gestión Portuaria Uso General del Sistema

COBIT o COBIT enfatiza el cumplimiento regulatorio, ayuda a las organizaciones a

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD

SISTEMAS DE INFORMACIÓN II TEORÍA

Norma Internacional ISO 9001:2008: Sistemas de Gestión de la Calidad- Requisitos. 4. Sistema de Gestión de la Calidad

Contenido Derechos Reservados DIAN - Proyecto MUISCA

UNIVERSIDAD AUTÓNOMA DEL CARIBE PROCEDIMIENTO DE ATENCIÓN DE INCIDENTES Y REQUERIMIENTOS PARA EQUIPOS DE CÓMUPUTO Y/O PERIFÉRICOS GESTIÓN INFORMÁTICA

Gestión del Servicio de Tecnología de la información

Transcripción:

Sistema de Gestión del Plan de Obras Plan de Verificación y Validación Versión 1.0 Historia de revisiones Fecha Versión Descripción Autor 22/08/2005 1.0 Versión preliminar Horacio Nova 25/08/2005 1.0 Versión preliminar Horacio Nova 26/08/2005 1.0 Versión con fechas ajustadas después de la reunión quincenal Horacio Nova Plan de Verificación y Validación Página 1 de 19

Contenido 1. INTRODUCCIÓN...3 1.1. PROPÓSITO...3 1.2. PUNTO DE PARTIDA...3 1.3. ALCANCE...3 1.4. IDENTIFICACIÓN DEL PROYECTO...3 1.5. ESTRATEGIA DE EVOLUCIÓN DEL PLAN...4 2. REQUERIMIENTOS PARA VERIFICAR...4 3. ESTRATEGIA DE VERIFICACIÓN...4 3.1. TIPOS DE PRUEBAS...6 3.1.1. Prueba de integridad de los datos y la base de datos...6 3.1.2. Prueba de Funcionalidad...6 3.1.3. Prueba de Ciclo del Negocio...7 3.1.4. Prueba de Interfase de Usuario...7 3.1.5. Prueba de Performance...8 3.1.6. Prueba de Carga...8 3.1.7. Prueba de Esfuerzo (stress, competencia por recursos, bajos recursos)...8 3.1.8. Prueba de Volumen...8 3.1.9. Prueba de Seguridad y Control de Acceso...9 3.1.10. Prueba de Fallas y Recuperación...9 3.1.11. Prueba de Configuración...11 3.1.12. Prueba de Instalación...11 3.1.13. Prueba de Documentos...11 3.2. HERRAMIENTAS...12 4. RECURSOS...12 4.1. ROLES...12 4.2. SISTEMA...15 5. HITOS DEL PROYECTO DE VERIFICACIÓN...15 6. ENTREGABLES...16 6.1. MODELO DE CASOS DE PRUEBA...16 6.2. INFORMES DE VERIFICACIÓN...16 6.3. EVALUACIÓN DE LA VERIFICACIÓN...17 6.4. INFORME FINAL DE VERIFICACIÓN...18 7. DEPENDENCIAS...18 7.1. DEPENDENCIA DE PERSONAL...18 8. RIESGOS...18 9. APÉNDICE A...18 9.1. NIVELES DE GRAVEDAD DE ERROR...18 9.2. NIVELES DE ACEPTACIÓN PARA LO ELEMENTOS VERIFICADOS...19 10. APÉNDICE B...19 10.1. SMALL CLASS CLUSTER (SCC)...19 10.2. CLUSTER HEAD (CH)...19 10.3. OBSERVACIONES...19 Plan de Verificación y Validación Página 2 de 19

1. Introducción 1.1. Propósito Este Plan de Verificación para el proyecto Sistema de Gestión del Plan de Obras soporta los siguientes objetivos: Identificar la información de proyecto existente y los componentes de software que deben ser verificados. Enumerar los requerimientos recomendados para verificar. Recomendar y describir las estrategias de verificación que serán usadas. Identificar los recursos necesarios y proporcionar una estimación de esfuerzo para realizar la verificación. Enumerar los entregables del proyecto de verificación. 1.2. Punto de partida La verificación está destinada al paquete completo a entregarse al cliente, el cual incluye programas y documentación de usuario. La verificación de los programas incluye: Pruebas unitarias: demuestran que un módulo aislado no funciona correctamente. Pruebas de integración: demuestran que un conjunto de módulos no se comunica correctamente. Pruebas funcionales: demuestran que el sistema no cumple algún requerimiento funcional. Se utilizará la metodología ProTest para realizar estas pruebas. Pruebas de sistema: demuestran que el sistema no cumple algún requerimiento no funcional. Pruebas de aceptación: demuestran que el software no está listo para ser usado por el usuario final. La verificación de la documentación se concentra en investigar si los manuales entregados son correctos, completos y entendibles para el usuario. 1.3. Alcance Inicialmente, se estima realizar todas las pruebas unitarias posibles o al menos las de los módulos más críticos. Para la realización de las pruebas funcionales, se tomará en cuenta la importancia que el cliente dé a cada requerimiento funcional. Se espera que los requerimientos más importantes para el cliente sean completamente testeados. Los requerimientos no funcionales detectados, si bien son de importancia, no son muchos, por lo que (en principio) las pruebas de sistema serán relativamente pocas. 1.4. Identificación del proyecto Los documentos usados para elaborar el Plan de Verificación son los siguientes: Especificación de Requerimientos de Software para el Sistema Memoria Organizacional del PIS, www.fing.edu.uy/inco/cursos/ingsoft/pis/index.htm Plan de Verificación y Validación Página 3 de 19

Testing de Sistemas OO, Material de apoyo de PIS Edición 2003 Proceso de Testing Funcional ProTest, www.fing.edu.uy/~bperez/protest/index.htm 1.5. Estrategia de evolución del Plan El responsable del seguimiento del Plan de Verificación y Validación es el responsable de verificación. Con la experiencia recogida en cada iteración se realizarán los ajustes pertinentes al plan con la participación de todo el equipo de verificación (el responsable y los cuatro asistentes de verificación). Los ajustes realizados al plan serán comunicados al resto del grupo por los medios definidos por el responsable de la comunicación. 2. Requerimientos para verificar En la lista a continuación se presentan los elementos, casos de uso, requerimientos funcionales y requerimientos no funcionales, que serán verificados: Gestión de las órdenes de trabajo o Recibidas diariamente o Planificadas Gestión de las auditorías Gestión de la contabilidad Gestión del stock de materiales Gestión de locales y equipamientos Envío de correos electrónicos o Confirmación de recepción de pedidos o Encuestas Recepción de formularios vía web o Página web o Correo electrónico En conjunto con el cliente se definirá la criticidad de cada módulo para priorizar la verificación de cada uno de ellos. 3. Estrategia de Verificación Los implementadores definirán dentro de cada módulo los Small Class Clusters (SCC) y Cluster Heads (CH), para reducir la cantidad de pruebas unitarias a realizar sin reducir la calidad del proceso de testing. Por su conocimiento detallado de los módulos, los implementadores serán los encargados de diseñar los correspondientes casos de prueba basados en las especificaciones formales del módulo a implementar. Los tests a nivel de SCCs y CHs serán realizados con diagramas de estado mientras que los métodos serán testeados utilizando clases de equivalencia y valores límites. El criterio a cubrir para SCCs y SHs es todos los arcos, mientras que para los métodos es todas las sentencias. Plan de Verificación y Validación Página 4 de 19

Para el caso de clases muy críticas (controladores, por Ej.) se desarrollarán además pruebas diseñadas por un verificador. El responsable de verificación definirá en cada iteración el plan de integración de los módulos para, a partir de éste, definir el plan de implementación. Dentro de lo posible se utilizará la estrategia bottom-up para integrar los módulos. Por su conocimiento detallado de las interfaces y funciones en general, los implementadores serán los encargados de diseñar los correspondientes casos de prueba de integración. Las interfases gráficas serán testeadas por el equipo de verificación. Las pruebas funcionales se realizarán utilizando la técnica de escenario/ condición testeando el funcionamiento en condiciones normales y los mensajes de error en condiciones anormales. Se prestará atención además a las conjeturas de errores indicadas por los implementadotes. Siguiendo el proceso de testing funcional ProTest deberán definirse para cada nueva versión del producto a probar un ciclo de pruebas funcionales. Asumiendo que las versiones se liberarán cerca del final de cada iteración, se podría estimar que un ciclo comienza unos días comenzada una iteración y finaliza un poco después de terminada la misma. Cada ciclo consiste en: Configuración del entorno de testing o Se debe preparar el ambiente en que se desarrollarán las pruebas. o Lo realiza un diseñador de pruebas (ver sección 4). o De ser necesario, se requerirá la participación de los implementadotes involucrados. Diseño de las pruebas o Se escriben los casos de pruebas que se van a ejecutar. o Cada juego de datos recibe un código que extiende el código del requerimiento testeado. Por Ej., el juego de datos YY del requerimiento XX, podría recibir el código RXX_YY. o Lo realiza un diseñador de pruebas (ver sección 4). Ejecución de las pruebas o Antes de correr las pruebas diseñadas se realizan pruebas básicas (de humo) para evaluar si vale la pena el esfuerzo del testing. o Se corren las pruebas diseñadas y se reportan los resultados obtenidos siguiendo los mecanismos determinados por el encargado de SCM. o Los resultados posibles son: aprobado, aprobado con observaciones y no aprobado. El resultado se desprenderá exclusivamente de la comparación del resultado observado contra lo especificado en el documento de requerimientos (pruebas de oráculo). o Lo realiza un tester (ver sección 4). Seguimiento del ciclo de prueba o Se realiza simultáneamente con el resto de las actividades del ciclo, controlando y revisando el proceso de testing. o Se realizará un Registro de Incidentes que permita reportar, gerenciar y analizar los defectos reportados de las ejecuciones de las pruebas. o Lo realiza el responsable de verificación. Plan de Verificación y Validación Página 5 de 19

Las pruebas de sistema y de aceptación se realizarán en lugares que serán definidos en función de la disponibilidad del ambiente donde correrá el sistema. 3.1. Tipos de pruebas En las secciones a continuación se incluyen ejemplo de pruebas a realizar. 3.1.1. Prueba de integridad de los datos y la base de datos 3.1.1.1. Objetivo de la prueba Asegurar que los métodos y procesos de acceso a la base de datos funcionan correctamente y sin corromper datos. 3.1.1.2. Técnica Invocar cada método o proceso de acceso a la base de datos con datos válidos y no válidos. Inspeccionar la base de datos para asegurarse de que se han guardado los datos correctos, que todos los eventos de la base de datos ocurrieron correctamente, o repasar los datos devueltos para asegurar que se recuperaron datos correctos por la vía correcta. 3.1.1.3. Criterio de aceptación Todos los métodos y procesos de acceso a la base de datos funcionan como fueron diseñados y sin datos corruptos. 3.1.1.4. Consideraciones especiales La prueba requiere un entorno de administración de DBMS o controladores para ingresar o modificar información directamente en la base de datos. Esto será generado con la participación de un especialista técnico. Los procesos deben serán mediante una interfaz gráfica. Se deben usar bases de datos pequeñas para aumentar la facilidad de inspección de los datos para verificar que no sucedan eventos no aceptables. 3.1.2. Prueba de Funcionalidad La prueba de funcionalidad se enfoca en requerimientos para verificar que se corresponden directamente a casos de usos o funciones y reglas del negocio. Los objetivos de estas pruebas son verificar la aceptación de los datos, el proceso, la recuperación y la implementación correcta de las reglas del negocio. Este tipo de prueba se basa en técnicas de caja negra, que consisten en verificar la aplicación y sus procesos interactuando con la aplicación por medio de la interfase de usuario y analizar los resultados obtenidos. 3.1.2.1. Objetivo de la prueba Asegurar la funcionalidad apropiada del objeto de prueba, incluyendo la navegación, entrada de datos, proceso y recuperación. 3.1.2.2. Técnica Ejecutar cada caso de uso, flujo de caso de uso, o función usando datos válidos y no válidos, para verificar lo siguiente: Se obtienen los resultados esperados cuando se usan datos válidos. Cuando se usan datos no válidos se despliegan los mensajes de error o advertencia apropiados. Plan de Verificación y Validación Página 6 de 19

Se aplica apropiadamente cada regla del negocio. 3.1.2.3. Criterio de aceptación Todas las pruebas planificadas se realizaron. Todos los defectos encontrados han sido debidamente identificados y reportados. 3.1.3. Prueba de Ciclo del Negocio Esta prueba debe simular las actividades realizadas en el proyecto en el tiempo. Se debe identificar un período, que puede ser un año, y se deben ejecutar las transacciones y actividades que ocurrirían en el período de un año. Esto incluye todos los ciclos diarios, semanales y mensuales y eventos que son sensibles a la fecha. 3.1.3.1. Objetivo de la prueba Asegurar que la aplicación funciona de acuerdo a los requerimientos del negocio. 3.1.3.2. Técnica La prueba debe simular ciclos de negocios realizando lo siguiente: Las pruebas de funcionalidad se deben modificar para aumentar la cantidad de veces que se ejecuta cada función, simulando varios usuarios diferentes en un período determinado. Todas las funciones sensibles a la fecha se deben ejecutar con fechas válidas y no válidas o períodos de tiempo válidos y no válidos. Para cada prueba realizada verificar lo siguiente: Se obtienen los resultados esperados cuando se usan datos válidos. Cuando se usan datos no válidos se despliegan los mensajes de error o advertencia apropiados. Se aplica apropiadamente cada regla del negocio. 3.1.3.3. Criterio de aceptación Todas las pruebas planificadas se realizaron. Todos los defectos encontrados han sido debidamente identificados y reportados. 3.1.3.4. Consideraciones especiales A los efectos del testing, las fechas del sistema y eventos requieren actividades de soporte especiales. Este soporte deberá ser desarrollado por el equipo de implementación y deberá permitir manejar con facilidad la fecha del sistema. 3.1.4. Prueba de Interfase de Usuario Esta prueba verifica que la interfase de usuario proporcione al usuario el acceso y navegación a través de las funciones apropiada. Además asegura que los objetos presentes en la interfase de usuario se muestren como se espera y conforme a lo establecido en el documento de requerimientos. 3.1.4.1. Objetivo de la prueba Verificar que: la navegación a través de los elementos que se están probando reflejen las funciones del negocio y los requerimientos, incluyendo manejo de ventanas, campos y métodos de acceso; los objetos de las ventanas y características, como menúes, tamaño, posición, estado funcionen de acuerdo a lo establecido en el documento de requerimientos. Plan de Verificación y Validación Página 7 de 19

3.1.4.2. Técnica Crear o modificar pruebas para cada ventana verificando la navegación y los estados de los objetos para cada ventana de la aplicación y cada objeto dentro de la ventana. 3.1.4.3. Criterio de aceptación Cada ventana ha sido verificada exitosamente siendo consistente con lo establecido en el documento de requerimientos. 3.1.4.4. Consideraciones especiales 3.1.5. Prueba de Performance En esta prueba se miden y evalúan los tiempos de respuesta, los tiempos de transacción y otros requerimientos sensitivos al tiempo. El objetivo de la prueba es verificar que se logren los requerimientos de performance. La prueba de performance es implementada y ejecutada para poner a punto los destinos de pruebas de performance como función de condiciones de trabajo o configuraciones de hardware. En principio no se realizarán pruebas de este tipo, ya que no hay requerimientos definidos al respecto. Igualmente, se sobreentiende que el sistema se debe comportar razonablemente. 3.1.6. Prueba de Carga La prueba de carga somete los objetos a verificar a diferentes cargas de trabajo para medir y evaluar los comportamientos de performance y la habilidad de los objetos de continuar funcionando apropiadamente bajo diferentes cargas de trabajo. El objetivo es determinar y asegurar que el sistema funciona apropiadamente en circunstancias de máxima carga de trabajo esperada. Además evaluar las características de performance, como tiempos de respuesta, tiempos de transacciones y otros elementos sensitivos al tiempo. En principio no se realizarán pruebas de este tipo, ya que se ha especificado que la carga es estable y relativamente poca. 3.1.7. Prueba de Esfuerzo (stress, competencia por recursos, bajos recursos) La prueba de esfuerzo en un tipo de prueba de performance implementada y ejecutada para encontrar errores cuando hay pocos recursos o cuando hay competencia por recursos. Poca memoria o poco espacio de disco pueden revelar fallas en el software que no aparecen bajo condiciones normales de cantidad de recursos. Otras fallas pueden resultar al competir por recursos compartidos como bloqueos de bases de datos o ancho de banda de red. La prueba de esfuerzo también puede usarse para identificar el trabajo máximo que el software puede manejar. En principio no se realizarán pruebas de este tipo, ya que se ha especificado que la carga es estable y relativamente poca. 3.1.8. Prueba de Volumen La Prueba de Volumen somete el software a grandes cantidades de datos para determinar si se alcanzan límites que causen la falla del software. La Prueba Plan de Verificación y Validación Página 8 de 19

de Volumen identifica la carga máxima continua que puede manejar el software a prueba en un período dado. En principio no se realizarán pruebas de este tipo, ya que se ha especificado que no se utilizan volúmenes de datos muy grandes ni que éstos crezcan mucho en el futuro. 3.1.9. Prueba de Seguridad y Control de Acceso La Prueba de Seguridad y Control de Acceso se enfoca en dos áreas de seguridad: Seguridad en el ámbito de aplicación, incluyendo el acceso a los datos y a las funciones de negocios. Seguridad en el ámbito de sistema, incluyendo conexión, o acceso remoto al sistema. La seguridad en el ámbito de aplicación asegura que, basado en la seguridad deseada los actores están restringidos a funciones o casos de uso específicos o limitados en los datos que están disponibles para ellos. En principio no se realizarán pruebas de seguridad en el ámbito del sistema, ya que no se han especificado requerimientos de este tipo. 3.1.9.1. Objetivo de la prueba Verificar que un actor pueda acceder solo a las funciones o datos para los cuales su tipo de usuario tiene permiso. 3.1.9.2. Técnica Identificar y hacer una lista de cada tipo de usuario y las funciones y datos sobre las que cada tipo tiene permiso. Crear pruebas para cada tipo de usuario y verificar cada permiso creando operaciones específicas para cada tipo de usuario. Modificar el tipo de usuario y volver a ejecutar las pruebas para los mismos usuarios. En cada caso, verificar que las funciones o datos adicionales están correctamente disponibles o son denegados. 3.1.9.3. Criterio de aceptación Para cada tipo de actor conocido las funciones y datos apropiados están disponibles, y todas las operaciones funcionan como se espera y ejecutan las pruebas de Funcionalidad de la aplicación. 3.1.10. Prueba de Fallas y Recuperación Las Pruebas de Fallas y Recuperación aseguran que el software puede recuperarse de fallas de hardware, software o mal funcionamiento de la red sin pérdida de datos o de integridad de los datos. La Prueba de Recuperación es un proceso en el cual la aplicación o sistema se expone a condiciones extremas, o condiciones simuladas, para causar falla, como fallas en dispositivos de Entrada/Salida o punteros a la base de datos inválidos. Los procedimientos de recuperación se invocan y la aplicación o sistema es monitoreado e inspeccionado para verificar que se recupera apropiadamente la aplicación o sistema y se logre la recuperación de datos. 3.1.10.1. Objetivo de la prueba Verificar que los procesos de recuperación (manual o automáticos) recuperen apropiadamente la base de datos, aplicaciones y sistema a un estado conocido y deseado. En la prueba se incluyen los siguientes tipos de condiciones: Plan de Verificación y Validación Página 9 de 19

interrupción de energía al cliente interrupción de energía al servidor interrupción de comunicaciones mediante los servidores de la red interrupción de comunicación o pérdida de energía de los discos del servidor o con los controladores ciclos incompletos (procesos de filtro de datos interrumpidos, procesos de sincronización de datos interrumpidos) punteros a la base de datos o claves inválidos elementos de datos en la base de datos inválidos o corruptos. 3.1.10.2. Técnica Se deben usar las pruebas creadas para probar Funcionalidad y Ciclos de negocio para crear una serie de operaciones. Una vez logrado el punto de comienzo deseado, se deben realizar o simular las siguientes acciones, individualmente: Interrumpir la energía del cliente: apagar el PC. Interrumpir la energía del servidor: simular o iniciar el proceso de apagado del servidor. Interrupción por medio de los servidores de red: simular o iniciar la pérdida de comunicación con la red (desconectar físicamente la comunicación o apagar el servidor de red o router Interrumpir la comunicación o quitar la energía de los discos del servidor o sus controladores: simular o eliminar físicamente la comunicación con uno o más controladores de disco o los discos. Una vez que se lograron o simularon estas condiciones, se deben invocar los procedimientos de recuperación. Las pruebas de ciclos incompletos utilizan la misma técnica excepto que los procesos de bases de datos deben ser abortados a sí mismos o terminados prematuramente. Las últimas dos pruebas requieren que se logre un estado conocido de la base de datos. Se deben corromper manualmente campos de la base de datos, punteros y claves trabajando directamente sobre la base de datos (utilizando herramientas para la base de datos). Se deben ejecutar las pruebas de Funcionalidad y Ciclo de negocio y verificar que los ciclos se completen. 3.1.10.3. Criterio de aceptación En todos los casos, la aplicación, la base de datos y el sistema deben, en la realización procedimientos de recuperación, volver a un estado conocido y deseable. Este estado incluye corrupción de datos limitada al los campos, punteros o claves corruptos conocidos, y reportes indicando los procesos u operaciones que no se completaron debido a las interrupciones. 3.1.10.4. Consideraciones especiales Los procedimientos para desconectar cables (simulando falta de energía o pérdida de comunicación) no son deseables o factibles. Se pueden requerir métodos alternativos, como software de diagnóstico. Se requieren los grupos de recursos de Sistemas, Bases de datos y Red. Estas pruebas deben ejecutarse fuera del horario de trabajo normal o en una máquina aislada. Plan de Verificación y Validación Página 10 de 19

3.1.11. Prueba de Configuración La Prueba de Configuración verifica el funcionamiento del software con diferentes configuraciones de software y hardware. En principio no se realizarán pruebas de este tipo, ya que se ha especificado desde el comienzo las configuraciones de software y hardware que se van a utilizar. 3.1.12. Prueba de Instalación La Prueba de Instalación tiene dos propósitos. Uno es asegurar que el software puede ser instalado en diferentes condiciones (como una nueva instalación, una actualización, y una instalación completa o personalizada) bajo condiciones normales y anormales. Condiciones anormales pueden ser insuficiente espacio en disco, falta de privilegios para crear directorios, etc. El otro propósito es verificar que, una vez instalado, el software opera correctamente. Esto significa normalmente ejecutar un conjunto de pruebas que fueron desarrolladas para Prueba de Funcionalidad. 3.1.12.1. Objetivo de la prueba Verificar que el software objeto de prueba se instala correctamente en cada configuración de hardware requerida bajo las siguientes condiciones: instalación nueva, una nueva máquina, nunca instalada previamente con Sistema de Gestión del Plan de Obras actualización, máquina previamente instalada con Sistema de Gestión del Plan de Obras, con la misma versión actualización, máquina previamente instalada con Sistema de Gestión del Plan de Obras, con una versión anterior. 3.1.12.2. Técnica Manualmente o desarrollando programas, para validar la condición de la máquina destino (nueva, nunca instalado, misma versión, versión anterior ya instalada). Realizar la instalación. Ejecutar un conjunto de pruebas funcionales ya implementadas para la Prueba de Funcionalidad. 3.1.12.3. Criterio de aceptación Las pruebas de funcionalidad de Sistema de Gestión del Plan de Obras se ejecutan exitosamente sin fallas. 3.1.12.4. Consideraciones especiales Qué operaciones se deben ser seleccionar para realizar una prueba confiable de que la aplicación Sistema de Gestión del Plan de Obras ha sido exitosamente instalada sin dejar fuera ningún componente importante? 3.1.13. Prueba de Documentos La Prueba de Documentos debe asegurar que los documentos relacionados al software que se generen en el proceso sean correctos, consistentes y entendible. Se incluyen como documentos los Materiales para Soporte al Usuario, Documentación Técnica, Ayuda en Línea y todo tipo de documento que forme parte del paquete de software. 3.1.13.1. Objetivo de la prueba Verificar que el documento objeto de prueba sea: Plan de Verificación y Validación Página 11 de 19

Correcto, esto es, que cumpla con el formato y organización para el documento establecido en el proyecto. Consistente, esto es, que el contenido del documento sea fiel a lo que hace referencia. Si el documento es Documentación de Usuario, que la explicación de un procedimiento sea exactamente como se realiza el procedimiento en el software, si se muestran pantallas que sean las correctas. Entendible, esto es, que al leer el documento se entienda correctamente lo que expresa y sin ambigüedades, además que sea fácil de leer. 3.1.13.2. Técnica Para verificar que el documento es correcto se debe comparar con el estándar definido si existe o con las pautas de documentación y ver que el documento cumple con ellas. Para verificar que el documento es Consistente se debe ejecutar el programa siguiendo el documento en caso de los Materiales de Soporte al Usuario y comprobar que lo que se explica en estos documentos es exactamente lo que se ejecuta en el programa. En caso de Documentación Técnica se debe revisar el código al cual corresponde la documentación y comprobar que dicha describe el código. Para verificar que el documento es entendible, debe comprobar que se entiende correctamente, que no tiene ambigüedades y que sea fácil de leer. 3.1.13.3. Criterio de aceptación El documento expresa exactamente lo que debe expresar, no hay diferencias entre lo que está escrito y el objeto de la descripción (operación de software, código de programa, decisiones técnicas) y se entiende fácilmente. 3.1.13.4. Consideraciones especiales Se aplicarán los criterios utilizados por el responsable de SQA en lo que se refiere a la calidad de los documentos. Se gestionarán las diferentes versiones de cada manual según lo definido por el responsable de SCM. 3.2. Herramientas Se utilizará JUnit para la realización de pruebas de caja negra y Hansel para las pruebas de cubrimiento de código. Para el Registro de Incidentes se utilizará MS-Word o su similar de Open Office. Para la especificación de los casos de prueba se utilizará MS-Excel o su similar de Open Office. 4. Recursos En esta sección se presentan los recursos recomendados para el proyecto Sistema de Gestión del Plan de Obras, sus principales responsabilidades y su conocimiento o habilidades. 4.1. Roles En la tabla a continuación se muestra la composición de personal en el área Verificación del Software. Plan de Verificación y Validación Página 12 de 19

Rol Responsable de verificación Cantidad mínima de recursos recomendada Responsabilidades 1 Líder del proyecto de testing. Planificar el proyecto de testing. Liderar el equipo de testing. Planificar los test en conjunto con los Diseñadores. Seguir el progreso del proyecto de testing. Realizar los acuerdos con el cliente en lo que refiere a la técnica de especificación de los requerimientos. Definir los requerimientos a testear junto con el cliente. Interactuar con el cliente en todas las etapas de la ejecución del proyecto. Implementar los procesos de test. Sugerir mejoras en el proceso de test. Generar y mantener la matriz de trazabilidad del test (trazar los test a los requerimientos) Asegurar la calidad de la documentación de todos los productos del test. Plan de Verificación y Validación Página 13 de 19

Diseñador de pruebas 5 Diseñar los escenarios de test, lo que incluye los casos de prueba. Administrar el proceso de test. Ejecutar los test. Diseñar tests, test-scripts y el desarrollo de datos para el test, automatización del test, la configuración del ambiente del test, el gerenciamiento de la configuración de los test-scirpt y la ejecución del test. Definir criterios para realizar los test, analizar los resultados de las sesiones de testing y presentar los resultados al responsable de Testing Coordinar a los testers que ejecutan los tests por él propuestos y asistirlos en los momentos necesarios. Verificar la calidad de los requerimientos, incluyendo su testeabilidad. Detectar los problemas de especificación de requerimientos y elaborar propuestas para mejorar el nivel de especificación a nivel de los clientes. Coordinar reuniones técnicas con el equipo de desarrollo (o usuarios) del cliente. Tester 5 Diseñar casos de prueba y los datos asociados. Diseñar los datos de prueba para los casos generados por el Diseñador Ejecutar los test. Conducir los test y preparar reportes de progreso y de regresión. Especialista técnico Implementador 1 Implementa un entorno de gestión de DBMS o para ingresar o modificar información directamente en la base de datos Equipo de implementación completo Diseña un plan de pruebas para un módulo antes de implementarlo Ejecuta las pruebas unitarias Diseña las pruebas de integración planificadas Ejecuta las pruebas de integración Se debe aclarar que los roles de Diseñador de pruebas y Tester serán llevados a cabo por el responsable y los cuatro asistentes de verificación. Plan de Verificación y Validación Página 14 de 19

4.2. Sistema En la siguiente tabla se establecen los recursos de sistema necesarios para realizar la verificación. Es recomendable que el sistema simule el entorno de producción, reduciendo los accesos y los tamaños de bases de datos si fuera apropiado. Recurso Servidor de base de datos Red o subred Nombre del servidor Nombre de la base de datos PC Cliente para pruebas Requerimientos especiales Repositorio de pruebas Red o subred Nombre del servidor Nombre/Tipo MySQL LAN o Local localhost o pobras1 PlanDeObras (estimado) Se necesita una maquina con MySQL instalado, Java Runtime 5.0 y conexion a internet para poder revisar E-Mail. Red interna Facultad lulu.fing.edu.uy 5. Hitos del proyecto de Verificación La verificación del proyecto Sistema de Gestión del Plan de Obras debe incorporar actividades de prueba para cada verificación identificada en las secciones anteriores. Se deben identificar los hitos del proyecto de verificación separados para comunicar los logros de estado de proyecto. Actividad que determina el hito Esfuerzo Fecha de comienzo Planificar la verificación 15 hs./semana 15/08/2005 lun. semana 1 Elaborar casos de 10 hs./semana 29/08/2005 prueba lun. semana 3 Ajuste y Control de 2 hs./día 16/09/2005 Verificación vie. semana 5 Fecha de finalización 09/09/2005 vie. semana 4 04/11/2005 vie. semana 12 19/09/2005 lun. semana 6 30/09/2005 vie. semana 7 03/10/2005 lun. semana 8 14/10/2005 vie. semana 9 17/10/2005 lun. semana 10 Plan de Verificación y Validación Página 15 de 19

Ejecutar la verificación 4 hs./día 29/08/2005 lun. semana 3 31/08/2005 mie. semana 3 12/09/2005 lun. semana 5 14/09/2005 mie. semana 5 26/09/2005 lun. semana 7 Evaluar la verificación 3 hs./día 15/09/2005 jue. semana 5 11/11/2005 vie. semana 13 16/09/2005 vie. semana 5 29/09/2005 jue. semana 7 30/09/2005 vie. semana 7 13/10/2005 jue. semana 9 14/10/2005 vie. semana 9 27/10/2005 jue. semana 11 28/10/2005 vie. semana 11 10/11/2005 jue. semana 13 11/11/2005 vie. semana 14 6. Entregables En esta sección se enumeran los documentos, herramientas e informes que se crearán, por quién, para quién y cuándo serán liberados. Para cada entregable se indican las fechas en que son liberadas todas las versiones del mismo. 6.1. Modelo de Casos de Prueba Documento Creado por Para quien Fecha de liberación Modelo de Casos de Prueba El Responsable de verificación, Horacio Nova. Es la guía para realizar las pruebas del sistema y lo usarán los Asistentes de verificación y el Responsable de verificación cuando se ejecuten las pruebas del sistema. Será liberado por primera vez el 26/08/2005 (viernes de la semana 2). 6.2. Informes de Verificación Documento Creado por Se genera un documento Informe de Verificación Unitaria por cada prueba unitaria que se realice al sistema. Las personas que ejecutan las pruebas. Plan de Verificación y Validación Página 16 de 19

Para quien Fecha de liberación Es el retorno para los implementadores de la tarea de verificación, que detalla los errores encontrados para que puedan ser corregidos. Será liberado luego de cada verificación unitaria: Elaboración, 1ª iteración: 22/09/2005 (jueves de la semana 6). Elaboración, 2ª iteración: 06/10/2005 (jueves de la semana 8). Construcción, 1ª iteración: 20/10/2005 (jueves de la semana 10). Documento Se genera un documento Informe de Verificación de Integración por cada prueba de integración que se realice al sistema. Creado por Las personas que ejecutan las pruebas. Para quien Es el retorno para los implementadores de la tarea de verificación, que detalla los errores encontrados para que puedan ser corregidos. Fecha de liberación Será liberado luego de cada verificación de integración: Elaboración, 1ª iteración: 26/09/2005 (lunes de la semana 7). Elaboración, 2ª iteración: 10/10/2005 (lunes de la semana 9). Construcción, 1ª iteración: 24/11/2005 (lunes de la semana 11). Documento Creado por Para quien Fecha de liberación Se genera un documento Informe de Verificación de Sistema por cada prueba de sistema que se realice. Las personas que ejecutan las pruebas. Es el retorno para los implementadores de la tarea de verificación, que detalla los errores encontrados para que puedan ser corregidos. Será liberado luego de cada verificación de sistema. Será liberado el 11/11/2005 (viernes de la semana 13). 6.3. Evaluación de la verificación Documento Se genera un documento Evaluación de la verificación por cada prueba que se realice al sistema. Este documento contiene las fallas encontradas en el sistema, la cobertura de la verificación realizada y el estado del sistema. Creado por Para quien Fecha de liberación El Responsable de verificación, que toma como fuente de su trabajo los Informes de verificación. Es el resumen de la tarea de verificación y es el retorno para todo el equipo de trabajo del estado del sistema. Será liberado luego de cada verificación, unitaria, de ó d Plan de Verificación y Validación Página 17 de 19

integración y de sistema: Inicial, 2ª iteración: 16/09/2005 (viernes de la semana 5). Elaboración, 1ª iteración: 30/09/2005 (viernes de la semana 7). Elaboración, 2ª iteración: 14/10/2005 (viernes de la semana 9). Construcción, 1ª iteración: 28/10/2005 (viernes de la semana 11). Construcción, 2ª iteración: 18/11/2005 (viernes de la semana 14). 6.4. Informe final de verificación Documento Creado por Para quien Fecha de liberación El documento Informe final de verificación es el resumen de la verificación final del sistema antes de que sea liberado al entorno del usuario. El Responsable de verificación, que toma como fuente de su trabajo los Informes de verificación. Indica el estado del sistema. Será liberado luego de la verificación final del sistema. 7. Dependencias En esta sección se detallan las dependencias de las actividades de verificación respecto a otros elementos del sistema. 7.1. Dependencia de personal Debe considerarse que los cuatro asistentes de verificación son responsables de cuatro áreas del proyecto, a saber: SCM, SQA, Administración y Arquitectura. Esto debe ser considerado en el momento de definir el alcance de la verificación y de asignar tareas. 8. Riesgos Los riesgos son estudiados en profundidad en el Documento de Riesgos (ver la última versión de GPDRIGO.doc). 9. Apéndice A 9.1. Niveles de gravedad de error En muchas actividades del proceso de verificación se deben clasificar los errores según su nivel de gravedad. Se asigna un nivel de gravedad a los errores para poder capturar de alguna manera su impacto en el sistema. Además para poder evaluar la verificación y el sistema. A continuación se da una sugerencia de cuatro niveles diferentes de gravedad de error: Catastrófico: un error cuya presencia impide el uso del sistema. Plan de Verificación y Validación Página 18 de 19

Crítico: un error cuya presencia causa la pérdida de una funcionalidad crítica del sistema. Si no se corrige el sistema no satisfará las necesidades del cliente. Marginal: un error que causa un daño menor, produciendo pérdida de efectividad, pérdida de disponibilidad o degradación de una funcionalidad que no se realiza fácilmente de otra manera. Menor: un error que no causa perjuicio al sistema, pero que requiere mantenimiento o reparación. No causa pérdida de funcionalidades que no se puedan realizar de otra manera. 9.2. Niveles de aceptación para lo elementos verificados En esta sección se definen niveles de aceptación y los criterios de pertenencia a cada nivel: No aprobado: el elemento verificado tiene errores catastróficos (uno o varios) que impiden su uso o tiene errores críticos (uno o varios) que hacen que el elemento verificado no sea confiable. El usuario no puede depender de él para realizar el trabajo. Aprobado con Observaciones: el elemento verificado no tiene errores catastróficos, ni errores críticos, pero tiene errores marginales (uno o varios) que hacen que el elemento de software se degrade en algunas situaciones. Aprobado: el elemento verificado no tiene errores o tiene errores menores que no afectan el normal funcionamiento del elemento. 10. Apéndice B 10.1. Small Class Cluster (SCC) Es un grupo que incluye varias clases que están tan fuertemente acopladas que el testing en aislamiento de los constituyentes del grupo no es práctico. Con la identificación de los SCC s es posible disminuir la cantidad de pruebas a realizar, ya que son tratados como una única clase. 10.2. Cluster Head (CH) Una clase (de un cluster) que usa las otras clases (del cluster) como variables de instancia o como parámetros de los mensajes. Las pruebas realizadas a un SCC se realizan a su CH. 10.3. Observaciones Un SCC puede ser tratado como una única clase si: la cabeza del grupo usa todas las capacidades de los constituyentes y si los constituyentes no son usados fuera del cluster (a menos de la creación) Un SCC puede resultar también de relaciones cíclicas entre clases. Estas clases normalmente no tiene sentido probarlas en aislamiento. Las pruebas de caja blanca y/o caja negra pueden ser aplicadas al cluster head (si el cluster se puede tratar como una clase individual) Es por esto último que las clases individuales y los SCC son el foco del testeo unitario a nivel de clases. Plan de Verificación y Validación Página 19 de 19