Introducción
En esta entrada se definirán dos tipos de pruebas: las pruebas de caja blanca y de caja negra. Se enlistarán sus principales características, funciones, así como para qué nos sirven cada una de ellas.
Desarrollo
Pruebas de caja blanca
Son pruebas estructurales. Conociendo el código y siguiendo su estructura lógica, se pueden diseñar pruebas destinadas a comprobar que el código hace correctamente lo que el diseño indica y otras que demuestren que no se comporta adecuadamente ante determinadas situaciones.
Lo que se hace es escoger distintos valores de entrada para examinar cada uno de los posibles flujos de ejecución del programa y cerciorarse de que se devuelven los valores de salida adecuados. Su objetivo es comprobar los flujos de ejecución dentro de cada unidad (función, clase, módulo) aunque también pueden testear los flujos entre unidades durante la integración, e incluso entre subsistemas, durante las pruebas de sistema.
Las principales técnicas de diseño de pruebas de caja blanca son:
- Pruebas de flujo de control
- Pruebas de flujo de datos
- Pruebas de bifurcación
- Pruebas de caminos básicos
Pruebas de caja negra
Estas pruebas permiten obtener un conjunto de condiciones de entrada
que ejerciten completamente todos los requisitos funcionales de un
programa. En ellas ignoramos la estructura de control, concentrándose en
los requisitos funcionales del sistema y ejercitándolos.
La prueba de caja negra no sustituye a la
prueba de caja blanca, sino es un enfoque complementario que intenta
descubrir diferentes tipos de errores a los encontrados en los métodos
de la caja blanca.
Con este tipo de pruebas podemos detectar:
- Funciones incorrectas o ausentes.
- Errores de interfaz
- Errores en estructuras de datos o en accesos a las bases de datos externas.
- Errores de rendimiento.
- Errores de inicialización y terminación.
Las pruebas se aplican sobre el sistema empleando un determinado conjunto de datos de entrada y observando las salidas que se producen para determinar si la función se está desempeñando correctamente por el sistema bajo prueba. Las herramientas básicas son observar la funcionalidad y contrastar con la especificación.
Conclusiones
Cuando estamos creando un proyecto, una fase muy importante es la fase de pruebas. Su objetivo es encontrar los posibles errores que podamos encontrar en nuestro software. Por eso es indispensable saber qué tipos de pruebas hay. Los dos más importantes son los de caja blanca y los de caja negra. En el primero, podemos ver cómo se procesan los datos y en el segundo sólo los enfocamos en las entradas y las salidas de los datos.
Bibliografía