Home - dcastrog2uniandes/Ghost GitHub Wiki
Nombre | Correo |
---|---|
David Castro González | [email protected] |
Nelson Barreto Pastrana | [email protected] |
Oscar U. Tobar Rios | [email protected] |
Daniel Andres Huertas Mercado | [email protected] |
Ver documento Estrategia de pruebas.pdf
ver PowerPoint EstrategiaPruebas.pptx
- Aplicación bajo pruebas: Ghost
- Versiones: 4.35 y 4.44
git clone https://github.com/dcastrog2uniandes/Ghost.git
Los comandos que se deben ingresar en los pasos posteriores (desde la consola de comandos) se deben ejecutar en la carpeta donde clonó su repositorio dentro de la subcarpeta Ghost
En primer lugar se deben instalar las dos versiones de Ghost. Una opción es instalar en su equipo local las dos images Docker, una por cada versión. Para instalar Docker, descargue el ejecutable desde la página oficial y siga las instrucciones de acuerdo a su sistema operativo:
Windows: https://docs.docker.com/desktop/windows/install/
Linux: https://docs.docker.com/desktop/linux/install/
Mac: https://docs.docker.com/desktop/mac/install/
- Una vez instalado Docker Desktop, cree una carpeta e incluya un archivo llamado docker-compose.yaml con el siguiente código:
version: "3.9"
services:
ghostv43:
image: ghost:4.35
volumes:
- ./g3:/var/lib/ghost/content
restart: always
ports:
- 3001:2368
expose:
- 3001
ghostv44:
image: ghost:4.44.0
volumes:
- ./g4:/var/lib/ghost/content
restart: always
ports:
- 3002:2368
expose:
- 3002
y ejecute el siguiente comando para desplegar el contenedor con ambas instancias:
docker-compose up
- Verifique en Docker Desktop que se haya creado un contenedor con las dos instancias de Ghost y que estén corriendo en puertos diferentes.
- Compruebe en su navegador la correcta ejecución de ambas instancias:
Versión 4.44 = http://localhost:3002/ghost/
Versión 4.35 = http://localhost:3001/ghost/
- La primera vez que corre Ghost de manera local, debe crear el usuario administrador. Siga las instrucciones y por favor registre los siguientes datos:
email: [email protected]
contraseña: Mari123456 - Inicie sesión y compruebe que puede acceder al dashboard de administración, en ambas instancias de Ghost.
Para poder instalar las dos API's de automatización que se serán empleadas para ejecutar las pruebas, es necesario que tenga instalado el manejador de dependencias Node JS. Para esto, vaya a la página oficial, descárguelo y siga las instrucciones:
node: https://nodejs.org/en/
Kraken es una herramienta de código abierto para realizar pruebas automáticas del tipo E2E con aplicaciones móviles para Android y aplicaciones WEB
- Para instalar la herramienta, abra una terminal, ubíquese en la carpeta Kraken e ingrese el siguiente comando:
npm install kraken-node
- Una vez tenga en su espacio local el código de este repositorio, desde la carpeta kraken ejecute el siguiente comando para instalar las dependencias necesarias:
npm install
Dado que la instalación de Cypress tiene un tamaño significativo, se recomienda que, por lo general, quien vaya a utilizar un proyecto de Cypress cuente con las herramientas de forma global en su máquina.
- Ejecute el siguiente comando para instalar Cypress de manera global:
npm install -g cypress
Para estas pruebas no se requiere la ejecución de algún software, de acuerdo a la estrategia de pruebas se definieron 20 escenarios en los cuales se evaluaron las principales funcionalidades de Ghost lo que dio por resultado:
Para ejecutar las pruebas exploratorias utilizando pruebas aleatorias automatizadas con Monkeys-Cypress ejecute los siguientes pasos:
- Descargue el repositorio de esta pagina ( https://github.com/dcastrog2uniandes/Ghost.git )
- Desde la consola de comandos ubíquese en la carpeta del repositorio dentro de la carpeta
Monkeys/monkey-cypress
- Ejecutar los siguientes comandos:
npm install
cypress run -C monkey-config.json
cypress run -C smart-monkey-config.json
Una vez finalice la prueba en la carpeta Monkeys/monkey-cypress/results
quedará el reporte y el video del Monkey
Para ejecutar las pruebas exploratorias utilizando RIPuppet siga los pasos:
- Desde la consola de comandos ubíquese en la carpeta del repositorio dentro de la carpeta
Rippers/RIPuppetCoursera/
- Ejecutar los siguientes comandos:
npm install
node index.js
Para poder ver el contenido del reporte en su navegador web, debe servir los archivos en un puerto. Esto quiere decir, crear un servidor sencillo que aloje los archivos en su máquina local. Este proceso es bastante sencillo y para lograrlo. En una terminal, ubíquese en el directorio Rippers/RIPuppetCoursera/results
. Desde allí, ejecute el siguiente comando para instalar la librería http-server de Node.js:
npm install -g http-server
Ahora que cuenta con esta herramienta en su computadora, ejecute el siguiente comando para crear un servidor local con los archivos del directorio actual:
http-server
Desde su terminal podrá ver un resultado similar al siguiente, donde le muestra las URL donde puede ingresar a ver los resultados :
Available on:
http://172.31.48.1:8080
http://192.168.1.11:8080
http://127.0.0.1:8080
Hit CTRL-C to stop the server
Una vez finalice la prueba en la carpeta Rippers/RIPuppetCoursera/results
. Haga clic en el archivo report.html
y podrá ver el reporte. Este contiene tres secciones: las páginas web visitadas, el detalle de un estado y los errores del estado seleccionado. La carpeta **Rippers/RIPuppetCoursera/reports **tiene la siguientes estructura:
2022-05-27T01.37.03.223Z/
chromium/
screenshots/
0.png
1.png
n.png
tempcrhomium/
report.html
graph.json
webkit/
screenshots/
0.png
1.png
n.png
report.html
graph.json
El nombre de la carpeta está dada por la fecha y la hora de cuando se ejecuta la prueba.
A continuación se muestra una imagen de las generadas que representa el grafo con los nodos visitados en la prueba
- En la carpeta **Kraken ** encontrará los directorios grupo_features_1, grupo_features_2, grupo_features_3 y grupo_features_4 para los cuales debe hacer lo siguiente.
- Tomar el primer directorio que aparezca (EJ: Kraken/grupo_features_1 ) **renombrarlo **por Kraken/features
- Ingrese al directorio Kraken/features/ejecutar (están los features con los que se validara las funcionalidades más importantes de Ghost), mover el primer archivo al directorio Kraken/features
- Ingrese al shell bash y en la carpeta Kraken ejecutar el siguiente comando
./node_modules/kraken-node/bin/kraken-node run
- Al finalizar la prueba borre el archivo que esta en Kraken/features
- Ejecute la siguiente prueba como se describe en los pasos 3 y 4. Hasta que no tenga mas archivos. Cuando la carpeta del grupo de features este vacía Bórrela.
- Una vez se ha terminado de ejecutar todas las pruebas de este grupo, borre la carpeta Kraken/features y repetir los pasos 2 al 5 con los otros 3 grupos de features.
Nota:
- En caso de presentar errores, puede consultar la guía de instalación oficial de Kraken en el siguiente enlace:
https://thesoftwaredesignlab.github.io/AutTesingCodelabs/w5/krakenWeb/index.html
- Si llega a presentar un error relacionado con adb, por favor haga la instalación como se sugiere en el siguiente vídeo:
https://www.youtube.com/watch?v=tYY7FTV31vM
- Para ejecutar las pruebas tiene las siguientes dos opciones:
2.1. Modo headless: ingrese a la carpetaGhost/Cypress/
y ejecute el siguiente comando:
2.2. Modo aplicación: ejecute el siguiente comando desde cualquier ubicación:cypress run --headless
Seleccione la carpetacypress open
Ghost/Cypress/cypress/integration/
y vera que se listan todos los escenarios definidos para las pruebas, seleccione el que desea ejecutar
Resemble.js es una herramienta que permite realizar análisis visual sobre imágenes haciendo uso de JavaScript y HTML. Esta se distribuye como una librería de Node.js, permite extraer información sobre una imagen y también realizar comparaciones entre imágenes.
Tenga en cuenta que antes de ejecutar estas pruebas, primero debe haber ejecutado las pruebas en Kraken y Cypress, debido a que allí se generar los respectivos screenshots que serán utilizados por Resemble para la regresión visual. Los screenshots se encuentran en la siguiente ruta y tienen la siguiente estructura:
Kraken/
reports/
scenario{{numero_escenario}}/
V4.35/
-1.png
-2.png
- ....
-n.png
V4.44
-1.png
-2.png
- ....
-n.png
Donde {{numero_escenario}}
es el numero del escenario. Cada escenario contiene dos carpetas, una para cada versión y estas contienen los respectivos screenshots.
Ubiquese en la carpeta RTV_ResembleJS y ejecute el siguiente comando:
npm install
Finalizada la instalación de las dependencias necesarias para ejecutar ResembleJS, ejecutar en la carpeta RTV_ResembleJS el siguiente comando
node index.js
Esto generará el reporte y la comparación de las respectivas imágenes para todos los escenarios definidos. Note que en la carpeta RTV_ResembleJS/results
se encuentran las imágenes resultantes de la comparación y el reporte generado por cada escenario, el cual tiene la siguiente estructura:
RTV_ResembleJS/
results/
scenario{{numero_escenario}}/
compare/
-compare-1.png
-compare-2.png
- ....
-compare-n.png
-index.txt
-report.html
En donde {{numero_escenario}}
es el número del escenario. Cada carpeta escenario{{numero_escenario}}
contiene una carpeta compare
que aloja las imágenes comparadas y reporte html.
Las pruebas se realizaron para la versión de Ghost 4.44. Si aún no ha instalado Ghost, por favor siga las instrucciones que se detallan en la sección Instalaciones necesarias
La explicación para correr las pruebas se encuentran en la Wiki: Data Validation Testing
Se evidenciaron varios issues al ejecutar las pruebas de regresión y para ver sus detalles vaya a la sección issues