Skip to content
fclopez4 edited this page Nov 26, 2023 · 33 revisions

Documentación Ghost CMS TSDC

Funcionalidades bajo pruebas

ID Funcionalidad
F000 Login Ghost CMS
F001 Administración de Posts
F002 Administración de Paginas
F003 Administración de Tags
F004 Administración de usuarios
F005 Configuración de boletín electrónico
F006 Configuración perfil de usuario administrador

Estrategia para la generación de datos

Descripción Estrategias Utilizadas

  • Pool de datos a-priori: Para esta estrategia se procedió a generar los datos a través de la herramienta Mockaroo, los datos se encuentran alojados en el repositorio en archivos json.
  • Pool de datos pseudo-aleatorio dinamico: Para esta estrategia se tomó como base el esquema de datos construido en la generación de datos a-priori, y desde Mockaroo se expuso una API que retorna un set de datos distintos en cada llamado, pero cumpliendo con el esquema de datos definido. Dentro del proyecto de pruebas se realiza el llamado a dicho api con la funcionalidad de cypress cy.request.
  • Pool de datos aleatorios: Para esta estrategia se procedió con el uso del API fakerjs el cual fué instalado en el proyecto de pruebas.

Escenarios de pruebas

ID Funcionalidad Autor Tipo escenario Escenario de prueba Estrategia usada
EP001 F001 @AndresClavijoRo Positivo Crear post Aleatorio
EP002 F001 @AndresClavijoRo Positivo Editar post Aleatorio
EP003 F001 @AndresClavijoRo Positivo crear post con titulo mayor a 256 caracteres Aleatorio
EP004 F001 @AndresClavijoRo Positivo Agregar imagen feature valida a-priori
EP005 F001 @AndresClavijoRo Positivo Agregar imagen feature invalida a-priori
EP006 F001 @AndresClavijoRo Positivo Agregar imagen valida a post a-priori
EP007 F001 @AndresClavijoRo Positivo Agregar imagen invalida a post a-priori
EP008 F001 @AndresClavijoRo Positivo Agregar video valido a post a-priori
EP009 F001 @AndresClavijoRo Positivo Agregar video invalido a post a-priori
EP010 F001 @AndresClavijoRo Positivo Agregar audio valido a post a-priori
EP011 F001 @AndresClavijoRo Positivo Agregar audio invalido a post a-priori
EP012 F001 @AndresClavijoRo Positivo Agregar galeria de imagenes a post a-priori
EP013 F001 @AndresClavijoRo Positivo Agregar galeria de imagenes con limite de 9 imagenes a-priori
EP014 F001 @AndresClavijoRo Positivo Agregar galeria de imagenes mayor al limite de 9 imagenes a-priori
EP015 F001 @AndresClavijoRo Positivo Agregar fecha de publicación con datos validos Aleatorio
EP016 F001 @AndresClavijoRo Positivo Agregar fecha de publicación con fechas limite dia actual Aleatorio
EP017 F001 @AndresClavijoRo Positivo Agregar fecha de publicación con fechas mayores al dia actual Aleatorio
EP018 F001 @AndresClavijoRo Positivo Crear facebook card en el post con data valida Aleatorio
EP019 F001 @AndresClavijoRo Positivo Crear facebook card en el post con data invalida Aleatorio
EP020 F001 @AndresClavijoRo Positivo Crear facebook card en el post con datos de caracteres limite Aleatorio
EP021 F006 @AndresClavijoRo Positivo Validar input nombre usuario (pseudo) aleatorio dinámico
EP022 F006 @AndresClavijoRo Positivo Validar input slug (pseudo) aleatorio dinámico
EP023 F006 @AndresClavijoRo Positivo Validar input email (pseudo) aleatorio dinámico
EP024 F006 @AndresClavijoRo Positivo Validar input ubicación (pseudo) aleatorio dinámico
EP025 F006 @AndresClavijoRo Positivo Validar input webSite (pseudo) aleatorio dinámico
EP026 F006 @AndresClavijoRo Positivo Validar input perfil facebook (pseudo) aleatorio dinámico
EP027 F006 @AndresClavijoRo Positivo Validar input perfil twitter (pseudo) aleatorio dinámico
EP028 F006 @AndresClavijoRo Positivo Validar input biografia (pseudo) aleatorio dinámico
EP029 F006 @AndresClavijoRo Positivo Cambiar contraseña valid (pseudo) aleatorio dinámico
EP030 F006 @AndresClavijoRo Positivo Cambiar contraseña invalida (pseudo) aleatorio dinámico
EP031 F004 w.alarconc@uniandes.edu.co Negativo Crear miembro con _nombre mayor a 191 caracteres aleatorio
EP032 F004 w.alarconc@uniandes.edu.co Negativo Crear miembro sin email aleatorio
EP033 F004 w.alarconc@uniandes.edu.co Negativo Crear miembro con email incorrecto aleatorio
EP034 F004 w.alarconc@uniandes.edu.co Negativo Crear miembro con email existente aleatorio
EP035 F004 w.alarconc@uniandes.edu.co Negativo Crear miembro con Nota mayor a 500 caracteres aleatorio
EP036 F004 w.alarconc@uniandes.edu.co Negativo Editar miembro con Nombre mayor a 191 caracteres aleatorio
EP037 F004 w.alarconc@uniandes.edu.co Negativo Editar miembro sin email aleatorio
EP038 F004 w.alarconc@uniandes.edu.co Negativo Editar miembro con email incorrecto aleatorio
EP039 F004 w.alarconc@uniandes.edu.co Negativo Editar miembro con email existente aleatorio
EP040 F004 w.alarconc@uniandes.edu.co Negativo Editar miembro con Nota mayor a 500 caracteres aleatorio
EP041 F005 w.alarconc@uniandes.edu.co Positivo Crear newsletter a-priori
EP042 F005 w.alarconc@uniandes.edu.co Negativo Crear newsletter sin nombre a-priori
EP043 F005 w.alarconc@uniandes.edu.co Negativo Crear newsletter con nombre mayor a 191 caracteres a-priori
EP044 F005 w.alarconc@uniandes.edu.co Negativo Crear newsletter con nombre existente a-priori
EP045 F005 w.alarconc@uniandes.edu.co Negativo Crear newsletter con descripción mayor a 2001 caracteres a-priori
EP046 F005 w.alarconc@uniandes.edu.co Negativo Crear newsletter con nombre y descripcion mayor a 191 y 2001 caracteres respectivamente a-priori
EP047 F005 w.alarconc@uniandes.edu.co Negativo Editar newsletter sin nombre a-priori
EP048 F005 w.alarconc@uniandes.edu.co Negativo Editar newsletter con nombre existente a-priori
EP049 F005 w.alarconc@uniandes.edu.co Negativo Editar newsletter con nombre mayor a 191 a-priori
EP050 F005 w.alarconc@uniandes.edu.co Negativo Editar newsletter con descripción mayor a 2001 a-priori
EP051 F005 w.alarconc@uniandes.edu.co Negativo Editar newsletter con email incorrecto a-priori
EP052 F005 w.alarconc@uniandes.edu.co Positivo Crear newsletter (pseudo) aleatorio dinámico
EP053 F005 w.alarconc@uniandes.edu.co Negativo Crear newsletter sin nombre (pseudo) aleatorio dinámico
EP054 F005 w.alarconc@uniandes.edu.co Negativo Crear newsletter con nombre mayor a 191 caracteres (pseudo) aleatorio dinámico
EP055 F005 w.alarconc@uniandes.edu.co Negativo Crear newsletter con nombre existente (pseudo) aleatorio dinámico
EP056 F005 w.alarconc@uniandes.edu.co Negativo Crear newsletter con descripción mayor a 2001 caracteres (pseudo) aleatorio dinámico
EP057 F005 w.alarconc@uniandes.edu.co Negativo Crear newsletter con nombre y descripcion mayor a 191 y 2001 caracteres respectivamente (pseudo) aleatorio dinámico
EP058 F005 w.alarconc@uniandes.edu.co Negativo Editar newsletter sin nombre (pseudo) aleatorio dinámico
EP059 F005 w.alarconc@uniandes.edu.co Negativo Editar newsletter con nombre existente (pseudo) aleatorio dinámico
EP060 F005 w.alarconc@uniandes.edu.co Negativo Editar newsletter con nombre mayor a 191 (pseudo) aleatorio dinámico
EP061 F005 w.alarconc@uniandes.edu.co Negativo Editar newsletter con descripción mayor a 2001 (pseudo) aleatorio dinámico
EP062 F005 w.alarconc@uniandes.edu.co Negativo Editar newsletter con email incorrecto (pseudo) aleatorio dinámico
EP063 F002 @fclopez4 Positivo Crear pagina aleatorio
EP064 F002 @fclopez4 Positivo Editar pagina aleatorio
EP065 F002 @fclopez4 Positivo Crear pagina con titulo mayor a 256 caracteres aleatorio
EP066 F002 @fclopez4 Positivo Actualizar fecha de publicación con una fecha valida aleatorio
EP067 F002 @fclopez4 Positivo Actualizar fecha de publicación con una fecha futura aleatorio
EP068 F002 @fclopez4 Positivo Actualizar fecha de publicación con una fecha actual aleatorio
EP069 F002 @fclopez4 Positivo Crear tarjeta de facebook con limite de datos aleatorio
EP070 F002 @fclopez4 Positivo Agregar una imagen principal con formato valido a una pagina a-priori
EP071 F002 @fclopez4 Positivo Agregar una imagen principal con formato invalida a una pagina a-priori
EP072 F002 @fclopez4 Positivo Agregar una imagen con formato valido a una pagina a-priori
EP073 F002 @fclopez4 Positivo Agregar un video con formato valido a una pagina a-priori
EP074 F002 @fclopez4 Positivo Agregar un video con formato invalido a una pagina a-priori
EP075 F002 @fclopez4 Positivo Agregar una galeria con formato valido a una pagina a-priori
EP076 F002 @fclopez4 Positivo Agregar una galeria valida con limite de imagenes a una pagina a-priori
EP077 F002 @fclopez4 Positivo Agregar una galeria valida con limite +1 de imagenes a una pagina a-priori
EP078 F003 @fclopez4 Positivo Llenar titulo y descripción de una etiqueta aleatorio
EP079 F003 @fclopez4 Positivo Llenar etiqueta de metadatos de google aleatorio
EP080 F003 @fclopez4 Positivo Llenar etiqueta de X (twitter) aleatorio
EP081 F003 @fclopez4 Positivo Llenar etiqueta de facebook aleatorio
EP082 F003 @fclopez4 Positivo Llenar etiqueta inyección de codigo aleatorio
EP083 F003 @fclopez4 Positivo Llenar titulo y descripción de una etiqueta a-priori
EP084 F003 @fclopez4 Positivo Llenar etiqueta de metadatos de google a-priori
EP085 F003 @fclopez4 Positivo Llenar etiqueta de X (twitter) a-priori
EP086 F003 @fclopez4 Positivo Llenar etiqueta de facebook a-priori
EP087 F003 @fclopez4 Positivo Llenar etiqueta inyección de codigo a-priori
EP088 F003 @fclopez4 Positivo Llenar titulo y descripción de una etiqueta (pseudo) aleatorio dinámico
EP089 F003 @fclopez4 Positivo Llenar etiqueta de metadatos de google (pseudo) aleatorio dinámico
EP090 F003 @fclopez4 Positivo Llenar etiqueta de X (twitter) (pseudo) aleatorio dinámico
EP091 F003 @fclopez4 Positivo Llenar etiqueta de facebook (pseudo) aleatorio dinámico
EP092 F003 @fclopez4 Positivo Llenar etiqueta inyección de codigo (pseudo) aleatorio dinámico

Análisis Pruebas VRT (Pruebas de Regresión Visual)

Video Proceso VRT

Video Proceso VRT

Escenarios de prueba

Funcionalidad Escenario Escenario de prueba Autor
F001 EP002 Crear post @AndresClavijoRo
F001 EP003 Editar post @AndresClavijoRo
F002 EP006 Crear Pagina @AndresClavijoRo
F002 EP007 Editar Pagina @fclopez4
F003 EP010 Crear Tags @fclopez4
F003 EP011 Editar Tags @fclopez4
F005 EP017 Crear boletín electrónico @walarconc
F005 EP018 Editar boletín electrónico @walarconc
F005 EP019 Archivar boletín electrónico @walarconc

ResembleJS

Ventajas

  • Fácil de usar
  • Permite realizar capturas a sitios web
  • Se puede integrar con relativa facilidad a cualquier API de automatización
  • Cuenta con variadas opciones de configuración tales como transparencia, excluir regiones de una imagen, umbral de comparación entre otros.

Desventajas

  • No genera reporte con las imágenes comparadas, solo generala imagen con las diferencias detectadas
  • Por defecto solo compara imágenes de hasta 1200 pixeles de ancho o de alto

BackstopJS

Ventajas

  • Genera reporte HTML con las imágenes comparadas y las diferencias encontradas
  • Permite realizar capturas a sitios web
  • Integración con playwright y puppeteer
  • Se pueden definir sets de escenarios de prueba en un archivo json
  • Se puede integrar a pipelines de CI
  • Se puede configurar el umbral de comparación en un porcentaje de 0% a 100%

Desventajas

  • Falta de ejemplos actualizados en la documentación
  • Ausencia de integración con Cypress
  • Requiere el uso de rutas absolutas para definir las imágenes de referencia y de prueba

Análisis Pruebas E2E (Extremo a Extremo)

Escenarios de prueba

ID Funcionalidad Autor Tipo escenario Escenario de prueba Evidencia Cypress Evidencia Kraken
EP001 F000 @AndresClavijoRo Positivo IniciarSesion EP001 EP001
EP002 F001 @AndresClavijoRo Positivo Crear post EP002 EP002
EP003 F001 @AndresClavijoRo Positivo Editar post EP003 EP003
EP004 F001 @AndresClavijoRo Positivo Borrar post EP004 EP004
EP005 F001 @AndresClavijoRo Positivo Listar post EP005 EP005
EP006 F002 @AndresClavijoRo Positivo Crear Pagina EP006 EP006
EP007 F002 @fclopez4 Positivo Editar Pagina EP007.mp4 EP007
EP008 F002 @fclopez4 Positivo Borrar Pagina EP008.mp4 EP008
EP009 F002 @fclopez4 Positivo Listar Pagina EP009.mp4 EP009
EP010 F003 @fclopez4 Positivo Crear Tags EP010.mp4
EP011 F003 @fclopez4 Positivo Editar Tags EP011.mp4
EP012 F003 @fclopez4 Positivo Borrar Tags EP012.mp4
EP013 F003 @fclopez4 Positivo Listar Tags EP013.mp4
EP014 F004 @walarconc Positivo Crear usuario EP014
EP015 F004 @walarconc Positivo Editar usuario EP015
EP016 F004 @walarconc Positivo Borrar usuario EP016
EP017 F005 @walarconc Positivo Crear boletín electrónico EP017
EP018 F005 @walarconc Positivo Editar boletín electrónico EP018
EP019 F005 @walarconc Positivo Archivar boletín electrónico EP019
EP020 F005 @walarconc Positivo Listar boletín electrónico EP020

API Cypress

Ventajas

  • El proceso de ejecución es secuencial y replicable
  • Documentación amplia y actualizada
  • Posibilidad de generar videos por suite de prueba ejecutada
  • Son mas rapidas que un humano
  • Su configuración y puesta en funcionamiento es super facil

Desventajas

  • Dificultad para la depuración
  • No cuenta con funcionalidad Record and replay estable

Kraken

Ventajas

  • Generación de reporte
  • Son mas rapidas que un humano
  • Ejecución paralela y replicable
  • Usa sintaxis Gherkin, por lo que de primer vistazo se puede entender las acciones que realiza

Desventajas

  • Su configuración y puesta en funcionamiento es super dificil
  • Curva de aprendizaje alta
  • No cuenta con documentación amplia ni actualizada
  • Dependencias desactualizadas
  • Dificultad para realizar ejecución secuencial (Problemas de permisos)
  • Es un envoltorio de cucumber, por lo que es mas practico usar cucumber directamente