| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
¡Bienvenidos a la Wiki de pruebas automatizadas E2E para la aplicación Ghost! En esta wiki encontrarás información detallada sobre las pruebas automatizadas realizadas en la aplicación Ghost, utilizando dos herramientas populares de pruebas E2E: Cypress y Kraken. En total, se llevaron a cabo 50 escenarios de prueba, 30 utilizando Cypress y 20 utilizando Kraken, para asegurar que la aplicación Ghost funcione de manera óptima y libre de errores. De los 20 escenarios realizados con Cypress inicialmente, 10 fueron modificados para la versión de Ghost 4.44.0 y posteriormente para realizar Visual Regression Testing entre versiones.
Para el ejercicio de la semana 7 se plantearon 120 casos de prueba que vienen de 40 escenarios previamente diseñados los cuales fueron realizados con la herramienta de automatización Cypress. Para la mayoría de los escenarios se trabajaron las tres técnicas de generación de datos: A-priori, Pseudo Random y Random, a continuación se detalla la distribución de escenarios utilizados:
Para la generación de datos a-priori, se utilizó la creación de conjuntos de datos previamente construidos para los diferentes escenarios de prueba que se iban a realizar con esta técnica. Estos datos pregenerados se encuentran en la carpeta src/cypressTests/cypress/e2e/dataGeneration/aprioriData. Los datos específicos de cada caso se encuentran en el archivo de su sección respectiva.
Los casos específicos realizados con esta técnica son los siguientes:
| ID | CASO | SECCIÓN |
|---|---|---|
| 1 | [A Priori] Login con ambas credenciales inválidas | Login |
| 4 | [A Priori] Login con correo válido, password inválida | Login |
| 7 | [A Priori] Login con credenciales inválidas, superando límites de caracteres | Login |
| 10 | [A Priori] Crear nueva tag válida | Tags |
| 13 | [A Priori] Intentar crear nueva tag inválida | Tags |
| 16 | [A Priori] Editar perfil válido | Profile |
| 19 | [A Priori] Editar perfil inválido | Profile |
| 22 | [A Priori] Editar settings generales válidos (publication info) | Settings |
| 25 | [A Priori] Editar settings generales inválidos (publication info) | Settings |
| 28 | [A Priori] Agregar code injection válido en header | Code Injection |
| 31 | [A Priori] Agregar code injection válido en footer | Code Injection |
| 34 | [A Priori] Agregar integración | Integraciones |
| 37 | [A Priori] Agregar navegación | Navegación |
| 40 | [A Priori] Agregar navegación inválida | Navegación |
| 43 | [A Priori] Agregar a un post un author inexistente | Posts |
| 46 | [A Priori] Agregarle canonical URL de metadata inválida a un post | Posts |
| 49 | [A Priori] Agregarle canonical URL de metadata válida a un post | Posts |
| 52 | [A Priori] Editar un post con hora de publicación inválida | Posts |
| 55 | [A Priori] Editar un post con hora de publicación válida | Posts |
| 58 | [A Priori] Crear member inválido | Members |
| 61 | [A Priori] Crear member válido | Members |
| 64 | [A Priori] Staff invite people inválido | Members |
| 67 | [A Priori] Staff invite people válido | Members |
| 70 | [A Priori] Agregar una bio válida | Profile |
| 73 | [A Priori] Agregar una bio inválida | Profile |
| 76 | [A Priori] Buscar en el sitio una página aleatoria | Pages |
| 79 | [A Priori] Ingresar meta title inválido en general settings | Settings |
| 82 | [A Priori] Crear Page válida | Pages |
| 85 | [A Priori] Crear Post válido | Posts |
| 88 | [A Priori] Crear post con metatitle válido | Pages |
| 91 | [A Priori] Editar Post con Excerpt de más de 301 caracteres | Post |
| 94 | [A Priori] Agregar code injection válido en header desde la configuración de un post | Code Injection |
| 97 | [A Priori] Ingresar meta title válido en general settings | Settings |
| 100 | [A Priori] Editar metadata de general settings (Meta description excede 1000 caracteres ) | Settings |
| 103 | [A Priori] Editar link de facebook de general settings válido | Settings |
| 106 | [A Priori] Editar link de facebook de general settings inválido | Settings |
| 109 | [A Priori] Editar usuario de twitter en general settings válido | Settings |
| 112 | [A Priori] Editar usuario de twitter en general settings inválido | Settings |
| 115 | [A Priori] Crear post con metatitle inválido | Posts |
| 118 | [A Priori] Login con credenciales válidas | Login |
Para la generación de datos pseudo aleatorios, se utilizó la herramienta Mockaroo donde se crearon esquemas y endpoints de la API para cada uno de los casos de prueba trabajados con esta técnica. El API de Mockaroo permite generar datos realistas, lo que ahorra tiempo y esfuerzo en la creación manual de conjuntos de datos de prueba. Además, es flexible y se integra fácilmente en flujos de trabajo. También ofrece opciones de personalización para adaptarse a los requisitos específicos de cada escenario, con lo cual nos permite establecer las reglas de cada caso para que cumpla con lo requerido por el contexto.
Nuestro equipo creó un proyecto de Mockaroo donde se guardaron todos los esquemas y endpoints utilizados para cada uno de los casos, el proyecto se ve de la siguiente manera en la página de mockaroo:

Un ejemplo de cómo se ve uno de los muchos esquemas trabajados en esta técnica de pruebas se ve de la siguiente manera:

NOTA IMPORTANTE: El key de Mockaroo tiene un límite de 200 usos diarios, es posible que si intentan ejecutar todas las pruebas al tiempo se bloquee el API de Mockaroo, impidiendo generar más datos y fallando así las pruebas.
Los casos de prueba que trabajaron un pool de datos pseudo aleatorio fueron:
| ID | CASO | SECCIÓN |
|---|---|---|
| 2 | [Pseudo Random] Login con ambas credenciales inválidas | Login |
| 5 | [Pseudo Random] Login con correo válido, password inválida | Login |
| 8 | [Pseudo Random] Login con credenciales inválidas, superando límites de caracteres | Login |
| 11 | [Pseudo Random] Crear nueva tag válida | Tags |
| 14 | [Pseudo Random] Intentar crear nueva tag inválida | Tags |
| 17 | [Pseudo Random] Editar perfil válido | Profile |
| 20 | [Pseudo Random] Editar perfil inválido | Profile |
| 23 | [Pseudo Random] Editar settings generales válidos (publication info) | Settings |
| 26 | [Pseudo Random] Editar settings generales inválidos (publication info) | Settings |
| 29 | [Pseudo Random] Agregar code injection válido en header | Code Injection |
| 32 | [Pseudo Random] Agregar code injection válido en footer | Code Injection |
| 35 | [Pseudo Random] Agregar integración | Integraciones |
| 38 | [Pseudo Random] Agregar navegación | Navegación |
| 41 | [Pseudo Random] Agregar navegación inválida | Navegación |
| 44 | [Pseudo Random] Agregar a un post un author inexistente | Posts |
| 47 | [Pseudo Random] Agregarle canonical URL de metadata inválida a un post | Posts |
| 50 | [Pseudo Random] Agregarle canonical URL de metadata válida a un post | Posts |
| 53 | [Pseudo Random] Editar un post con hora de publicación inválida | Posts |
| 56 | [Pseudo Random] Editar un post con hora de publicación válida | Posts |
| 59 | [Pseudo Random] Crear member inválido | Members |
| 62 | [Pseudo Random] Crear member válido | Members |
| 65 | [Pseudo Random] Staff invite people inválido | Members |
| 68 | [Pseudo Random] Staff invite people válido | Members |
| 71 | [Pseudo Random] Agregar una bio válida | Profile |
| 74 | [Pseudo Random] Agregar una bio inválida | Profile |
| 77 | [Pseudo Random] Buscar en el sitio una página aleatoria | Pages |
| 80 | [Pseudo Random] Ingresar meta title inválido en general settings | Settings |
| 83 | [Pseudo Random] Crear Page válida | Pages |
| 86 | [Pseudo Random] Crear Post válido | Pages |
| 89 | [Pseudo Random] Crear post con metatitle válido | Pages |
| 92 | [Pseudo Random] Crear post con metatitle válido | Posts |
| 95 | [Pseudo Random] Agregar code injection válido en header desde la configuración de un post | Code Injection |
| 98 | [Pseudo Random] Ingresar meta title válido en general settings | Settings |
| 101 | [Pseudo Random] Editar metadata de general settings (Meta description excede 1000 caracteres ) | Settings |
| 104 | [Pseudo Random] Editar link de facebook de general settings válido | Settings |
| 107 | [Pseudo Random] Editar link de facebook de general settings inválido | Settings |
| 110 | [Pseudo Random] Editar usuario de twitter en general settings válido | Settings |
| 113 | [Pseudo Random] Editar usuario de twitter en general settings inválido | Settings |
| 116 | [Pseudo Random] Crear post con metatitle inválido | Posts |
Para la generación de datos aleatorios, se utilizó datos de faker, provistas propiamente por faker.js. Faker permite simular datos realistas y variados. Los datos generados con Faker son aleatorios pero siguen patrones y formatos coherentes, lo que facilita la creación de casos de prueba. Además, Faker proporciona una amplia gama de opciones para generar datos en diferentes idiomas, regiones y categorías. Sin embargo, cabe resaltar que a pesar de que los datos sigan patrones coherentes, puede llegar a darse la posibilidad que se genere un dato inválido ya que no tenemos mayor control (adicional a la categoría) sobre los datos producidos. Los casos que trabajaron la técnica de generación de datos aleatoria fueron:
| ID | CASO | SECCIÓN |
|---|---|---|
| 3 | [Random] Login con ambas credenciales inválidas | Login |
| 6 | [Random] Login con correo válido, password inválida | Login |
| 9 | [Random] Login con credenciales inválidas, superando límites de caracteres | Login |
| 12 | [Random] Crear nueva tag válida | Tags |
| 15 | [Random] Intentar crear nueva tag inválida | Tags |
| 18 | [Random] Editar perfil válido | Profile |
| 21 | [Random] Editar perfil inválido | Profile |
| 24 | [Random] Editar settings generales válidos (publication info) | Settings |
| 27 | [Random] Editar settings generales inválidos (publication info) | Settings |
| 30 | [Random] Agregar code injection válido en header | Code Injection |
| 33 | [Random] Agregar code injection válido en footer | Code Injection |
| 36 | [Random] Agregar integración | Integraciones |
| 39 | [Random] Agregar navegación | Navegación |
| 42 | [Random] Agregar navegación inválida | Navegación |
| 45 | [Random] Agregar a un post un author inexistente | Posts |
| 48 | [Random] Agregarle canonical URL de metadata inválida a un post | Posts |
| 51 | [Random] Agregarle canonical URL de metadata válida a un post | Posts |
| 54 | [Random] Editar un post con hora de publicación inválida | Posts |
| 57 | [Random] Editar un post con hora de publicación válida | Posts |
| 60 | [Random] Crear member inválido | Members |
| 63 | [Random] Crear member válido | Members |
| 66 | [Random] Staff invite people inválido | Members |
| 69 | [Random] Staff invite people válido | Members |
| 72 | [Random] Agregar una bio válida | Profile |
| 75 | [Random] Agregar una bio inválida | Profile |
| 78 | [Random] Buscar en el sitio una página aleatoria | Pages |
| 81 | [Random] Ingresar meta title inválido en general settings | Settings |
| 84 | [Random] Crear Page válida | Pages |
| 87 | [Random] Crear Post válido | Posts |
| 90 | [Random] Crear post con metatitle válido | Pages |
| 93 | [Random] Editar Post con Excerpt de más de 301 caracteres | Posts |
| 96 | [Random] Agregar code injection válido en header desde la configuración de un post | Code Injection |
| 99 | [Random] Ingresar meta title válido en general settings | Settings |
| 102 | [Random] Editar metadata de general settings (Meta description excede 1000 caracteres ) | Settings |
| 105 | [Random] Editar link de facebook de general settings válido | Settings |
| 108 | [Random] Editar link de facebook de general settings inválido | Settings |
| 111 | [Random] Editar usuario de twitter en general settings inválido | Settings |
| 117 | [Random] Crear post con metatitle inválido | Posts |
| 119 | [Random] Cambio de contraseña con contraseñas distintas (Error) | Profile |
| 120 | [Random] Hacer el sitio privado y cambiar por contraseña válida | Settings |
| Back | FazBrowse Home | New Git URL |