Prueba de unidad
La prueba de unidad se centra en probar de forma individual cada uno de los modulos de un sistema.
Durante las pruebas de unidad cada módulo es probado en varios aspectos, tal y como lo podemos observar en la siguiente figura:
Se prueba la interfaz del módulo, las estructuras de datos, las condiciones que llevarían al límite el funcionamiento del mismo, los distintos caminos que producen los ciclos y las condiciones para asegurarnos de que todos funcionan en su momento, el manejo de errores para asegurarnos de que los mensajes son entendibles y el módulo es resistente a fallos.
También es importante durante esta prueba hacer una revisión de los cálculos u operaciones que modulos realiza, con el objetivo de detectar errores de tipo lógico o de tipo matemático, que aunque no harían fallar el sistema, si producirían resultados incorrectos en el corto y mediano plazo.
Una tendencia que podemos observar en el software comercial es el inapropiado manejo de errores, en donde encontramos software que presenta mensajes de error que solamente son entendibles por los desarrolladores y que producen una experiencia de uso muy frustrante.
Ahora bien, aunque probemos todos los módulos del sistema, sabemos que esto no es una garantía de que los modulos funcionarán de la misma manera cuando estén trabajando en conjunto dentro del sistema, o de ello es necesario llevar a cabo la prueba que a continuación trataremos.
Prueba de integración
Existen muchas razones por las cuales un grupo de modulos que funcionan correctamente de forma independiente no funcionen un ocasionen problemas al trabajar juntos, entre las que podemos encontrar:
- El acceso a estructuras de datos globales
- La duplicidad en nombres de variables
- La actualización de datos
- La no uniformidad en el diseño de la interfaz
La mejor forma de aplicar una prueba de integración, está aplicando un enfoque incremental, es decir, ir integrando los modulos poco a poco, con lo cual podemos aislar la detección de errores.
Un enfoque no incremental como lo es el enfoque «big bang», consiste en integrar todos los modulos y una vez juntos probar el sistema esperando la explosión de errores que se puede generar.
La prueba de integración puede llevarse a efecto de diferentes formas
- Integración descendente
- Integración ascendente
- Por regresión.
Prueba de validación
Dentro de esta prueba debemos entender por validación a la verificación del funcionamiento del software de acuerdo a los requerimientos del cliente.
El resultado de esta prueba es crucial dado que si el software no cumple con las expectativas del cliente, todo el esfuerzo y trabajo no tendrán ningún significado y aunque pudiera verse como una prueba arbitraria no es así, ya que solamente si no hemos implementado los mecanismos de calidad necesarios en el proceso de desarrollo está prueba no tendría que modificar aspectos estructurales del software sino solamente a aspectos superficiales y de interfaces.