ATDD Using Robot Framework

18,134 views

Published on

A brief introduction to Acceptance Test Driven Development and Robot Framework.

Published in: Technology, Education

ATDD Using Robot Framework

  1. 1. Acceptance Test Driven Development using Robot FrameworkPekka Klärck <peke@eliga.fi>Janne Härkönen <jth@reaktor.fi>© Copyright Nokia Siemens NetworksCreative Commons Attribution 3.0 License
  2. 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. 3. The ATDD cycle© Image copyright Elisabeth Hendrickson
  4. 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. 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. 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. 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. 8. High level architecture
  9. 9. Simple tabular syntax
  10. 10. Executable specifications
  11. 11. Data-driven test cases
  12. 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. 13. Separate test data editor (RIDE)
  14. 14. Clear reports
  15. 15. Detailed logs
  16. 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. 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. 18. Questions? Thanks!Pekka Klärck <peke@eliga.fi>Janne Härkönen <jth@reaktor.fi>

×