Upgrade to Pro — share decks privately, control downloads, hide ads and more …

BDD Testing With Cucumber

Daniel Kummer
September 19, 2012

BDD Testing With Cucumber

A short presentation on how bdd testing with cucumber works and helps you generate easy to understand tests for your business stakeholders

Daniel Kummer

September 19, 2012
Tweet

More Decks by Daniel Kummer

Other Decks in Programming

Transcript

  1. Core Principles 1.  Enough is enough do as much planning,

    analysis, and design as you need, but no more. 2.  Deliver stakeholder value everything you do should deliver value or increase your ability to do so. 3.  It’s a behavior everyone involved should have the same way of talking about the system and what it does.
  2. 1 Describe Behaviour 2 Write step definition 3 Run and

    fail 4 Write code to make step pass 5 Run and pass
  3. Behavior Feature: <short description> <story> <scenario 1> <scenario n> WHO?

    As a <role> WHAT? I want <feature> WHY? so that <business value> Scenario:  <descrip*on>    Given  <precondi*ons,  context>    [And]  <addi*onal  precondi*ons>    When  <ac*on,  behaviour>    Then  <postcondi*ons>    [And]  <addi*onal  postcondi*ons>  
  4. Human Language support # language: de Funktionalität: Addition Um dumme

    Fehler zu vermeiden möchte ich als Matheidiot die Summe zweier Zahlen gesagt bekommen Szenariogrundriss: Zwei Zahlen hinzufügen Angenommen ich habe <Eingabe_1> in den Taschenrechner eingegeben Und ich habe <Eingabe_2> in den Taschenrechner eingegeben Wenn ich <Knopf> drücke Dann sollte das Ergebniss auf dem Bildschirm <Ausgabe> sein Beispiele: | Eingabe_1 | Eingabe_2 | Knopf | Ausgabe | | 20 | 30 | add | 50 | | 2 | 5 | add | 7 | | 0 | 40 | add | 40 |
  5. What about Java, .net, …? Java: Cucumber-Jvm •  Pure Java

    •  Supports: Java, JavaScript, JRuby, Scala, Python, Groovy, Ioke .NET: IronRuby •  Cucumber Wrapper for IronRuby
  6. Testing possibilities… •  Selenium browser testing •  Webrat acceptance testing

    •  Interface testing (example mozo poc) •  Many many more – just take a look at the cucumber tutorials