SlideShare una empresa de Scribd logo
3
Lo más leído
11
Lo más leído
16
Lo más leído
Testing en BDD con Python
y Behave
by Mario Inga

@mario21ic
Who am I?
Mario J. Inga Cahuana
Software Developer
Miembro de @APESOL
Job: DevOps en Yarkan
Music: Metal m/
Twitter: @mario21ic
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.
Testing
Unit
Integration
Functional
End to end
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
Selenium
Automation testing
Posibilidad de ejecutar como:
IDE - play & record
Scripts - python, ruby, java, etchttp://selenium-python.readthedocs.io/locating-elements.html
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
Drivers
Firefox https://github.com/mozilla/geckodriver/
releases/
Chrome https://sites.google.com/a/chromium.org/
chromedriver/
IE https://github.com/SeleniumHQ/selenium/wiki/
InternetExplorerDriver
PhantomJS http://phantomjs.org/download.html
Behave
Desarrollado en Python
Interpreta lenguaje Gherkin
Facilidad de integración
Hooks before y after
http://pythonhosted.org/behave/
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/
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 /
Feature
Redactamos el feature de forma puntual
Extensión “*.feature” ejem: login.feature
En la carpeta feature/
Scenario
Redactamos en una sola línea el caso, como si fuera
mi test case.
Ejem:
Login en / como postulante
Login en /empresa como postulante
Steps
Definimos los pasos de cada Scenario, mediante los:
Given - Dado
When - Cuando
Then - Entonces
Demo
https://github.com/mario21ic/testing-bdd-meetup
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
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.
Preguntas?
@mario21ic

Más contenido relacionado

Similar a Testing en BDD con Python y Behave (20)

PDF
Automatización de interfaces e introducción a bdd
Jorge Ortiz
 
PDF
Taller evento TestingUY 2015 - Gestión de Casos de Prueba con TESTLINK
TestingUy
 
PDF
Meetup TestingUy 2017 - Cuadrantes de testing ágil + BDD
TestingUy
 
PDF
UNQ - Tecnicatura en Programación Informática - Trabajo de Inserción Profesional
Nahuel Garbezza
 
PPTX
Testing técnico - Automatización en web y mobile para pruebas funcionales y p...
Abstracta
 
PPTX
Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe...
Federico Toledo
 
PDF
BDD y tests automatizados
Sofia Swidarowicz
 
PDF
Curso TDD Ruby on Rails #02: Test Driven Development
Alberto Perdomo
 
PPTX
Test Unitarios y E2E front y Back
Eric Zeidan
 
PPTX
Software Quality Assurance
will2294
 
PDF
Tests funcionales con Geb
Alea Soluciones, S.L.
 
PDF
Selenium & Drupal
Alberto Torreblanca Villavicencio
 
PDF
Las mejores herramientas para realizar pruebas de software
Universidad Militar Nueva Granada-Universidad de Cundinamarca
 
PDF
Meetup bdd & tdd: aprovecha_su_poder
Eduardo Riol
 
PDF
Crowdar - Introducción a BDD
Javier Re
 
PDF
[ES] webcat 2014-03 Demystifying Development Techniques
Eduardo Turiño
 
PDF
Introduccion al desarrollo guiado por comportamiento
Alejandro Hernández
 
PDF
Vision práctica del BDD (Behaviour Driven Design) para agilizar el proceso de...
Software Guru
 
PDF
Taller de Simpletest - Drupal Day Valencia 2012
Juampy NR
 
PPTX
Herramientas Digitales
Jonnathan Carrasco
 
Automatización de interfaces e introducción a bdd
Jorge Ortiz
 
Taller evento TestingUY 2015 - Gestión de Casos de Prueba con TESTLINK
TestingUy
 
Meetup TestingUy 2017 - Cuadrantes de testing ágil + BDD
TestingUy
 
UNQ - Tecnicatura en Programación Informática - Trabajo de Inserción Profesional
Nahuel Garbezza
 
Testing técnico - Automatización en web y mobile para pruebas funcionales y p...
Abstracta
 
Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe...
Federico Toledo
 
BDD y tests automatizados
Sofia Swidarowicz
 
Curso TDD Ruby on Rails #02: Test Driven Development
Alberto Perdomo
 
Test Unitarios y E2E front y Back
Eric Zeidan
 
Software Quality Assurance
will2294
 
Tests funcionales con Geb
Alea Soluciones, S.L.
 
Las mejores herramientas para realizar pruebas de software
Universidad Militar Nueva Granada-Universidad de Cundinamarca
 
Meetup bdd & tdd: aprovecha_su_poder
Eduardo Riol
 
Crowdar - Introducción a BDD
Javier Re
 
[ES] webcat 2014-03 Demystifying Development Techniques
Eduardo Turiño
 
Introduccion al desarrollo guiado por comportamiento
Alejandro Hernández
 
Vision práctica del BDD (Behaviour Driven Design) para agilizar el proceso de...
Software Guru
 
Taller de Simpletest - Drupal Day Valencia 2012
Juampy NR
 
Herramientas Digitales
Jonnathan Carrasco
 

Más de Mario IC (20)

PDF
Testing Day Peru 2025 Introducción al testing en Infrastructure as Code
Mario IC
 
PDF
RAG en AWS llevando la IA Generativa al Siguiente Nivel
Mario IC
 
PPTX
Seguridad Digital un encuentro con la Criptografía de la mano de AWS KMS
Mario IC
 
PPTX
AWS Community Day Peru 2024 - Generative IA con AWS Bedrock + Langchain
Mario IC
 
PPTX
Pentesting Kubernetes con AWS EKS GuardDuty Detective ECR e Inspector
Mario IC
 
PPTX
Dominando AWS KMS desde cifrado básico hasta firma avanzada - aws community d...
Mario IC
 
PPTX
Aws Security Latam - Criptografia con KMS
Mario IC
 
PDF
Aws Community Day Guatemala Criptografia con AWS KMS
Mario IC
 
PDF
Testing Ansible Playbook con Molecule + TestInfra
Mario IC
 
PDF
Automatización de tareas con Ansible
Mario IC
 
PDF
Earthly, Dockerfile con esteroides
Mario IC
 
PDF
Infraestructura como Codigo para Developers
Mario IC
 
PDF
Terraspace, the definitive terraform framework
Mario IC
 
PDF
Manejo de packages en Kubernetes con Helm
Mario IC
 
PPTX
Cloud native Computing Perú Octubre
Mario IC
 
PDF
Agiles Peru 2019 - Infrastructure As Code
Mario IC
 
PDF
Workshop Infrastructure as Code - Suestra
Mario IC
 
PDF
Docker Compose to Production with Docker Swarm
Mario IC
 
PDF
GDG Lima - Docker Compose
Mario IC
 
PDF
Docker Lima meetup - 22 de junio
Mario IC
 
Testing Day Peru 2025 Introducción al testing en Infrastructure as Code
Mario IC
 
RAG en AWS llevando la IA Generativa al Siguiente Nivel
Mario IC
 
Seguridad Digital un encuentro con la Criptografía de la mano de AWS KMS
Mario IC
 
AWS Community Day Peru 2024 - Generative IA con AWS Bedrock + Langchain
Mario IC
 
Pentesting Kubernetes con AWS EKS GuardDuty Detective ECR e Inspector
Mario IC
 
Dominando AWS KMS desde cifrado básico hasta firma avanzada - aws community d...
Mario IC
 
Aws Security Latam - Criptografia con KMS
Mario IC
 
Aws Community Day Guatemala Criptografia con AWS KMS
Mario IC
 
Testing Ansible Playbook con Molecule + TestInfra
Mario IC
 
Automatización de tareas con Ansible
Mario IC
 
Earthly, Dockerfile con esteroides
Mario IC
 
Infraestructura como Codigo para Developers
Mario IC
 
Terraspace, the definitive terraform framework
Mario IC
 
Manejo de packages en Kubernetes con Helm
Mario IC
 
Cloud native Computing Perú Octubre
Mario IC
 
Agiles Peru 2019 - Infrastructure As Code
Mario IC
 
Workshop Infrastructure as Code - Suestra
Mario IC
 
Docker Compose to Production with Docker Swarm
Mario IC
 
GDG Lima - Docker Compose
Mario IC
 
Docker Lima meetup - 22 de junio
Mario IC
 
Publicidad

Último (9)

PPTX
LAD-Presentation - Architectural Fitness Function - Nico & Grego.pptx
Nicolas Ricardo Archila Gomez
 
PPT
Firewalls_tema_de_tecnoligias_de_la.I.ppt
70634804
 
PPTX
Presentación Mi proyecto Final Femenino Delicado Rosa y Nude (2).pptx
jamelyhernandez1005
 
PPTX
UPS TRIFASICOS-PRESENTACION departamaetp it.pptx
KATIALOAMIEUCEDAHERN
 
PPTX
Presentacion Python en Microbit (Primeros pasos)
rcamilot
 
PPT
ONSULTA A PARTIR DE MULTIPLES TABLAS .ppt
42982335
 
PPTX
Tema6 estructuras condicionales básicas pseint.pptx
lmcsenatic
 
PPTX
sistemas información caracteríaticas-1.pptx
forozco17fo2
 
PPTX
Análisis, diseño y verificación de algoritmos.pptx
shaypdm
 
LAD-Presentation - Architectural Fitness Function - Nico & Grego.pptx
Nicolas Ricardo Archila Gomez
 
Firewalls_tema_de_tecnoligias_de_la.I.ppt
70634804
 
Presentación Mi proyecto Final Femenino Delicado Rosa y Nude (2).pptx
jamelyhernandez1005
 
UPS TRIFASICOS-PRESENTACION departamaetp it.pptx
KATIALOAMIEUCEDAHERN
 
Presentacion Python en Microbit (Primeros pasos)
rcamilot
 
ONSULTA A PARTIR DE MULTIPLES TABLAS .ppt
42982335
 
Tema6 estructuras condicionales básicas pseint.pptx
lmcsenatic
 
sistemas información caracteríaticas-1.pptx
forozco17fo2
 
Análisis, diseño y verificación de algoritmos.pptx
shaypdm
 
Publicidad

Testing en BDD con Python y Behave