• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
En 20 minutos ... Tests de Aceptación con Cucumber
 

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

on

  • 409 views

 

Statistics

Views

Total Views
409
Views on SlideShare
211
Embed Views
198

Actions

Likes
0
Downloads
0
Comments
0

2 Embeds 198

http://www.scoop.it 197
http://translate.googleusercontent.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution-NonCommercial LicenseCC Attribution-NonCommercial License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

    • 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.