PROCESO DE PRUEBAS Historial de Revisiones Fecha 22 /05 /2009 LIONSOFT Versión 1.0 Descripción Descripción del proceso pruebas de Autor Rafael Espinel Página 1 de 6 PROCESO DE PRUEBAS Contenido 1 VERIFICACIÓN................................................................................3 1.1 Pruebas de unidad .......................................................................3 1.2 Pruebas de integración ................................................................3 1.3 Pruebas del sistema ....................................................................3 2 2.1 VALIDACIÓN ...................................................................................4 Pruebas del validación .................................................................4 3 HERRAMIENTAS ..............................................................................4 4 FORMATOS DE REGISTRO ...............................................................5 5 ELEMENTOS A VERIFICAR Y VALIDAR .............................................5 LIONSOFT Página 2 de 6 PROCESO DE PRUEBAS PROCESO DE PRUEBAS 1 Verificación La verificación es el conjunto de actividades que aseguran que el software implemente correctamente las funciones especificas establecidas, es decir, que el software funcione como debe de ser y que este realizado correctamente. 1.1 Pruebas de unidad Las pruebas de unidad se concentran en cada componente individual del software, asegurando que funciona de manera apropiado como unidad. Debido a que en el proyecto los desarrolladores codificarán clases de manera independiente, y por tal motivo se va a verificar que por cada tipo de clase individualmente funcione correctamente. Técnicas a usar: Pruebas de caja blanca: Casos de prueba que garanticen 1. que todas las rutas independiente dentro de la clase se han ejercitado por lo menos una vez. 2. ejerciten los lados verdaderos y falsos de todas las decisiones lógicas. 3. ejecuten todos los bucles en sus limites y dentro de sus limites operacionales 4. ejerciten estructuras de datos internos para asegurar su validez 1.2 Pruebas de integración Enseguida de las pruebas de unidad, el código de las diferentes tipos de clase se ensamblan e integran para formar el paquete de software completo, esto puede generar problemas de compatibilidad e integración entre las clases, debido a ello se van a hacer las pruebas de verificación para analizar la integración, las llamadas y peticiones que una clase haga a las otras se hagan correctamente. Técnicas a usar: Pruebas de caja negra: Casos de prueba para 1. errores de inicialización y termino 2. errores de llamado y retorno de funciones y clases. 1.3 Pruebas del sistema Las pruebas del sistema es donde se prueban como un todo el software y otros elementos del sistema, aquí es donde se hacen principalmente las pruebas de entrada y salidas principales, para nuestra caso se testearan con muchos casos de uso pasando por cada una de las opciones ofrecidas por el software con datos validos y no validos y analizando el comportamiento del sistema. Técnicas a usar: LIONSOFT Página 3 de 6 PROCESO DE PRUEBAS 2 Pruebas de caja negra: Casos de prueba para 1. errores de entrada y salida 2. errores de interfaz 3. errores en estructuras de datos 4. errores de acceso a bases de datos o comunicación externa Validación La validación es un conjunto de actividades diferentes a las de verificacion para asegurar que el software desarrollado corresponde con los requisitos del cliente. 2.1 Pruebas del validación Aquí es donde se validan los requisitos establecidos como parte del análisis de requisitos del software, se observaran todos los requisitos descritos en el proceso de especificación de requerimientos y se compararán con el software que se ha construido. Técnicas a usar: Pruebas basadas en escenarios: Este tipo de prueba se concentra mas en lo que hace el usuario y su interacción con el software, se probaran los escenarios especificados en el proceso de especificación de requerimientos. 3 Herramientas Principalmente las herramientas de prueba de software caen en dos categorías: pruebas estáticas y dinámicas. Dentro de las pruebas estáticas hay tres tipos de herramientas de prueba: basadas en código, lenguajes de pruebas especializados y basadas en requisitos. Las herramientas de prueba basadas en código aceptan código fuente como entrada y realizan varios análisis que lleva a la generación de casos de prueba. Los lenguajes de pruebas especializados permiten que se escriban especificaciones detalladas que describen cada caso de prueba y la logística para su ejecución. Las basadas en requisitos aíslan requisitos específicos del usuario y sugieren casos de prueba que ejercitaran los requisitos. Las herramientas dinámicas de prueba interactúan con un programa de ejecución, revisando la cobertura del camino, probando las suposiciones relacionadas con el valor de variables especificas e instrumentando de otra manera el flujo de ejecución del programa. Algunas herramientas de prueba de software: McCabe Test (www.mccabe.com) desarrollado por McCabe & Associates Implementa diversas tecnicas de prueba de la ruta derivadas de una evaluacion de la complejidad ciclomatica y de otras metricas de software. LIONSOFT Página 4 de 6 PROCESO DE PRUEBAS 4 Panorama (www.softwareautomation.com) desarrollado por Internacional Software Automation Abarca un juego completo de herramientas para desarrollar software orientado a objetos, incluidas herramientas que ayudan a diseñar casos de prueba y planear pruebas. TestWorks (www.soft.com/Products) desarrollado por Software Research Un juego completo de herramientas automatizadas de prueba que ayudan al diseño de casos de prueba para software desarrollado en C/C++ y Java y con soporte para pruebas de regresion. T-Vec Test Generation System (www.t-vec.com) desarrollado por T-Vec Technologies Conjunto de herramientas que da soporte a pruebas de unidad, integración y validación al ayudar en el diseño de casos de prueba empleando información contenida en una especificación de requisitos orientada a objetos. Formatos de registro Formato con que se realizaran los casos de pruebas: Nombre de la Prueba Tipo de Prueba: Aplicado a Técnica usada: Datos de entrada: Datos de Salida: Resultados: Observaciones: 5 Elementos a verificar y validar Para la verificación y validación nos enfocamos en lógica de negocios ya que estas son las clases críticas de nuestro software, es nuestro núcleo. En estas clases se hace llamado a cada una de las instancias del programa. En cada una de estas clases aplicaremos Pruebas de unidad, anteriormente mencionadas. Al momento de hacer las pruebas de integración nos enfocamos solamente en la lógica de negocios pues en esta clase interactúa cada una de las clases que hacen parte del LIONSOFT Página 5 de 6 PROCESO DE PRUEBAS programa y es ahí donde podemos darnos cuenta si cada una de las clases está engranando perfectamente. En el caso de las pruebas sistema y validación tomamos ya el software como un todo para verificar que dependiendo de las entradas, las salidas sean las esperadas y que estemos dando cumplimiento a los requerimientos dados. LIONSOFT Página 6 de 6