Pruebas de Software: Guía Completa de Tipos y Mejores Prácticas

Diseño e Ingeniería4,39 KB

Pruebas de Software

Prueba de Unidad

La prueba de unidad centra el proceso de verificación en la menor unidad del diseño de software. La complejidad relativa de las pruebas y de los errores descubiertos está limitada por el alcance estricto establecido por la prueba de unidad.

Prueba de Integración

Si todos los módulos funcionan bien por separado, ¿por qué dudar de que funcionen todos juntos? Los datos se pueden perder en la interfaz, un módulo puede tener un efecto adverso sobre otro, las subfunciones cuando se combinan pueden no producir la función deseada, etc.

Integración Descendente

Se integran los módulos moviéndose hacia abajo por la jerarquía de control.

Integración Ascendente

Empieza la construcción y la prueba con los módulos atómicos (es decir, módulos de los niveles más bajos de la estructura del programa).

Ventajas y Desventajas de la Integración

Ascendente
  • Ventaja: Prueba de las funciones principales.
  • Desventaja: La necesidad de resguardos.
Descendente
  • Ventaja: Más facilidad para diseñar casos de prueba.
  • Desventaja: No hay producto final hasta el final.

Prueba de Regresión

La prueba de regresión es una estrategia importante para reducir “efectos colaterales”. Se deben ejecutar pruebas de regresión cada vez que se realice un cambio importante en el software, para evitar que los cambios introduzcan comportamientos no deseados o errores.

Clases de Casos de Prueba

  • Pruebas que ejerciten todas las funciones del software.
  • Pruebas que se centran en las funciones del software que se van a ver probablemente afectadas por el cambio.
  • Pruebas que se centran en los componentes del software que han cambiado.

Prueba de Humo

La prueba de humo es un método de integración que se utiliza mientras se desarrolla el producto de software. Se usa cuando el tiempo es crítico, de tal manera que se evalúa el proyecto frecuentemente.

Actividades

  • Los componentes de software en código se integran en una construcción completa.
  • Se diseñan pruebas para descubrir errores que impidan que el producto funcione. El objetivo es encontrar errores “paralizantes”.
  • Esta construcción se integra con otras construcciones y se aplica una prueba de humo a todo el producto (en su forma actual). Ascendente o descendente.

Beneficios

  • Aplicados en proyectos de software críticos y complejos.
  • Minimizan los riesgos de integración.
  • Perfeccionan la calidad del producto final.
  • Simplifican el diagnóstico y la corrección de errores.
  • El progreso es fácil de observar.

Documentación

Debemos contar con un plan para la integración del software y una especificación de la prueba, la cual contiene:

  • Plan de prueba
  • Procedimiento de prueba

Forma parte de los elementos de gestión de configuración.

Pruebas del Sistema

La prueba del sistema está constituida por una serie de pruebas diferentes cuyo propósito primordial es ejercitar profundamente el sistema basado en computadora. Todas trabajan para verificar que se han integrado correctamente todos los elementos del sistema y que realizan las funciones apropiadas.

Prueba de Recuperación

La prueba de recuperación es una prueba del sistema que fuerza el fallo del software de muchas formas y verifica que la recuperación se lleve a cabo apropiadamente.

Prueba de Seguridad

Intenta verificar que los mecanismos de protección incorporados en el sistema lo protegerán de accesos impropios. El responsable desempeña el papel de un individuo que desea entrar en el sistema. El papel del diseñador del sistema es hacer que el costo de la entrada ilegal sea mayor que el valor de la información.

Prueba de Resistencia

Están diseñadas para enfrentar a los programas con situaciones anormales. Ejecuta un sistema de tal manera que demande recursos en cantidad, frecuencia o volúmenes anormales. Pregunta clave: ¿A qué potencia se puede poner a funcionar el programa antes de que falle? Una variante de esta prueba es la “prueba de sensibilidad”, que intenta descubrir combinaciones de datos dentro de una clase de entrada válida que puedan producir inestabilidad o procesos incorrectos.

Descargar

PDF Word HTML