SlideShare una empresa de Scribd logo
Tests de aceptación con Cucumber

© 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Contenido
1. Tests de aceptación
2. Cucumber
3. Caso práctico

© 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Tests de aceptación






La idea viene de eXtreme Programming (XP)
Se llaman tests de aceptación porque expresan lo
que el software tiene que hacer para que los
stakeholders lo consideren “aceptable”
Por lo tanto desarrolladores y stakeholders son los
que escriben las pruebas

© 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Tests de aceptación
• Los tests unitarios nos dicen que lo que estamos
desarrollando está correcto
• Los tests de aceptación nos dicen que lo que
estamos desarrollando es lo correcto

© 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Tests de aceptación
• Aumenta el feedback  se reducen los
malentendidos
• Surge un lenguaje común que todos los
relacionados con el proyecto entienden
• Al ser escritos como ejemplos estimula la
imaginación de los participantes

© 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Cucumber
• Cucumber hace fácil leer y escribir tests de
aceptación por cualquier miembro del equipo
• Cucumber se convierte en una herramienta que
fomenta la colaboración y la comunicación
• Escribir tests de aceptación con Cucumber no son
sólo tests, son especificaciones ejecutables

© 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Cucumber
• Los tests de Cucumber pueden ser escritos y leídos
por los stakeholders, como en un documento de
requisitos
• Los tests de Cucumber pueden ser ejecutados por
una máquina y ver su nivel de cumplimiento
• La documentación se mantiene actualizada y refleja
el estado del proyecto
• Gherkin es el lenguaje que usa Cucumber para
escribir las especificaciones

© 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Cucumber
Feature: Sign up
Sign up should be quick and friendly.
Scenario: Successful sign up
New users should get a confirmation email and be
by the
site once signed in.

greeted personally

Given I have chosen to sign up
When I sign up with valid details
Then I should receive a confirmation email
And I should see a personalized greeting message
Scenario: Duplicate email
Where someone tries to create an account for an email
address that already exists.
Given I have chosen to sign up
But I enter an email address that has already registered
Then I should be told that the email is already registered
And I should be offered the option to recover my password
© 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Cucumber
• Podemos indicar que varios escenarios compartan
un mismo background

© 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Cucumber
Feature: Change PIN
As soon as the bank issues new cards to customers, they are
supplied with a Personal Identification Number (PIN) that
is randomly generated by the system.
In order to be able to change it to something they can easily
remember, customers with new bank cards need to be able to
change their PIN using the ATM.
Background:
Given I have been issued a new card
And I insert the card, entering the correct PIN
And I choose "Change PIN" from the menu
Scenario: Change PIN successfully
When I change the PIN to 9876
Then the system should remember my PIN is now 9876
Scenario: Try to change PIN to the same as before
When I try to change the PIN to the original PIN number
Then I should see a warning message
And the system should not have changed my PIN

© 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Cucumber
• Podemos indicar los datos que se usan en un
escenario en forma de tabla
Given a User "Michael Jackson" born on August 29, 1958
And a User "Elvis" born on January 8, 1935
And a User "John Lennon" born on October 9, 1940
Given these Users:
| name
| date of
| Michael Jackson | August 29,
| Elvis
| January 8,
| John Lennon
| October 9,

birth
1958
1935
1940

|
|
|
|

© 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Cucumber
• Podemos ejecutar un mismo escenario con varios valores de entrada y
de salida
Scenario Outline: Withdraw fixed amount
Given I have <Balance> in my account
When I choose to withdraw the fixed amount of <Withdrawal>
Then I should <Outcome>
And the balance of my account should be <Remaining>
Examples: Successful withdrawal
| Balance | Withdrawal | Outcome
| Remaining |
| $500
| $50
| receive $50 cash | $450
|
| $500
| $100
| receive $100 cash | $400
|
Examples: Attempt to withdraw too much
| Balance | Withdrawal | Outcome
| Remaining |
| $100
| $200
| see an error message | $100
|
| $0
| $50
| see an error message | $0
|

© 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Cucumber
• Podemos anotar los escenarios para ejecutar sólo
los que nos interesen
@slow @widgets @nightly
Scenario: Generate overnight report
Given I am logged in
And there is a report "Total widget sales
history"

© 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
© 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Enlaces de interés
• http://cukes.info/
• https://github.com/cucumber/cucumber/wiki
• http://pragprog.com/book/hwcuc/the-cucumber-book
• http://pragprog.com/book/dhwcr/cucumber-recipes

© 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Caso práctico

• https://github.com/tmoreno/tutorialcucumber

© 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
Fin

Gracias por vuestra atención
¿Alguna pregunta?

Tomás Moreno Bernal (tomas.moreno@um.es)
@tmorenobernal

© 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.

Más contenido relacionado

Destacado

En 20 minutos ... HTML5 + CSS3
En 20 minutos ... HTML5 + CSS3En 20 minutos ... HTML5 + CSS3
Medea. Metodología de desarrollo en ÁTICA
Medea. Metodología de desarrollo en ÁTICAMedea. Metodología de desarrollo en ÁTICA
Medea. Metodología de desarrollo en ÁTICA
Sección de Metodologías, Normalización y Calidad del Software
 
En 20 minutos ... Arquitectura Oracle
En 20 minutos ... Arquitectura OracleEn 20 minutos ... Arquitectura Oracle
En 20 minutos ... jBPM
En 20 minutos ... jBPMEn 20 minutos ... jBPM
En 20 minutos ... Sonar Qube: cómo de bueno es el código de tu proyecto
En 20 minutos ... Sonar Qube: cómo de bueno es el código de tu proyectoEn 20 minutos ... Sonar Qube: cómo de bueno es el código de tu proyecto
En 20 minutos ... Sonar Qube: cómo de bueno es el código de tu proyecto
Sección de Metodologías, Normalización y Calidad del Software
 
En 20 minutos ... Charla drools
En 20 minutos ... Charla droolsEn 20 minutos ... Charla drools
Experiencia de Usuario (UX)
Experiencia de Usuario (UX)Experiencia de Usuario (UX)
En 20 minutos... Buenas Practicas SSL
En 20 minutos... Buenas Practicas SSLEn 20 minutos... Buenas Practicas SSL
Auditoria en BD de las Sesiones Web
Auditoria en BD de las Sesiones WebAuditoria en BD de las Sesiones Web
En 20 minutos ... Responsive Design
En 20 minutos ... Responsive DesignEn 20 minutos ... Responsive Design
En 20 minutos ... Chrome Developer Tools
En 20 minutos ... Chrome Developer ToolsEn 20 minutos ... Chrome Developer Tools

Destacado (11)

En 20 minutos ... HTML5 + CSS3
En 20 minutos ... HTML5 + CSS3En 20 minutos ... HTML5 + CSS3
En 20 minutos ... HTML5 + CSS3
 
Medea. Metodología de desarrollo en ÁTICA
Medea. Metodología de desarrollo en ÁTICAMedea. Metodología de desarrollo en ÁTICA
Medea. Metodología de desarrollo en ÁTICA
 
En 20 minutos ... Arquitectura Oracle
En 20 minutos ... Arquitectura OracleEn 20 minutos ... Arquitectura Oracle
En 20 minutos ... Arquitectura Oracle
 
En 20 minutos ... jBPM
En 20 minutos ... jBPMEn 20 minutos ... jBPM
En 20 minutos ... jBPM
 
En 20 minutos ... Sonar Qube: cómo de bueno es el código de tu proyecto
En 20 minutos ... Sonar Qube: cómo de bueno es el código de tu proyectoEn 20 minutos ... Sonar Qube: cómo de bueno es el código de tu proyecto
En 20 minutos ... Sonar Qube: cómo de bueno es el código de tu proyecto
 
En 20 minutos ... Charla drools
En 20 minutos ... Charla droolsEn 20 minutos ... Charla drools
En 20 minutos ... Charla drools
 
Experiencia de Usuario (UX)
Experiencia de Usuario (UX)Experiencia de Usuario (UX)
Experiencia de Usuario (UX)
 
En 20 minutos... Buenas Practicas SSL
En 20 minutos... Buenas Practicas SSLEn 20 minutos... Buenas Practicas SSL
En 20 minutos... Buenas Practicas SSL
 
Auditoria en BD de las Sesiones Web
Auditoria en BD de las Sesiones WebAuditoria en BD de las Sesiones Web
Auditoria en BD de las Sesiones Web
 
En 20 minutos ... Responsive Design
En 20 minutos ... Responsive DesignEn 20 minutos ... Responsive Design
En 20 minutos ... Responsive Design
 
En 20 minutos ... Chrome Developer Tools
En 20 minutos ... Chrome Developer ToolsEn 20 minutos ... Chrome Developer Tools
En 20 minutos ... Chrome Developer Tools
 

Similar a En 20 minutos ... Tests de Aceptación con Cucumber

Tests de aceptación con cucumber
Tests de aceptación con cucumberTests de aceptación con cucumber
Tests de aceptación con cucumber
Tomás Moreno Bernal
 
Que es
Que esQue es
Que es
Nomilinea
 
Flyer general datos tecnicos equipo bis
Flyer general datos tecnicos equipo bisFlyer general datos tecnicos equipo bis
Flyer general datos tecnicos equipo bis
sicaap
 
Proyecto rh en linea
Proyecto rh en lineaProyecto rh en linea
Proyecto rh en linea
Omar Sánchez
 
Equipos de Computo Fondo Emprendedor Secretaria de Economia
Equipos de Computo Fondo Emprendedor Secretaria de EconomiaEquipos de Computo Fondo Emprendedor Secretaria de Economia
Equipos de Computo Fondo Emprendedor Secretaria de Economia
sicaap
 
Proceso Logístico Aplicado, Stakeholders, Ventaja Competitiva
Proceso Logístico Aplicado, Stakeholders, Ventaja CompetitivaProceso Logístico Aplicado, Stakeholders, Ventaja Competitiva
Proceso Logístico Aplicado, Stakeholders, Ventaja Competitiva
HYAM
 
Proyecto_hoja_2 (2).pdf
Proyecto_hoja_2 (2).pdfProyecto_hoja_2 (2).pdf
Proyecto_hoja_2 (2).pdf
DavidQuispeHuamani1
 
Propuesta Reto Revalida: Smartplace
Propuesta Reto Revalida: SmartplacePropuesta Reto Revalida: Smartplace
Propuesta Reto Revalida: Smartplace
smartplace
 
Smartplace: Reto Certificación en Línea
Smartplace: Reto Certificación en LíneaSmartplace: Reto Certificación en Línea
Smartplace: Reto Certificación en Línea
smartplace
 
Project vote Pseudoimplementacióm
Project vote PseudoimplementaciómProject vote Pseudoimplementacióm
Project vote Pseudoimplementacióm
carmensp
 
Project vote Pseudoimplementación
Project vote PseudoimplementaciónProject vote Pseudoimplementación
Project vote Pseudoimplementación
carmensp
 
Proyecto enrique
Proyecto enriqueProyecto enrique
Proyecto enrique
educaciontlx
 
Semana 1 - 2.pptx
Semana 1 - 2.pptxSemana 1 - 2.pptx
Semana 1 - 2.pptx
jhoedmon
 
Presentación Jorge Quiroga | Blacksip - eCommerce Day Bogotá 2017
Presentación Jorge Quiroga | Blacksip - eCommerce Day Bogotá 2017Presentación Jorge Quiroga | Blacksip - eCommerce Day Bogotá 2017
Presentación Jorge Quiroga | Blacksip - eCommerce Day Bogotá 2017
eCommerce Institute
 
Proyecto tics - Sistema de seguridad
Proyecto tics - Sistema de seguridadProyecto tics - Sistema de seguridad
Proyecto tics - Sistema de seguridad
Clinica Internacional
 
Actividad de aprendizaje 1.4
Actividad de aprendizaje 1.4Actividad de aprendizaje 1.4
Actividad de aprendizaje 1.4
edgar_g05
 
Propuesta en extenso para app de CFE.
Propuesta en extenso para app de CFE.Propuesta en extenso para app de CFE.
Propuesta en extenso para app de CFE.
Soluciones Integrales en Cómputo Quejxh
 
Computacion 3 cb09302 2013
Computacion 3 cb09302 2013Computacion 3 cb09302 2013
Computacion 3 cb09302 2013
Maestros Online
 
Capitulo 2 estudio de mercado.docx hacer
Capitulo 2 estudio de mercado.docx hacerCapitulo 2 estudio de mercado.docx hacer
Capitulo 2 estudio de mercado.docx hacer
Amayrani Lo Quevedo
 
Medios de Pago para e-Commerce
Medios de Pago para e-Commerce Medios de Pago para e-Commerce
Medios de Pago para e-Commerce
Javier A. Flórez Amaya
 

Similar a En 20 minutos ... Tests de Aceptación con Cucumber (20)

Tests de aceptación con cucumber
Tests de aceptación con cucumberTests de aceptación con cucumber
Tests de aceptación con cucumber
 
Que es
Que esQue es
Que es
 
Flyer general datos tecnicos equipo bis
Flyer general datos tecnicos equipo bisFlyer general datos tecnicos equipo bis
Flyer general datos tecnicos equipo bis
 
Proyecto rh en linea
Proyecto rh en lineaProyecto rh en linea
Proyecto rh en linea
 
Equipos de Computo Fondo Emprendedor Secretaria de Economia
Equipos de Computo Fondo Emprendedor Secretaria de EconomiaEquipos de Computo Fondo Emprendedor Secretaria de Economia
Equipos de Computo Fondo Emprendedor Secretaria de Economia
 
Proceso Logístico Aplicado, Stakeholders, Ventaja Competitiva
Proceso Logístico Aplicado, Stakeholders, Ventaja CompetitivaProceso Logístico Aplicado, Stakeholders, Ventaja Competitiva
Proceso Logístico Aplicado, Stakeholders, Ventaja Competitiva
 
Proyecto_hoja_2 (2).pdf
Proyecto_hoja_2 (2).pdfProyecto_hoja_2 (2).pdf
Proyecto_hoja_2 (2).pdf
 
Propuesta Reto Revalida: Smartplace
Propuesta Reto Revalida: SmartplacePropuesta Reto Revalida: Smartplace
Propuesta Reto Revalida: Smartplace
 
Smartplace: Reto Certificación en Línea
Smartplace: Reto Certificación en LíneaSmartplace: Reto Certificación en Línea
Smartplace: Reto Certificación en Línea
 
Project vote Pseudoimplementacióm
Project vote PseudoimplementaciómProject vote Pseudoimplementacióm
Project vote Pseudoimplementacióm
 
Project vote Pseudoimplementación
Project vote PseudoimplementaciónProject vote Pseudoimplementación
Project vote Pseudoimplementación
 
Proyecto enrique
Proyecto enriqueProyecto enrique
Proyecto enrique
 
Semana 1 - 2.pptx
Semana 1 - 2.pptxSemana 1 - 2.pptx
Semana 1 - 2.pptx
 
Presentación Jorge Quiroga | Blacksip - eCommerce Day Bogotá 2017
Presentación Jorge Quiroga | Blacksip - eCommerce Day Bogotá 2017Presentación Jorge Quiroga | Blacksip - eCommerce Day Bogotá 2017
Presentación Jorge Quiroga | Blacksip - eCommerce Day Bogotá 2017
 
Proyecto tics - Sistema de seguridad
Proyecto tics - Sistema de seguridadProyecto tics - Sistema de seguridad
Proyecto tics - Sistema de seguridad
 
Actividad de aprendizaje 1.4
Actividad de aprendizaje 1.4Actividad de aprendizaje 1.4
Actividad de aprendizaje 1.4
 
Propuesta en extenso para app de CFE.
Propuesta en extenso para app de CFE.Propuesta en extenso para app de CFE.
Propuesta en extenso para app de CFE.
 
Computacion 3 cb09302 2013
Computacion 3 cb09302 2013Computacion 3 cb09302 2013
Computacion 3 cb09302 2013
 
Capitulo 2 estudio de mercado.docx hacer
Capitulo 2 estudio de mercado.docx hacerCapitulo 2 estudio de mercado.docx hacer
Capitulo 2 estudio de mercado.docx hacer
 
Medios de Pago para e-Commerce
Medios de Pago para e-Commerce Medios de Pago para e-Commerce
Medios de Pago para e-Commerce
 

Último

TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
bendezuperezjimena
 
Tecnología 5G Presentación.pdf trabajo .
Tecnología 5G Presentación.pdf trabajo .Tecnología 5G Presentación.pdf trabajo .
Tecnología 5G Presentación.pdf trabajo .
asrielgamer3421
 
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdfPLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
70244530
 
Manual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computoManual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computo
mantenimientocarbra6
 
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfqedublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
larapalaciosmonzon28
 
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIAMONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
leia ereni
 
TIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololoTIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololo
KukiiSanchez
 
Second Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro TapiaSecond Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro Tapia
al050121024
 
herramientas de sitio web 3.0 2024
herramientas de sitio web 3.0  2024herramientas de sitio web 3.0  2024
herramientas de sitio web 3.0 2024
julio05042006
 
Manual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputoManual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputo
doctorsoluciones34
 
El uso de las TIC por Cecilia Pozos S..pptx
El uso de las TIC  por Cecilia Pozos S..pptxEl uso de las TIC  por Cecilia Pozos S..pptx
El uso de las TIC por Cecilia Pozos S..pptx
cecypozos703
 
Inteligencia Artificial
Inteligencia ArtificialInteligencia Artificial
Inteligencia Artificial
YashiraPaye
 
mantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptxmantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptx
MiguelAtencio10
 
Programming & Artificial Intelligence ebook.pdf
Programming & Artificial Intelligence ebook.pdfProgramming & Artificial Intelligence ebook.pdf
Programming & Artificial Intelligence ebook.pdf
Manuel Diaz
 
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
codesiret
 
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdfProjecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Festibity
 
Sitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajasSitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajas
paulroyal74
 
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador ValenciaCatalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
AMADO SALVADOR
 
Refrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y ForzadoRefrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y Forzado
NicandroMartinez2
 
Informació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdfInformació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdf
Festibity
 

Último (20)

TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
 
Tecnología 5G Presentación.pdf trabajo .
Tecnología 5G Presentación.pdf trabajo .Tecnología 5G Presentación.pdf trabajo .
Tecnología 5G Presentación.pdf trabajo .
 
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdfPLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
PLAN DE MANTENMIENTO preventivo de un equipo de computo.pdf
 
Manual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computoManual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computo
 
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfqedublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
 
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIAMONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
 
TIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololoTIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololo
 
Second Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro TapiaSecond Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro Tapia
 
herramientas de sitio web 3.0 2024
herramientas de sitio web 3.0  2024herramientas de sitio web 3.0  2024
herramientas de sitio web 3.0 2024
 
Manual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputoManual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputo
 
El uso de las TIC por Cecilia Pozos S..pptx
El uso de las TIC  por Cecilia Pozos S..pptxEl uso de las TIC  por Cecilia Pozos S..pptx
El uso de las TIC por Cecilia Pozos S..pptx
 
Inteligencia Artificial
Inteligencia ArtificialInteligencia Artificial
Inteligencia Artificial
 
mantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptxmantenimiento de chasis y carroceria1.pptx
mantenimiento de chasis y carroceria1.pptx
 
Programming & Artificial Intelligence ebook.pdf
Programming & Artificial Intelligence ebook.pdfProgramming & Artificial Intelligence ebook.pdf
Programming & Artificial Intelligence ebook.pdf
 
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
 
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdfProjecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
 
Sitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajasSitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajas
 
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador ValenciaCatalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
 
Refrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y ForzadoRefrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y Forzado
 
Informació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdfInformació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdf
 

En 20 minutos ... Tests de Aceptación con Cucumber

  • 1. Tests de aceptación con Cucumber © 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
  • 2. Contenido 1. Tests de aceptación 2. Cucumber 3. Caso práctico © 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
  • 3. Tests de aceptación    La idea viene de eXtreme Programming (XP) Se llaman tests de aceptación porque expresan lo que el software tiene que hacer para que los stakeholders lo consideren “aceptable” Por lo tanto desarrolladores y stakeholders son los que escriben las pruebas © 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
  • 4. Tests de aceptación • Los tests unitarios nos dicen que lo que estamos desarrollando está correcto • Los tests de aceptación nos dicen que lo que estamos desarrollando es lo correcto © 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
  • 5. Tests de aceptación • Aumenta el feedback  se reducen los malentendidos • Surge un lenguaje común que todos los relacionados con el proyecto entienden • Al ser escritos como ejemplos estimula la imaginación de los participantes © 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
  • 6. Cucumber • Cucumber hace fácil leer y escribir tests de aceptación por cualquier miembro del equipo • Cucumber se convierte en una herramienta que fomenta la colaboración y la comunicación • Escribir tests de aceptación con Cucumber no son sólo tests, son especificaciones ejecutables © 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
  • 7. Cucumber • Los tests de Cucumber pueden ser escritos y leídos por los stakeholders, como en un documento de requisitos • Los tests de Cucumber pueden ser ejecutados por una máquina y ver su nivel de cumplimiento • La documentación se mantiene actualizada y refleja el estado del proyecto • Gherkin es el lenguaje que usa Cucumber para escribir las especificaciones © 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
  • 8. Cucumber Feature: Sign up Sign up should be quick and friendly. Scenario: Successful sign up New users should get a confirmation email and be by the site once signed in. greeted personally Given I have chosen to sign up When I sign up with valid details Then I should receive a confirmation email And I should see a personalized greeting message Scenario: Duplicate email Where someone tries to create an account for an email address that already exists. Given I have chosen to sign up But I enter an email address that has already registered Then I should be told that the email is already registered And I should be offered the option to recover my password © 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
  • 9. Cucumber • Podemos indicar que varios escenarios compartan un mismo background © 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
  • 10. Cucumber Feature: Change PIN As soon as the bank issues new cards to customers, they are supplied with a Personal Identification Number (PIN) that is randomly generated by the system. In order to be able to change it to something they can easily remember, customers with new bank cards need to be able to change their PIN using the ATM. Background: Given I have been issued a new card And I insert the card, entering the correct PIN And I choose "Change PIN" from the menu Scenario: Change PIN successfully When I change the PIN to 9876 Then the system should remember my PIN is now 9876 Scenario: Try to change PIN to the same as before When I try to change the PIN to the original PIN number Then I should see a warning message And the system should not have changed my PIN © 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
  • 11. Cucumber • Podemos indicar los datos que se usan en un escenario en forma de tabla Given a User "Michael Jackson" born on August 29, 1958 And a User "Elvis" born on January 8, 1935 And a User "John Lennon" born on October 9, 1940 Given these Users: | name | date of | Michael Jackson | August 29, | Elvis | January 8, | John Lennon | October 9, birth 1958 1935 1940 | | | | © 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
  • 12. Cucumber • Podemos ejecutar un mismo escenario con varios valores de entrada y de salida Scenario Outline: Withdraw fixed amount Given I have <Balance> in my account When I choose to withdraw the fixed amount of <Withdrawal> Then I should <Outcome> And the balance of my account should be <Remaining> Examples: Successful withdrawal | Balance | Withdrawal | Outcome | Remaining | | $500 | $50 | receive $50 cash | $450 | | $500 | $100 | receive $100 cash | $400 | Examples: Attempt to withdraw too much | Balance | Withdrawal | Outcome | Remaining | | $100 | $200 | see an error message | $100 | | $0 | $50 | see an error message | $0 | © 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
  • 13. Cucumber • Podemos anotar los escenarios para ejecutar sólo los que nos interesen @slow @widgets @nightly Scenario: Generate overnight report Given I am logged in And there is a report "Total widget sales history" © 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
  • 14. © 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
  • 15. Enlaces de interés • http://cukes.info/ • https://github.com/cucumber/cucumber/wiki • http://pragprog.com/book/hwcuc/the-cucumber-book • http://pragprog.com/book/dhwcr/cucumber-recipes © 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
  • 16. Caso práctico • https://github.com/tmoreno/tutorialcucumber © 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.
  • 17. Fin Gracias por vuestra atención ¿Alguna pregunta? Tomás Moreno Bernal (tomas.moreno@um.es) @tmorenobernal © 2013. Área de las Tecnologías de la Información y las Comunicaciones Aplicadas.