Ya tenemos más claro cómo funcionan las pruebas de reconocimiento. Nos parece que son herramientas útiles para detectar “crashes”, excepciones y errores inesperados sin intervención humana. Entendemos que este tipo de pruebas requieren la disponibilidad de máquinas para su ejecución por varias horas y que se espera que se usen como complemento a pruebas funcionales. Sin embargo, consideramos que esto no es suficiente para evaluar la calidad de la ABP.
Por ejemplo, hemos utilizado pruebas manuales funcionales con un enfoque de E2E, es decir de “extremo a extremo”. Sin embargo, re-ejecutar los escenarios de pruebas de forma manual puede llevar a errores en la ejecución de la prueba y, lamentablemente, nuestros ingenieros suelen no documentarlos. Por lo tanto, como parte de su labor queremos que automatice las pruebas E2E. Con base en una revisión de blogs hemos encontrado que Cypress, Puppeteer y Playwright son herramientas apliamente utilizadas para hacer pruebas E2E basadas en scripts. Por otro lado, nuestros amigos de The Software Design Lab nos recomendaron usar su herramienta Kraken que permite hacer pruebas E2E, pero usando escenarios escritos en un estilo BDT (es decir, Behavior Driven Testing).
Creemos entonces que una buena forma de empezar sería implementando escenarios de prueba de las funcionalidades que su equipo seleccionó en su estrategia de pruebas. Para ello, les solicitamos que seleccionen mínimo 5 funcionalidades e implementen por lo menos 20 de los escenarios utilizando Kraken y algunas de las otras tres herramientas (Cypress, Puppeteer y Playwright). En otras palabras, los 20 escenarios de prueba deben ser implementados idénticamente tanto con Kraken como con la otra herramienta de su elección. Los escenarios deben utilizar todos los patrones vistos (Page Object, Given-When-Then), independientemente de la herramieta.
Para tal efecto, utilicen su repositorio de equipo (org Uniandes-MISW4103) para configurar las herramientas de automatización e implementar los escenarios de prueba. Los escenarios deben ser ejecutados en la ABP, utilizando la versión definida para el proyecto, con el fin de asegurar que las pruebas estén bien construidas.
La entrega debe ser realizada utilizando el repositorio de trabajo dado por el equipo docente (en caso de no poder acceder a la organización del curso, Uniandes-MISW4103, contacten al equipo docente). Su equipo debe crear un release en el repositorio (ver cómo crear un release) con los siguientes elementos:
./e2e
con los escenarios de prueba de la herramienta de automatización seleccionada (Cypress, Playwright, Puppeteer) y Kraken (leer el README de la carpeta para entender cómo configurar las herramientas).
./actividades/actividad-semana-5
debe tener tener como mínimo:
(*) Los videos y documentos que incluyan en su entrega deben estar alojado en algún gestor de contenido (Google drive, OneDrive, Youtube, etc), deben ser públicos o deben permitir el acceso a cuentas de la Universidad de Los Andes (
@uniandes.edu.co
). Para el caso de documentos, estos deben estar en formato
“Fatalities”.
Nota: el incumplimiento de cualquiera de los aspectos mencionados a continuación puede incurrir en una penalización sobre la calificación de la actividad.
Pruebas con la herramienta de automatización de su elección. [40 puntos]
./e2e/*
), y se ejecutan exitosamente. Cada prueba debe contar con el identificador asociado al escenario de prueba [20 puntos]Pruebas con la herramienta de automatización Kraken. [40 puntos]
./e2e/*
), y se ejecutan exitosamente. Cada prueba debe contar con el identificador asociado al escenario de prueba [20 puntos]Reporte de la Actividad. [20 puntos]
El reporte de la actividad de su repositorio de equipo (./actividades/actividad-semana-5
):
La evaluación tendrá en cuenta la inclusión de la totalidad de componentes solicitados y la calidad de cada uno de acuerdo con la rúbrica establecida.