Beruflich Dokumente
Kultur Dokumente
VERIFICACION Y VALIDACION
Integracin incremental
Al realizar una integracin incremental debemos combinar o unir el siguiente mdulo que se debe probar con el conjunto de mdulos ya probados. El nmero de mdulos se incrementa progresivamente hasta formar el programa completo. Esto lo podemos realizar de 2 formas.
En este tipo de integracin se combinan los mdulos de ms bajo nivel en grupos que realizan alguna sub funcin especfica.
A travs de un driver (mdulo impulsor) se simulan llamadas a los mdulos, se introducen los datos de prueba y se recogen los resultados.
Cada grupo se prueba usando su driver (test integrador), y este luego es sustituido por los mdulos de nivel superior en la jerarqua. En el ltimo paso se prueba el programa completo con sus entradas y salidas reales.
Las entradas para las pruebas son ms fciles de crear ya que los mdulos inferiores suelen tener funciones ms especficas.
Es ms fcil la observacin de los resultados de las pruebas puesto que es en los mdulos inferiores donde se elaboran.
Resuelve primero los errores de los mdulos inferiores que son los que acostumbran tener el procesamiento ms complejo, para luego nutrir de datos al resto del sistema.
Se requieren mdulos impulsores, que deben escribirse especialmente y que no son necesariamente sencillos de codificar.
Si hay secciones crticas como ser un mdulo complicado, se debe proyectar la secuencia de integracin para incorporarlas lo antes posible.
El orden de integracin debe incorporar cuanto antes los mdulos de entrada y salida.
Existen principalmente dos mtodos para la incorporacin de mdulos: 1. Primero en profundidad: Primero se mueve verticalmente en la estructura de mdulos. 2. Primero en anchura: Primero se mueve horizontalmente en la estructura de mdulos. Etapas de la integracin descendente:
El mdulo de mayor nivel hace de impulsor y se escriben mdulos ficticios simulando a los subordinados, que sern llamados por el mdulo de control superior.
Probar cada vez que se incorpora un mdulo nuevo al conjunto ya engarzado. Al terminar cada prueba, sustituir un mdulo ficticio subordinado por el real que reemplazaba, segn el orden elegido.
Escribir los mdulos ficticios subordinados que se necesiten para la prueba del nuevo mdulo incorporado.
Las fallas que pudieran existir en los mdulos superiores se detectan en una etapa temprana.
Permite ver la estructura del sistema desde un principio, facilitando la elaboracin de demostraciones de su funcionamiento.
Concuerda con la necesidad de definir primero las interfaces de los distintos subsistemas para despus seguir con las funciones especficas de cada uno por separado.
Requiere mucho trabajo de desarrollo adicional ya que se deben escribir un gran nmero de mdulos ficticios subordinados que no siempre son fciles de realizar. Suelen ser ms complicados de lo que aparentan.
Antes de incorporar los mdulos de entrada y salida resulta difcil introducir los casos de prueba y obtener los resultados.
Los juegos de datos de prueba pueden resultar difciles o imposibles de generar puesto que generalmente son los mdulos de nivel inferior los que proporcionan los detalles.
Tipos de testing
Testing Funcional: se focaliza en verificar si el software cumple con las especificaciones aprobadas a travs de la utilizacin de una amplia variedad de escenarios que incluyen rangos de entradas normales y errneas, testing de interfaz, chequeo de seguridad. Testing de Regresin: se realiza pruebas de todas las funcionalidades del software a travs de diferentes ciclos de prueba e incluso acelerando los tiempos de ejecucin del testing por intermedio de herramientas automatizadas. Testing de Compatibilidad: asegura que el software es compatible con versiones determinadas de sistemas operativos, web servers, base de datos y dems componentes constituyentes de la arquitectura de la aplicacin. Testing de Performance: verifica tiempos de respuestas, recursos consumidos, cuellos de botella y recursos disponibles en la operatoria normal de la aplicacin. Testing de Stress: se sobrecarga el software para verificar su comportamiento en cuanto a concurrencia, manejo de errores y recursos consumidos. Testing de Unidades de Cdigo: se realizan pruebas de piezas individuales de cdigo que luego se ensamblan en una aplicacin. Testing de Caja Blanca: prueba del cdigo de la aplicacin, asegurando que el mismo cumple con los estndares y buenas prcticas de codificacin dispuestas por la organizacin. Testing de Usabilidad: asegura que su aplicacin est diseada respetando consideraciones bsicas de usabilidad. Se incluye como parte de este tipo de testing: documentacin conteniendo recomendaciones acerca de las caractersticas de ergonoma y navegabilidad de acuerdo a normas internacionales que definen lineamientos al respecto.
concentran en el dominio de la informacin del software, derivando casos de prueba mediante particin de los dominios de entrada y salida de un programa en forma tal que proporcione cobertura completa.
Pruebas de compatibilidad: comprueban el funcionamiento del software desarrollado en diferentes plataformas: hardware, sistemas operativos, navegadores, redes
Pruebas de integracin: comprueban las conexiones y comunicaciones entre los diferentes mdulos del software desarrollado o con terceros (pasarelas de pago, sistemas publicitarios).
Pruebas de regresin: comprueban el correcto funcionamiento del software desarrollado frente a evolutivos o cambios de funcionalidad.
Las pruebas funcionales son realizadas en su gran mayora de forma manual, pudiendo automatizar algunas de ellas (pruebas automticas o automatizadas) para ahorrar tiempo en procedimientos repetitivos, o bien, aumentar la fiabilidad de las mismas eliminando el error humano intrnseco de las pruebas funcionales.
Bibliografa
http://www.calidadysoftware.com/testing/pruebas_unitarias1.php, Autor: Ing. Alexander Or B, consultado:01/08/2013 http://www.globetesting.com/pruebas-funcionales/, consultado: 01/08/2013 Roger Pressman, ingenieria del software, 6. Edicin, McGraw-Hill, 2002