User Acceptance Testing Driven by Humans telling Stories (with RSpec)

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    1 Favorite

    User Acceptance Testing Driven by Humans telling Stories (with RSpec) - Presentation Transcript

    1. http://citconf.com/amsterdam2008/ User Acceptance Testing Driven by Humans telling Stories (with RSpec) Jean-Michel Garnier | 21croissants.com
    2.  
    3. QA Biz Analyst Ruby on Rails web app $sel.click('foo') wait_for('x$%¬') The user wants something for sure but I have no clue if developpers can implement it or not... User story As a User I want ... Scenario 1 Scenario 2 end user developper
    4. Rspec runs “plain text” Stories Story: Logging in As an anonymous user I want to login So that I can ... Scenario: 1. When she goes to the page '/login' ... same jargon! end user developper
    5. Dan North Story format
        • Login feature
          • As an anonymous user with an account
          • I want to login to the application
          • So that I can access my personal data
    6. Scenarios: Acceptance Criteria
        • Scenario 1: User inputs an invalid password
        • Given she goes to the page '/login'
        • When she fills in 'login' with 'stéphanie@pouet.fr'
        • When she fills in 'password' with 'testtest'
        • When she clicks the 'Log in' button
        • Then she should see the error message 'Couldn't log you'
        • Scenario 2: User inputs an invalid email
        • ...
    7. GIVEN: context, pre-conditions
          • Scenario 1: User inputs an invalid password
          • Given she goes to the page '/login'
          • When she fills in 'login' with 'stéphanie@pouet.fr'
          • When she fills in 'password' with 'testtest'
          • When she clicks the 'Log in' button
          • Then she should see the error message 'Couldn't log you'
    8. WHEN: event, action
          • Scenario 1: User inputs an invalid password
          • Given she goes to the page '/login'
          • When she fills in 'login' with 'stéphanie@pouet.fr'
          • When she fills in 'password' with 'testtest'
          • When she clicks the 'Log in' button
          • Then she should see the error message 'Couldn't log you'
    9. THEN: outcome, post conditions
          • Scenario 1: User inputs an invalid password
          • Given she goes to the page '/login'
          • When she fills in 'login' with 'stéphanie@pouet.fr'
          • When she fills in 'password' with 'testtest'
          • When she clicks the 'Log in' button
          • Then she should see the error message 'Couldn't log you'
    10. RSpec
      • BDD Framework written in
      • also works on
    11. Binding plain text / RSpec Given she goes to the page ' /login '
    12. More binding
    13. Write your own DSL
      • GIVEN ..
      • WHEN ..
      • THEN ..
    14. Demo
    15. Philippe Hanrigou reports
    16. Cucumber by Aslak Hellesøy
      • http://github.com/aslakhellesoy/cucumber/
      • Rewrite of story runner
      • more user friendly
      • inspired by FITNESS

    + garnierjmgarnierjm, 2 years ago

    custom

    1244 views, 1 favs, 1 embeds more stats

    my slides from http://citconf.com/amsterdam2008/ pr more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 1244
      • 1231 on SlideShare
      • 13 from embeds
    • Comments 0
    • Favorites 1
    • Downloads 35
    Most viewed embeds
    • 13 views on http://21croissants.blogspot.com

    more

    All embeds
    • 13 views on http://21croissants.blogspot.com

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories