stringtranslate.com

Prueba doble

Un test double es un software utilizado en la automatización de pruebas de software que satisface una dependencia de modo que la prueba no necesita depender del código de producción. Un test double proporciona funcionalidad a través de una interfaz que el software bajo prueba no puede distinguir del código de producción.

Un programador generalmente utiliza una prueba doble para aislar el comportamiento del código consumidor del resto de la base de código.

Una prueba doble suele ser una versión simplificada del código de producción y puede incluir capacidades específicas para las pruebas.

Los dobles de prueba se utilizan para construir arneses de prueba .

Usos

Se puede utilizar una prueba doble para simplificar y acelerar la ejecución de la prueba.

Por ejemplo, un programa que utiliza un servidor de base de datos es relativamente lento y consume una cantidad significativa de recursos del sistema , lo que dificulta la productividad de las pruebas. Además, un caso de prueba puede requerir valores fuera de los almacenados en la base de datos. Un doble de prueba puede proporcionar un valor estático en lugar de acceder a una base de datos.

Se puede usar una prueba doble para probar parte del sistema que está lista para ser probada incluso si sus dependencias no lo están.

Por ejemplo, en un sistema con módulos Login, Home y User, supongamos que Login está listo para la prueba, pero los otros dos no. Las funciones consumidas de Home y User se pueden implementar como dobles de prueba para que Login se pueda probar.

Tipos

Los dobles de prueba se categorizan de muchas maneras.

General

Aunque no es universalmente aceptado, Gerard Meszaros [1] clasifica los dobles de prueba como:

Si bien no existe un estándar abierto para las categorías, Martin Fowler utilizó estos términos en su artículo, Mocks Aren't Stubs [2], haciendo referencia al libro de Meszaros. Microsoft también utilizó los mismos términos y definiciones en un artículo titulado Exploring The Continuum Of Test Doubles [3] .

Servicio

Para los sistemas de arquitectura orientada a servicios (SOA) y los microservicios , los evaluadores utilizan dobles de prueba que se comunican con el sistema bajo prueba a través de un protocolo de red. [4] [5] Estos dobles de prueba reciben diferentes nombres por parte de los proveedores de herramientas. Un término comúnmente utilizado es virtualización de servicios . Otros nombres utilizados incluyen simulación de API , simulación de API, [6] stub HTTP, simulación HTTP, doble de prueba por cable [7] . [8]

Falso verificado

Una falsificación verificada es 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. [9]

Véase también

Referencias

  1. ^ Meszaros, Gerard (2007). Patrones de pruebas unitarias: refactorización del código de prueba . Addison-Wesley. ISBN 978-0-13-149505-0.
  2. ^ Fowler, Martin (2007). "Las simulaciones no son esbozos" . Consultado el 29 de diciembre de 2010 .
  3. ^ Seemann, Mark (2007). "Explorando el continuo de los dobles de prueba" . Consultado el 29 de diciembre de 2010 .
  4. ^ Clemson, Toby "Estrategias de prueba en una arquitectura de microservicios", martinfowler.com , 18 de noviembre de 2014. Recuperado el 7 de diciembre de 2017.
  5. ^ Byars, Brandon. "Testing Microservices with Mountebank", Manning Publications , MEAP comenzó en marzo de 2017. ISBN 9781617294778. Recuperado el 7 de diciembre de 2017. 
  6. ^ Bryant, Daniel "Se lanzó la herramienta de simulación de API WireMock v2 con gestión de stubs y coincidencia de solicitudes mejorada", InfoQ , 16 de agosto de 2016. Recuperado el 7 de diciembre de 2017.
  7. ^ ThoughtWorks "Radar tecnológico, herramientas: Charlatán", ThoughtWorks , noviembre de 2015. Recuperado el 7 de diciembre de 2017.
  8. ^ Bulaty, Wojciech "Diferencias entre stubbing, mocking y virtualización de servicios para equipos de prueba y desarrollo", InfoQ , 19 de febrero de 2016. Recuperado el 7 de diciembre de 2017.
  9. ^ Turner-Trauring, Itamar (2019). "Pruebas rápidas para servicios lentos: por qué deberías usar falsificaciones verificadas" . Consultado el 21 de enero de 2019 .

Enlaces externos

Gerard Meszaros:

Martín Fowler:

Código abierto: