Planificación de Pruebas

Es fundamental verificar que los programas desarrollados cumplen con los requisitos planteados por los usuarios.

Hay que detectar los errores producidos durante el proceso de diseño y desarrollo y corregirlos.

La realización de pruebas permite verificar y validar el software.

Tipos de pruebas: Funcionales, estructurales, regresión…

Pruebas funcionales: una prueba funcional es una prueba basada en la ejecución, revisión y retroalimentación de las funcionalidades previamente diseñadas para el software (requisitos funcionales).

Hay distintos tipos como por ejemplo:

  • Pruebas unitarias
  • Pruebas de componentes
  • Pruebas de integración
  • Pruebas de sistema
  • Pruebas de humo
  • Pruebas alpha
  • Pruebas beta
  • Pruebas de aceptación
  • Pruebas de regresión

Pruebas no funcionales: una prueba no funcional es una prueba cuyo objetivo es la verificación de un requisito que especifica criterios que pueden usarse para juzgar la operación de un sistema (requisitos no funcionales) como por ejemplo la disponibilidad, accesibilidad, usabilidad, mantenibilidad, seguridad, rendimiento.

Podemos clasificar las pruebas no funcionales según el tipo de requisito no funcional que abarcan:

  • Pruebas de compatibilidad
  • Pruebas de seguridad
  • Pruebas de Estrés
  • Pruebas de usabilidad
  • Pruebas de rendimiento
  • Pruebas de internacionalización y localización
  • Pruebas de escalabilidad
  • Pruebas de mantenibilidad
  • Pruebas de instalabilidad
  • Pruebas de portabilidad

Procedimientos y casos de prueba

Existen varios procedimientos para el diseño de los casos de prueba:

  • Caja negra: procedimiento para comprobar requisitos funcionales desde el exterior del programa.
  • Caja blanca: tipo de pruebas de software que se realiza sobre las funciones internas de un programa.
  • Enfoque aleatorio: elaboración de casos de prueba a partir de modelos obtenidos estadísticamente.

Pruebas de Código: Cubrimiento, valores límite, clases de equivalencia

  • Cubrimiento: comprobar que los caminos definidos en el código se pueden recorrer.
  • Valores límite: comprobaciones de valores de entrada o de salida que se encuentra en la frontera, por ejemplo el valor mínimo o máximo de un rango.
  • Partición de equivalencia: partición de equivalencia es la porción del dominio de una entrada o una salida para la cual se asume que el comportamiento de un componente o sistema, basado en la especificación, es el mismo.

Pruebas unitarias; herramientas

Las pruebas unitarias tienen por objetivo probar el correcto funcionamiento de un módulo de código. Una unidad es la parte más pequeña que se puede probar.

A la hora de realizar pruebas unitarias hay que tener en cuenta:

  • Que sean automatizables.
  • Que afecten a la mayor cantidad de código.
  • Que sean reutilizables.
  • Independientes.
  • Documentar.

Cada lenguaje de programación dispone de herramientas para realizar las pruebas correspondientes a los códigos programados.