Weitere ähnliche Inhalte
Ähnlich wie En 20 minutos ... Tests de Aceptación con Cucumber
Ähnlich wie En 20 minutos ... Tests de Aceptación con Cucumber (20)
Kürzlich hochgeladen (20)
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.
- 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.