Pruebas de caja blanca

Definición
  • Se centran en la estructura de control del programa.
  • Se derivan de casos de prueba que aseguren que durante la prueba se han ejecutado todas las sentencias del programa al menos una vez y que se ejercitan todas las condiciones lógicas.
Mediante este tipo de prueba el ingeniero puede:
  • Garantizar que se ejerciten por lo menos una vez todos los caminos independientes de cada módulo
  • Ejercitar todas las decisiones lógicas en sus vertientes verdadera y falsa
  • Ejecutar todos los bucles en sus límites
  • Ejercitar las estructuras de datos para asegurar su validez
Ejemplos
  • Prueba del camino básico
  • Pruebas de la estructura de control
  • Domain testing
  • Integration strategies
  • Mutation testing & Error seeding
  • Prueba del camino básico
Es una técnica de caja blanca que permite al diseñador de casos de prueba obtener una medida de la complejidad lógica de un diseño procedimental y usar esa medida como guía para la definición de un conjunto básico de caminos de ejecución.
  • Pruebas de la estructura de control
Amplia la cobertura de la prueba del camino básico y mejora su calidad. Entre éstas se encuentran:
  1. Prueba de condición– Data flow testing
  2. Prueba del flujo de datos
  3. Prueba de bucles
  • Domain testing
  • El objetivo es verificar valores tomados por una variable, una condición, o un índice, para demostrar que están fuera del rango especificado o válido.
  • También prueba que el programa sólo acepta entradas válidas
  • Integration strategies
Es una técnica que tiene como objetivo verificar la consistencia entre los programas que conforman una función o bien la consistencia entre las
funciones que conforman un módulo o sistema bajo el supuesto de que cada uno de los elementos ha sido probado.

  • Mutation testing & Error seeding
Error Seeding Technique
● Se generan un cierto número de errores artificialmente en el código.
● Después de esto, las pruebas se usan para detectar errores y examinar la relación entre los errores reales y los artificiales basados en el número total de errores detectados.
● Las personas que prueban no saben cuáles son los errores que se generaron artificialmente.

Mutation testing
● De Millo propone esta técnica en 1978.
● Consiste en mutar o cambiar ciertas instrucciones del código y checar si los que prueban son capaces de encontrar los errores.
● Es una técnica usada para evaluar la calidad de los casos de prueba, es decir, verificar si se pueden encontrar ciertos tipos de errores.
● Estas mutaciones se ejecutan con una entrada de datos a partir de un conjunto de pruebas. Si las pruebas pueden distinguir a un
mutante del original, es decir, que produce resultados diferentes, se dice que el mutante esta muerto. En otro caso, se dice que está vivo.

Comments