Haré mi respuesta, basada en el conocimiento para las pruebas de seguridad, pero en mi humilde opinión, esto puede generalizarse.
Prueba de caja negra: cuando el probador no sabe nada sobre el sistema, los componentes, los enlaces, las conexiones, etc. Esto puede ser más útil como las pruebas UI / UX, pruebas funcionales. Ejemplo: no trabaja para Microsoft y tampoco tiene el código fuente y necesita probar MS Office
Prueba de recuadro gris: cuando el probador tiene algún conocimiento sobre cómo funciona el sistema, alguna información sobre aspectos internos.
Prueba de caja blanca: cuando el probador tiene o puede obtener toda la información sobre componentes internos, conexiones y principios de trabajo del producto probado. Ejemplo: prueba del kernel de Linux.
Para referencia:
Prueba de caja negra (Wikipedia)
Prueba de caja blanca (Wikipedia)
Prueba de caja gris (Wikipedia)