18
Acceptance Test Driven Development using Robot Framework Pekka Klärck <[email protected]> Janne Härkönen <[email protected]> © Copyright Nokia Siemens Networks Creative Commons Attribution 3.0 License

ATDD Using Robot Framework

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: ATDD Using Robot Framework

Acceptance Test Driven Development

using

Robot Framework

Pekka Klärck <[email protected]>Janne Härkönen <[email protected]>

© Copyright Nokia Siemens NetworksCreative Commons Attribution 3.0 License

Page 2: ATDD Using Robot Framework

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, ...

Page 3: ATDD Using Robot Framework

The ATDD cycle

© Image copyright Elisabeth Hendrickson

Page 4: ATDD Using Robot Framework

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

Page 5: ATDD Using Robot Framework

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 

Page 6: ATDD Using Robot Framework

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

Page 7: ATDD Using Robot Framework

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

Page 8: ATDD Using Robot Framework

High level architecture

Page 9: ATDD Using Robot Framework

Simple tabular syntax

Page 10: ATDD Using Robot Framework

Executable specifications

Page 11: ATDD Using Robot Framework

Data-driven test cases

Page 12: ATDD Using Robot Framework

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

Page 13: ATDD Using Robot Framework

Separate test data editor (RIDE)

Page 14: ATDD Using Robot Framework

Clear reports

Page 15: ATDD Using Robot Framework

Detailed logs

Page 16: ATDD Using Robot Framework

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, ...

Page 17: ATDD Using Robot Framework

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

Page 18: ATDD Using Robot Framework

Questions?Thanks!

Pekka Klärck <[email protected]>Janne Härkönen <[email protected]>