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.

ATDD Using Robot Framework

22,458 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>

×