Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

BDD testing with cucumber


Published on

How to do behavior driven development with cucumber, generate easy readable and understandable test reports for your business.

Published in: Technology
  • Be the first to comment

BDD testing with cucumber

  1. 1. BDD Testing with Cucumber Dev.Talk. Zürich. 19. Sept 2012
  2. 2. BDDBusiness Technology• Domain • Test driven driven development design
  3. 3. Core Principles1. 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.
  4. 4. describe thebehaviorof your softwarein a very understandableway
  5. 5. 1 Describe Behaviour 2 Write step5 Run and pass definition 4 Write code to 3 Run and fail make step pass
  6. 6. BehaviorFeature: <short description> <story> WHO? As a <role> WHAT? I want <feature> <scenario 1> WHY? so that <business <scenario n> value> Scenario: <description> Given <preconditions, context> [And] <additional preconditions> When <action, behaviour> Then <postconditions> [And] <additional postconditions>
  7. 7. Step definition• Regex based• Reusable• Cucumber gives you copy & paste code
  8. 8. Human Language support# language: deFunktionalitä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 |
  9. 9. What about Java, .net, …?Java: Cucumber-Jvm• Pure Java• Supports: Java, JavaScript, JRuby, Scala, Python, G roovy, Ioke.NET: IronRuby• Cucumber Wrapper for IronRuby
  10. 10. Testing possibilities…• Selenium browser testing• Webrat acceptance testing• Interface testing (example mozo poc)• Many many more – just take a look at the cucumber tutorials
  11. 11. More Information