BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
Testing en BDD con Python y Behave
1. Testing en BDD con Python
y Behave
by Mario Inga
@mario21ic
2. Who am I?
Mario J. Inga Cahuana
Software Developer
Miembro de @APESOL
Job: DevOps en Yarkan
Music: Metal m/
Twitter: @mario21ic
3. El problema
Criterios de aceptación de forma automatizada.
QA que solo hace pruebas funcionales
Area Dev realiza cambios a cada momento sin comunicación
con QA.
Automation es solo para Devs.
DevOps sin tests ni como cultura de colaboración entre Dev,
QA y Operaciones, es una excelente receta para el caos.
5. Behavior Driven
Development
BDD es un proceso de desarrollo de software que trata de combinar los
aspectos puramente técnicos y los de negocio, de manera que tengamos un
marco de trabajo, y un marco de pruebas, en el que los requisitos de negocio
formen parte del proceso de desarrollo.
https://www.genbetadev.com/metodologias-de-programacion/bdd-cucumber-y-gherkin-desarrollo-dirigido-por-comportamiento
6. Selenium
Automation testing
Posibilidad de ejecutar como:
IDE - play & record
Scripts - python, ruby, java, etchttp://selenium-python.readthedocs.io/locating-elements.html
7. Python
Corta curva de aprendizaje
Multiplataforma: windows, linux, mac, freebsd, etc
Multiparadigma: imperativo, funcional y poo.
Pilas cargadas (módulos de todo tipo)
Actualmente en v3.5
10. Gherkin
El lenguaje Gherkin define la estructura y una sintaxis básica para la
descripción de las pruebas que pueden ser entendidas tanto por los
integrantes técnicos del equipo como así también por: Analistas, Product
https://josepablosarco.wordpress.com/2015/03/11/lenguaje-gherkin/
11. Example
Feature: Login como postulante
Como usuario de tipo postulante deseo
hacer login en /pero no en /empresa
Scenario: Login en /
Given load path /
When put miemail and myclave
Then the url is /postulante/dashboard
Scenario: No login en /empresa
Given load /empresa
When put miemail and myclave
Then the url is /
16. Gherkin AFT
No sería mejor definir unos pasos básicos?
Poder reutilizar y extender para solo redactar nuestras
features.
QA pueda redactar las features y Automation se
encargue de mantener el framework.
Repo https://github.com/mario21ic/gherkin-aft
17. Recomendaciones
Automatizar lo que genere valor
Ejecutar en entornos limpios
Generar reportes y mejor si hay capturas.
Aplicar Integración Contínua.
Recordar que los tests son nuestra documentación
activa.