Robot Framework

Robot Framework on geneerinen testiautomaatio-framework hyväksymistestaukseen ja hyväksymistestausvetoiseen ohjelmistokehitykseen (Acceptance test-driven development, ATDD). Robot Framework käyttää avainsanapohjaista rakennetta testien kuvaamiseen (Keyword-driven testing, KDT).

Historia 
Robot Frameworkin kehitys alkoi Pekka Klärckin diplomityöstä vuonna 2005. Ensimmäinen versio kehitettiin samana vuonna Nokia Networksilla. Versio 2.0 julkaistiin avoimena lähdekoodina 24. kesäkuuta 2008 ja viimeisin versio 3.0.2 julkaistiin 7. helmikuuta 2017 .

Robot Framework on kirjoitettu Python-ohjelmointikielellä ja sillä on aktiivinen kehittäjäyhteisö. Se on julkaistu Apache License 2.0 alaisena ja se on saatavilla osoitteessa robotframework.org. Nykyisin työkalun kehitystä jatkaa Robot Framework Foundation, joka myös järjesti vuonna 2018 Helsingissä Robot Framework -aiheisen konferenssin RoboConin.

Kuvaus
Testitapausten askeleet kuvataan avainsanoilla, joita voidaan kirjoittaa taulukkomaisesti allekkain. Taulukoiden formaatti voi olla tekstiä, HTML, tab-separated values (TSV), tai reStructuredText (reST). Taulukoiden muokkaamiseen on kehitetty Robot Frameworkin integroitu ohjelmointiympäristö RIDE.

Avainsanojen toteutus voidaan tehdä Python, Java tai .Net ohjelmointikielillä. Muita ohjelmointikieliä, kuten Perl, JavaScript tai PHP, voidaan myös käyttää Remote Library Interfacen  kautta.

Esimerkkejä 

Seuraava testitapaus implementoi Hello world esimerkin:

Kirjoitettuna taulukkoon:

*** Test Cases ***
Demo
    Log  Hello world

Log on sisäänrakennettu avainsana, joka kirjoittaa sille annetun parametrin Robot Frameworkin luomaan testilokiin.

Käyttämällä hyödyksi Robot Frameworkille tehtyjä kirjastoja, kuten SeleniumLibrary, testien kirjoittaminen web-sivuille on yksinkertaista:

Tämä testi avaa Internet Explorer -selaimen ja suorittaa verkkohaun.

Lähteet

Aiheesta muualla
 Viralliset kotisivut
 An Introduction to Test Automation Design, Lisa Crispin
 Driving Development with Tests: ATDD and TDD , Elisabeth Hendrickson
 Writing Maintainable Automated Acceptance Tests, Dale H. Emery
 Usage of Robot Framework in Automation of Functional Test Regression, Stanislav Stresnjak & Zeljko Hocenski
 Selenium Meet-Up April 20, 2010 Elisabeth Hendrickson on Robot Framework
 Robot Framework: Semicolon-free testing, Filip Noetzel

Ohjelmiston testaaminen