Prueba doble


En programación y ciencias de la computación , los programadores y desarrolladores emplean una técnica llamada prueba unitaria automatizada para mejorar la calidad del software. Con frecuencia, el software de lanzamiento final consiste en un conjunto complejo de objetos o procedimientos que interactúan entre sí para crear el resultado final. En las pruebas unitarias automatizadas, puede ser necesario utilizar objetos o procedimientos que se vean y se comporten como sus homólogos previstos para la publicación, pero en realidad son versiones simplificadas que reducen la complejidad y facilitan las pruebas. Un doble de prueba es un término genérico (meta) utilizado para estos objetos o procedimientos.

Gerard Meszaros [1] identificó varios términos diferentes para lo que él llama "Test Dobles". Usando su vocabulario, hay al menos cinco tipos de pruebas dobles:

Para las pruebas manuales y automáticas de caja negra de sistemas de arquitectura orientada a servicios o microservicios , los desarrolladores y evaluadores de software utilizan pruebas dobles que se comunican con el sistema bajo prueba a través de un protocolo de red. [2] [3] Estos dobles de prueba reciben diferentes nombres según el proveedor de la herramienta. Un término de uso común es la virtualización de servicios . Otros nombres utilizados incluyen simulación API , API mock, [4] stub HTTP, HTTP mock, over the wire test double [5] . [6]

Otra forma de prueba doble es la falsificación verificada, un objeto falso cuyo comportamiento se ha verificado para que coincida con el del objeto real mediante un conjunto de pruebas que se ejecutan tanto contra la falsificación verificada como contra la implementación real. [7]

Si bien no existe un estándar abierto para la prueba doble y los diversos tipos, existe un impulso para el uso continuo de estos términos de esta manera. Martin Fowler usó estos términos en su artículo, Mocks Aren't Stubs [8] refiriéndose al libro de Meszaros. Microsoft también usó los mismos términos y definiciones en un artículo titulado Exploring The Continuum Of Test Doubles . [9]