Las pruebas de unidades se implementan contra los elementos más pequeños que se pueden probar (unidades) del software,
e implica probar la estructura interna como por ejemplo los flujos lógicos y de datos, y los comportamientos de función
y observables de la unidad. Las pruebas de diseño y de implementación que se centran en la estructura interna de una
unidad se basan en el conocimiento de la implementación de la unidad (enfoque de caja blanca). El diseño y la
implementación de pruebas para verificar los comportamientos observables de una unidad y sus funciones no se basan en
el conocimiento de la implementación y por lo tanto se conocen como enfoque de caja negra.
Ambos enfoques se utilizan para diseñar e implementar diferentes tipos de pruebas (consulte el apartado Técnica: Tipo de pruebas) necesarios para probar las unidades satisfactoriamente y
completamente.
Consulte también el apartado Técnica: Guión de
prueba para obtener información adicional sobre derivar guiones de prueba para las pruebas de unidad.
Un enfoque de prueba de caja blanca debe adoptarse para verificar la estructura interna de una unidad. Teóricamente,
debe probar todas las vías de acceso a través del código, pero esto sólo es posible en unidades muy simples. Como
mínimo, debe ejercer todas las vías de acceso decisión a decisión (vía de acceso DD) por lo menos una vez porque
entonces ejecuta todas las sentencias una vez. Una decisión suele ser una sentencia if, y una vía de acceso DD es una
vía de acceso entre dos decisiones.
Para alcanzar este nivel de cobertura de la prueba, se recomienda que escoja los datos de prueba para que todas las
decisiones se evalúen de todos los modos posibles.
Utilice herramientas de cobertura de código para identificar el código que no se ha ejercido en las pruebas de caja
blanca. Las pruebas de fiabilidad deben efectuarse simultáneamente con las pruebas de caja blanca.
Consulte el apartado Técnica: Guión de
prueba para obtener información adicional
El objetivo de una prueba de caja negra es verificar la función y el comportamiento observable especificado de la
unidad sin conocer cómo implementa la unidad la función y el comportamiento. Las pruebas de caja negra se
centran y se basan en la entrada y la salida de la unidad.
Derivar las pruebas de la unidad basándose en el enfoque de caja negra, utiliza los argumentos de entrada y de salida
de las operaciones de la unidad, y/o el estado de salida para su evaluación. Por ejemplo, la operación puede incluir un
algoritmo (que requiere dos valores como entrada y devolución de una tercera como salida), o iniciar el cambio en el
estado de un objeto o de un componente, como añadir o suprimir un registro de base de datos. Deben probarse
totalmente. Para probar una operación, debe derivar suficientes guiones de prueba para verificar lo siguiente:
-
la operación ha devuelto un valor apropiado para cada valor válido utilizado como entrada
-
la operación ha devuelto un valor apropiado para cada valor no válido utilizado como entrada
-
un estado de salida apropiado ocurre para cada estado de entrada válido
-
un estado de salida apropiado ocurre para cada estado de entrada no válido
Utilice herramientas de cobertura de código para identificar el código que no se ha ejercido en las pruebas de caja
blanca. Las pruebas de fiabilidad deben efectuarse simultáneamente con las pruebas de caja negra.
Consulte el apartado Técnica: Guión de
prueba para obtener información adicional
|