
Josue Jesus Ascencio
PreguntaNo encuentro mucha diferencia entre los test de caja negra y los test de caja de cristal a la hora de escribir el programa, quizá sea por esto que no logro comprender bien la diferencia real entre estos dos test, si alguien me pudiera ayudar compartiendo su forma de entenderlo lo agradecería mucho.
Helí Fernando Jerez Rincón
La principal diferencia entre el uno y el otro es que en caja negra ud no sabe como esta escrito el código en caja de cristal ud si sabe y puede probar los diferentes escenarios.
Por ejemplo un If ud puede probar cuando se cumple la condición y cuando no. En caja negra ud no sabe que hay un if por lo tanto no puede hacer todas las diferentes pruebas.

Hiram Rodriguez Gomez
Como comenta Josue, la programación no es tan diferente. Lo que cambia es el enfoque desde el cual se realizan las pruebas.
Desde caja negra, tu pruebas una entrada y una salida: defines que datos ingresan al programa, que resultado debe generar, y confirmas que eso ocurre. No te interesa que pasa poder dentro del código ni cómo llegas a ese resultado.
Desde caja blanca: necesitas conocer el código, pues no sólo vas a probar que te de una serie de entradas/salidas, sino que tienes que verificar por bloques de código TODAS las ramificaciones que puedan ocurrir (lo cual no haces en prueba de caja negra): si ocurre un elif/else, si no entra a un ciclo, si sólo realiza el ciclo una vez o varias, si ocurre alguna excepción, etc.
Espero que mi aportación te facilite la resolución de tu duda.

Josue Noha Valdivia
Hola, en realidad no hay diferencia a la hora de programar, la diferencia radica en aquello que testeas. En el caso de la caja negra testeas el resultado, el output del programa. Las cajas de cristal se usan para testear pasos intermedios, ves dentro del código.