Advertisement
Advertisement

More Related Content

Viewers also liked(20)

Advertisement

Recently uploaded(20)

Advertisement

ATDD Using Robot Framework

  1. Acceptance Test Driven Development using Robot Framework Pekka Klärck <peke@eliga.fi> Janne Härkönen <jth@reaktor.fi> © Copyright Nokia Siemens Networks Creative Commons Attribution 3.0 License
  2. Acceptance Test Driven Development ● Common understanding ● Ubiquitous language ● Executable requirements/examples ● Living documentation ● Also known as story test driven development,  behavior driven development, executable  requirements, specification by example, ...
  3. The ATDD cycle © Image copyright Elisabeth Hendrickson
  4. Discuss phase ● Whole team is involved in discussing the  problem and the solution ● Team members gain shared understanding and  common vocabulary ● Concrete examples clarify the solution ● The examples can later be automated
  5. Development phase ● The specified examples guide the  implementation work ● Automation of the examples can be done in  parallel with feature implementation ● The whole team is responsible on automation ● In the end, all the automated examples pass  when run against the implementation 
  6. Deliver phase ● Implemented features are demonstrated to all  stakeholders ● Original examples are executed against the  produced software ● Feedback serves as input to the next  discussion phase
  7. Robot Framework ● Generic test automation framework ● Utilizes the keyword-driven testing approach ● Suitable both for "normal" automation and ATDD ● Implemented with Python ● Runs also on Jython (JVM) and IronPython (.NET) ● Open source ● Apache 2.0 License ● Sponsored by Nokia Siemens Networks ● Active development and community
  8. High level architecture
  9. Simple tabular syntax
  10. Executable specifications
  11. Data-driven test cases
  12. Key features ● Creating higher level keywords in test data ● Easy to create domain specific languages ● No programming skills needed ● Variables ● Tagging test cases ● Selecting tests, statistics, ... ● Simple test library API ● Easy to create custom libraries
  13. Separate test data editor (RIDE)
  14. Clear reports
  15. Detailed logs
  16. Rich ecosystem ● Generic test libraries ● Web testing, Swing, SWT, Windows GUIs, databases, SSH, Telnet, ... ● Build tool integration ● Outputs also in machine readable XML format ● Plugins for Jenkins/Hudson, Maven, Ant, ... ● Text editor support ● Emacs, Vim, TextMate, ...
  17. For more information ● Bridging the Communication Gap book by Gojko Adzic: http://acceptancetesting.info ● Robot Framework: http://robotframework.org ● ATDD with Robot Framework article by Craig Larman and Bas Vodde: http://a-tdd.org ● ATDD with Robot Framework demo: http://code.google.com/p/atdd-with-robot-framework ● Web testing demo with Robot Framework: http://bit.ly/rf-web-test-demo
  18. Questions? Thanks! Pekka Klärck <peke@eliga.fi> Janne Härkönen <jth@reaktor.fi>
Advertisement