Anatomía de un framework de automatización de pruebas
En este taller haremos, por un lado, una introducción metodológica sobre la automatización de pruebas y luego repasaremos los aspectos técnicos que deben ser considerados en el diseño de un framework. Sumaremos a esta experiencia algunas prácticas complementarias como BDD, CI y DevOps.
Por otro lado, a continuación haremos una breve práctica con todo el toolset descrito previamente. Aunque no es obligatorio, recomendamos un dominio mínimo en los siguientes temas;
Programación orientada a objetos.
Sistemas de control de version de código (idealmente Git).
Comandos Bash básicos.
Conocimientos básicos de HTML y Rest APIs.
Las máquinas de los asistentes van a necesitar al menos 8GB de RAM y cualquier procesador dual core de unos 2Ghz con tecnología de virtualización activada. Además, necesitaremos al menos 50GB de disco duro libre. Seria ideal que también traigan un pendrive de 8GB dado que necesitamos usar una imagen de linux para virtualizar.
Es necesario que los asistentes vengan con el siguiente software al menos descargado (idealmente instalado):
Java JDK 8.
Eclipse IDE.
Vagrant.
VirtualBox.
Chrome.
Git.
Todas últimas versiones excepto la JVM.
Expositor: Marcelo Corpucci
2. 2
Centros de Ingeniería en Argentina, India, Ucrania, USA,
Canadá, Polonia, Eslovaquia, Croacia e Israel.
11.000 colaboradores a nivel global.
Nos especializamos en UX, Mobile, Business Integration,
Data Transformation, Big Data y Analytics.
6. 6
• Es una actividad más de QC.
• Hace uso de software específico para ejecutar pruebas.
• Parte de la ejecución implica analizar e informar resultados.
• Es complementaria con las actividades de QC.
En qué consiste la automatización de pruebas?
7. 7
• Permite eliminar las tareas repetitivas y propensas a error
humano.
• Permite liberar tiempo de las actividades de testing, para
hacer foco en actividades que dependen del intelecto humano.
• Permite, además de detectar errores, evitar que éstos se
propaguen en el ciclo de vida del software.
Beneficios de la automatización de pruebas.
9. 9
Para que una arquitectura de
tests automatizados sea
robusta, se deben seguir los
mismos principios y buenas
prácticas de programación.
Caracterísiticas técnicas
20. 20
Una vez descargado el Vagrant Package:
• Importar el package para que nos quede disponible como base
box:
$ vagrant box add test_env file:///<directorio donde está el archivo test_env>
Poniendo a punto el ambiente de pruebas
Más info:
https://www.vagrantup.com/docs/boxes.html
21. 21
Una vez descargado el Vagrantfile:
• Ir, en la consola, al directorio donde se encuentra el archivo.
Levantar el ambiente de pruebas:
$ vagrant up
Poniendo a punto el ambiente de pruebas
Más info:
https://www.vagrantup.com/docs/vagrantfile/
22. 22
El repositorio del código fuente del framework se encuentra en
Vagrant:
Ir, usando la consola, al directorio donde queramos descargar el
código fuente:
$ git clone http://127.0.0.1:1234/root/effective-testing_test-suite.git
Descargando el código fuente de nuestro framework
23. 23
Consigna:
Implementar los tests que se encuentran en el branch ejercicio:
$ git checkout remotes/origin/ejercicio
$ git checkout -b ejercicio
Agregando tests funcionales a nuestro framework