Según las técnicas de prueba utilizadas, las pruebas de software se pueden dividir en pruebas de caja negra y pruebas de caja blanca.
(1) Prueba de caja negra
La prueba de caja negra consiste en tratar el software (programa) como una caja negra con entrada y salida. Considera el programa como un mapeo del dominio de entrada al dominio de salida. Siempre que los datos de entrada puedan generar el resultado esperado, no hay que preocuparse por el interior del programa Cómo lograrlo, como se muestra en la Figura 1.
Figura 1 Prueba de caja negra
(2) Pruebas de caja blanca
Las pruebas de caja blanca también se denominan pruebas de caja transparente, lo que significa que los probadores comprenden la estructura lógica, la ruta y el proceso de ejecución del programa de software, y obtienen resultados de acuerdo con la ruta de ejecución del programa durante la prueba. La prueba de caja blanca consiste en tratar el software (programa) como una caja transparente, y los evaluadores conocen claramente cada paso del proceso desde la entrada hasta la salida, como se muestra en la Figura 2.
Figura 2 Prueba de caja blanca
En comparación con las pruebas de caja negra, las pruebas de caja blanca tienen requisitos más altos para los evaluadores. Requiere que los evaluadores tengan ciertas habilidades de programación y estén familiarizados con varios lenguajes de secuencias de comandos. Sin embargo, en las empresas de software, las pruebas de caja negra y las pruebas de caja blanca no están claramente definidas. Cuando se prueba una pieza de software, las pruebas de caja negra y las pruebas de caja blanca a menudo se combinan para realizar una prueba completa e integral del software.