Readable testing met Karate en Spock

podcast

In deze aflevering van de podcast legt Eonics consultant Ronald Haring uit wat precies bedoelt met Readable Testing. Luister de aflevering op Spotify, bekijk op YouTube of lees het onderstaande artikel. Je kunt de podcast ook terugvinden op andere platformen door te zoeken op “Eonics Podcast”.

Met readable testing bedoelt Java ontwikkelaar Ronald iets specifieks: “Tests moeten leesbaar zijn. Ik beschouw mijn tests als documentatie. Ze geven precies aan wat je software doet. Dit zorgt ervoor dat het ook voor andere ontwikkelaars, of zelfs de product owner, direct duidelijk is wat de code doet.”

Er zijn verschillende tools die je hiervoor kunt gebruiken. Ronald: “Ik gebruik voornamelijk Karate en Spock. Karate is vooral handig voor API testen, terwijl Spock erg nuttig is voor het testen van je Java code. Deze frameworks zijn DSL‘s (Domain Specific Languages) en daarmee speciaal ontwikkelt voor dit doel. Dit maakt ze veel leesbaarder. Daarnaast zijn alle tests geschreven in platte tekst, waardoor je makkelijk kunt versioneren en diffs kunt maken.”

Hoe het precies werkt is redelijk simpel. Ronald: “Het werkt volgens een structuur van Given, When, Then. Oftewel: gegeven een bepaalde situatie, doe deze actie. Dit is in essentie zo simpel dat je zelfs direct met een Product Owner ermee kunt werken. Zo heb ik met behulp van deze techniek in twee dagen samen met een Product Owner een heel systeem gespecificeerd met behulp van dit soort testen. Heel effectief. Daarna was het systeem snel klaar, voldeed het aan de eisen en snapte de product owner precies hoe het in elkaar stak.”