Drie lezers van Computable.nl geven op persoonlijke titel hun mening over de recent verschenen uitgave 'The Cucumber Book, Behaviour-driven Development for Testers and Developers'. In dit boek beschrijft de Noorse ontwikkelaar Aslak Hellesoy het testen en ontwikkelen van software met zijn hulpmiddel Cucumber. Het boek – dat een 7+ krijgt – kwam uit bij de Amerikaanse uitgever O'Reilly.
Gertjan Boelens, tester, Testwerk
Cucumber is een geautomatiseerde open source testtool waarin de requirements van een ict-project worden vastgelegd. Dat gebeurt in de taal Gherkin, een zogeheten plain text Domain Specific Language (DSL). Die is voor zowel ontwikkelaars als opdrachtgevers te begrijpen. Een belangrijke oorzaak van het mislukken van ict-projecten is dat de business en ict'ers een andere taal spreken. Gherkin brengt daar verandering in.
Met Gherkin leg je met de requirements direct ook de acceptatietesten vast. Eigenlijk is hier sprake van Test-driven development (TDD). Sterker, we beginnen zelfs met het runnen van de testen. Stap voor stap zullen er testen van failed naar succes gaan en zo wordt het system-under-test opgebouwd.
Om met Cucumber te werken hoef je niet te weten hoe behaviour-driven development en domain-driven design zich tot elkaar verhouden. Maar wil je deze tool in een project gaan gebruiken zul je daar toch moeten beginnen, aangezien de tool alleen van meerwaarde is als je ontwikkelproces aan bepaalde voorwaarden voldoet. Als je alleen maar geautomatiseerde record
en playback scripts wilt maken, kun je beter gebruik maken van selenium, bad boy of QTP.
The Cucumber Book geeft vele voorbeelden en oefeningen om ervaring op te doen met Gherkin en Cucumber. Enige kennis van Ruby zal hierbij zeker van pas komen, alhoewel deze niet noodzakelijk is. Voor de technische tester is het een uitdaging om alles in de command line aan de praat te krijgen, een typefoutje is snel gemaakt en kan veel uitzoekwerk tot gevolg hebben. Gelukkig
heeft de uitgever op zijn site alle errata en voorbeelden staan, waardoor je niet volledig vastloopt. Kortom, de theorie is van belang voor iedereen met een interesse voor testen en requirements, terwijl de details het meest geschikt voor de meer technische tester zijn.
Ik geef het boek een 8.
Gerbrand Gerritsen, HR business analist, DHV
De jongste telg in de familie van softwareontwikkelingsmethodes is BDD (Behavior Driven Development). Cucumber is een tool om software op basis van BDD te ontwikkelen en dit boek biedt een complete introductie tot deze tool.
Het boek bestaat uit drie delen. In het eerste deel worden BDD en Cucumber geïntroduceerd en het tweede deel bevat een verhelderend voorbeeld waarin de functionaliteit van een geldautomaat wordt geprogrammeerd. Deel drie tenslotte focust op toepassingen van Cucumber in combinatie met gangbare ontwikkeltalen als Java en Ajax.
Het boek is geschreven in een prettige en luchtige stijl. De tekst is gelardeerd met korte business cases en kritische noten in kaders met een grijze achtergrond.
Alle code en commands die nodig zijn om een voorbeeld in Cucumber te testen staan in het boek en het boek is daarmee een uitstekende handleiding om te leren testen met de tool. Toch is het de vraag in hoeverre Cucumber in de praktijk toepasbaar is. Bedrijven die software ontwikkelen combineren vaak meerdere ontwikkelmethodes omdat blijkt dat een salade met meerdere ingrediënten toch lekkerder is dan alleen sla. Cucumber zal dus zeer waarschijnlijk, wanneer toegepast, onderdeel worden van een goede komkommersla.
The Cucumber Book krijgt van mij een 8, omdat de uitleg van Cucumber zeer netjes wordt opgebouwd en helder is beschreven. De verminderde toepasbaarheid van de testmethode doet je echter afvragen of je dit boek nu al moet lezen.
Pascal de Vink, developer, Tweakers.net
The Cucumber Book door Aslak Hellesoy en Matt Wynne heeft als subtitel 'Behaviour-Driven Development for Testers and Developers'. Daar zit meteen ook een beetje het probleem voor mij bij dit boek. Het is zowel een gids voor de Cucumber tool als een gids voor het gebruik van Behaviour-Driven Development (BDD) en beide zaken beknellen elkaar daardoor een beetje.
Mocht je nog nooit van BDD gehoord hebben, dan is dit boek waarschijnlijk niet de introductie die je zoekt, aangezien het vooral is toegespitst op het gebruik van een tool (Cucumber) en een taal waarin projecten worden ontwikkeld (Ruby). Aan de andere kant zullen mensen die al ervaring met BDD hebben dit boek te veel herhaling vinden.
Ook wordt er vaak op gezinspeeld dat Cucumber (of BDD) niet alleen een test tool is, maar vooral een communicatiemiddel. Helaas ontbreekt het aan echt goede voorbeelden over hoe dit communicatiemiddel dan goed kan worden ingezet.
Het boek heeft wel een zeer duidelijke indeling, waarbij de auteur begint met gemakkelijke stapjes en kleine stukjes code en geleidelijk opbouwt naar een heel programma dat is opgebouwd met behulp van BDD. De auteur ontkomt er daardoor echter niet aan zichzelf vaak te herhalen en voor oplettende, ervaren lezers kan dat vervelend zijn.
Vooral het laatste deel van het boek leent zich goed als referentiemateriaal, maar dan vooral over geavanceerde zaken die Cucumber kan bereiken in combinatie met andere tools. Al met al geen slecht geschreven boek als je van BDD gehoord hebt en je bezig houdt met Ruby. Ik zou het een 6 geven.
The Cucumber Book, Behaviour-Driven Development for Testers and Developers
Matt Wynne, Aslak Hellesoy
250 pagina's
Pragmatic Bookshelf, O'Reilly
ISBN: 9781934356807
Prijs: 24 euro