Skip to content

ADR. Tests e2e

Ricardo Marques Garay edited this page May 1, 2023 · 1 revision

Título

Librería para la realización de pruebas en el lado del servidor.

Estado

Aceptado

Contexto

Cucumber es un software de testing BDD (Behavior Driven Development) que nos permitirá elaborar pruebas unitarias a partir de criterios de aceptación, fácilmente entendibles por todos los intervinientes del proceso. A través de Cucumber, el analista podrá definir un conjunto de casos de uso que permitan validar el desarrollo realizado. Estos casos de uso tendrán su correlación con scenarios de Cucumber, los cuales estarán implementados posteriormente en un lenguaje de programación dominado por el ingeniero de calidad o testing.

Además no debemos olvidar que BDD emerge de TDD ( test-driven development). Por lo que con este enfoque podemos paralelizar, al menos en parte, el desarrollo de la integración con el de las pruebas. Otro punto fuerte a tener en cuenta.

  • Ejemplo de definición de caso de uso: image

  • Ejemplo de código: image

Para las pruebas e2e, utilizaremos Puppeteer, que es una herramienta de automatización de pruebas para navegadores web desarrollada por Google. Se utiliza para controlar el navegador Chrome o Chromium a través de una API para realizar acciones automatizadas como interactuar con páginas web, hacer clic en elementos, completar formularios, tomar capturas de pantalla, generar PDFs, entre otras tareas.

Decisión

Ventajas de utilizar Cucumber:

  • Lenguaje natural
  • Reutilización de código
  • Integración
  • Mayor cobertura de pruebas
  • Documentación

Ventajas de utilizar Puppeteer:

  • Control total del navegador: Puppeteer proporciona un control completo del navegador Chrome
  • Fácil de usar: Es una herramienta fácil de usar con una sintaxis intuitiva que facilita su aprendizaje y uso para los usuarios
  • Integración con otras herramientas: Se puede integrar fácilmente con otras herramientas de automatización y frameworks como Jest, Mocha, y WebDriverIO, lo que permite a los usuarios aprovechar al máximo la herramienta.

Consecuencias

Ninguno de los miembros del equipo tiene conocimiento acerca de Cucumber. Puede ser difícil de aprender para los usuarios nuevos en la herramienta, ya que requiere conocimientos previos de programación y una comprensión detallada de los conceptos de las pruebas de software. La implementación de pruebas automatizadas en Cucumber puede requerir un esfuerzo significativo de programación y mantenimiento, especialmente para proyectos grandes y complejos, lo que puede aumentar la carga de trabajo del equipo de desarrollo.

En resumen, algunas de las desventajas de Puppeteer son: la necesidad de conocimientos de programación, el consumo de recursos del sistema, la dependencia de la versión del navegador, etc. Sin embargo, a pesar de estas desventajas, Puppeteer sigue siendo una herramienta muy útil y popular para la automatización de pruebas y tareas en navegadores web.

Reuniones

Reuniones extraordinarias

Decisiones Arquitectónicas (ADR)

Clone this wiki locally