Pruebas de Caja
Blanca
En programación, se denomina cajas blancas a un tipo de pruebas de software que se realiza sobre las funciones internas de un módulo.
Así como las pruebas de caja negra
ejercitan los requisitos
funcionales desde el exterior del módulo, las de
caja blanca están dirigidas a las funciones internas. Entre las técnicas usadas
se encuentran; la cobertura de caminos (pruebas que hagan que se recorran todos
los posibles caminos de ejecución), pruebas sobre las expresiones lógico-aritméticas, pruebas de camino de datos
(definición-uso de variables), comprobación de bucles (se verifican los bucles para 0,1 e interacciones, y
luego para las interacciones máximas, máximas menos uno y más uno).
Las pruebas de caja blanca se llevan a cabo en primer lugar,
sobre un módulo concreto, para luego realizar las de caja negra sobre varios
subsistemas (integración).
En los sistemas orientados a objetos, las pruebas de caja
blanca pueden aplicarse a los métodos de la clase, pero según varias opiniones,
ese esfuerzo debería dedicarse a otro tipo de pruebas más especializadas (un
argumento podría ser que los métodos de una clase suelen ser menos complejos
que los de una función de programación estructurada). Dentro de las Pruebas de
Caja Blanca encontramos las llamadas coberturas (sentencia, decisión, condición
y múltiple además de los mencionados caminos ciclomáticos propuestos por
McCabe)
Pruebas de
Caja Negra
En teoría de sistemas y física, se denomina caja negra a aquel elemento que es estudiado desde el
punto de vista de las entradas que recibe y las salidas o respuestas que
produce, sin tener en cuenta su funcionamiento interno. En otras palabras, de
una caja negra nos
interesará su forma de interactuar con el medio que le rodea (en ocasiones,
otros elementos que también podrían ser cajas negras) entendiendo qué es lo que hace, pero sin dar importancia a cómo lo hace. Por tanto, de una caja negra deben estar muy bien definidas sus entradas
y salidas, es decir, su interfaz; en
cambio, no se precisa definir ni conocer los detalles internos de su
funcionamiento.e
En pruebas de software, conociendo una función específica para la que fue diseñado
el producto, se pueden diseñar pruebas que demuestren que dicha función está
bien realizada. Dichas pruebas son llevadas a cabo sobre la interfaz del
software, es decir, de la función, actuando sobre ella como una caja negra,
proporcionando unas entradas y estudiando las salidas para ver si concuerdan
con las esperadas.
Diagrama
No hay comentarios:
Publicar un comentario