Computable.nl
  • Thema’s
    • Carrière
    • Innovatie & Transformatie
    • Cloud & Infrastructuur
    • Data & AI
    • Governance & Privacy
    • Security & Awareness
    • Software & Development
    • Werkplek & Beheer
  • Sectoren
    • Channel
    • Financiële dienstverlening
    • Logistiek
    • Onderwijs
    • Overheid
    • Zorg
  • Computable Awards
    • Overzicht
    • Nieuws
    • Winnaars
    • Partner worden
  • Vacatures
    • Vacatures bekijken
    • Vacatures plaatsen
  • Bedrijven
    • Profielen
    • Producten & Diensten
  • Kennisbank
  • Nieuwsbrief
softwaretest syntax

5 valkuilen bij Gherkin onder de loep genomen

29 februari 2016 - 15:275 minuten leestijdOpinieSecurity & Awareness
Rob den Broeder
Rob den Broeder

Gherkin is een syntax die door zowel business als it te begrijpen is. Hiermee wordt de kloof die er vaak tussen beiden is verkleind. En dat draagt bij aan de ontwikkeling van kwalitatief betere software. De toepassing van Gherkin lijkt dus veelbelovend en makkelijk, maar is dat wel zo? In dit artikel komen de vijf valkuilen aan bod die voorkomen bij het schrijven van specificaties en acceptatietests in Gherkin.

Gherkin is niets meer dan gewone tekst die volgens een bepaalde structuur het gedrag van een systeem beschrijft. Zonder daarbij in detail te treden over hoe dat gedrag geïmplementeerd is of moet worden.

Simpel voorbeeld:
Scenario: Multiple Givens
Given one thing
And another thing
When I open my eyes
Then I see something
But I don’t see something else

Valkuil 1: Het onvoldoende betrekken van de business
Wanneer de business onvoldoende betrokken is bij het opstellen van de requirements in Gherkin dan is de kans aanwezig dat de acceptatieperiode langer duurt. Bij een acceptatieperiode van (tijdens de sprint) geautomatiseerde tests kan het zijn dat niet het juiste is getest en er in productie vervolgens fouten ontstaan. Met handmatige acceptatie van de software begrijpt de business niet altijd wat er in de requirements staat en kan het zijn dat gedurende die periode meer issues (bugs) ontstaan. Door samen met de business de requirements zo veel mogelijk als Gherkin scenario’s te beschrijven, is de business al in een vroeg stadium betrokken. Met het opstellen van acceptatiecriteria in Gherkin scenario’s zijn user stories namelijk ‘smart’–er en voor alle stakeholders leesbaar. Hierdoor ontstaat bewustwording en betrokkenheid. Dat geeft de business een beter gevoel over de kwaliteit van de opgeleverde software. De scenario’s zijn door met Gherkin te werken bovendien te gebruiken voor geautomatiseerde acceptatietests en zo is de acceptatieperiode te verkorten.

Valkuil 2: Het beschrijven van acties in plaats van gedrag
Het beschrijven van acties in plaats van gedrag in de Gherkin scenario’s kan zorgen voor een langere acceptatieperiode en meer issues in die periode.

Fout: Het beschrijven van acties in een scenario
Scenario Show welcome message
Given I have a user called ‘Peter’
And I have opened the login page
When I enter my login name
And I enter my password
And I press the login button
Then I see a welcome message

Goed: Het beschrijven van gedrag in een scenario
               Scenario Show welcome message
               Given I have a user called “Peter”
               When I log on
               Then I see a welcome message

Het eerste voorbeeld is voor de business niet of minder goed leesbaar dan het tweede voorbeeld, omdat het tweede voorbeeld beter scanbaar is. Door de formuleringswijze van het eerste voorbeeld voelt de business zich minder betrokken bij het scenario. Hierdoor is de business minder gemotiveerd om samen nieuwe (acceptatie) scenario’s op te stellen. In voorbeeld twee is voor zowel de business als de it-afdeling duidelijk wat het doel van de test is en wat er mee bereikt wordt. Daarnaast zijn de stappen uit het scenario beter te onderhouden en te hergebruiken. Dit voorkomt in de toekomst problemen bij een gewijzigde user interface, omdat dan alleen de achterliggende code herschreven hoeft te worden en niet het hele scenario.

Valkuil 3: Te complex door meerdere Given’s/When’s/Then’s
Maak een scenario geschreven in Gherkin niet te complex. Het kan voorkomen dat enkele Given’s en Then’s nodig zijn, maar probeer het gebruik van meerdere When’s te voorkomen. Schrijf liever meerdere simpele scenario’s die uit gaan van een enkele actie, dan enkele complexe en slecht leesbare scenario’s die uit gaan van meerdere acties.

Valkuil 4: Verkeerd of meertalig taalgebruik in een scenario
Gherkin kan in verschillende talen geschreven worden. Denk vooraf goed na en bepaal in welke taal de scenario’s te gaan schrijven. Gebruik vervolgens de juiste termen uit die taal. Wanneer er is gekozen voor Engels, gebruik dan Given/When/Then. Wanneer er is gekozen voor Nederlands, gebruik dan Gegeven/Wanneer/Dan. Verkeerd taalgebruik in een scenario – bijvoorbeeld door slechte beheersing van de gekozen taal – kan ervoor zorgen dat een andere persoon het scenario verkeerd interpreteert. Hierdoor ontstaan fouten. In het algemeen wordt gekozen voor de taal die de business hanteert. Zodat zij de terminologie niet hoeven te vertalen of twee talen door elkaar gebruiken, zoals in onderstaande voorbeelden:

Fout:
Given a user with status ‘Weduwe’
When the user opens the pensioenoverzicht
Then partnerpensioen is mentioned apart

Goed:
Gegeven een gebruiker met status ‘Weduwe’
Wanneer de gebruiker het pensioenoverzicht opent
Dan staat het partnerpensioen apart vermeld

Valkuil 5: Gherkin en refactoring
Bij elk goed softwareontwikkelingsproces is refactoring (herstructureren) van de code een belangrijk onderdeel van het proces. Net als dat je de code van de software refactored, is refactoring van de Gherkin-scenario’s ook aan te raden. Het komt de leesbaarheid en onderhoudbaarheid ten goede. Let op dat wanneer er sprake is van scenario refactoring, de aanpassingen ook doorgevoerd moeten worden in de achterliggende code van het scenario. Dit geldt ook voor aanpassingen in de code van de software. Elke keer als deze code verandert, is het ook belangrijk om te kijken of het bijbehorende scenario ook aangepast dient te worden. Refactoring werkt dus beide kanten op!

Zelf de slag met Gherkin?

Het vergt de nodige oefening om niet alleen syntactisch correcte Gherkin, maar ook praktisch werkbare scenario’s te schrijven. Maar goed geschreven scenario’s zijn voor alle stakeholders leesbaar, wat zorgt voor betrokkenheid. Betrek de business bij het opstellen van de testscenario’s voor wederzijds begrip en inzicht in de businesswens. Denk vooraf goed na over wat je opschrijft. Beschrijf gedrag en houd de scenario’s beknopt. Bekijk op een later moment de scenario’s en refactor indien nodig.

Veel succes met het opstellen van jouw scenario’s in Gherkin!

Rob den Broeder, testconsultant bij Bartosz ICT

Meer over

Softwarebeheer

Deel

    Inschrijven nieuwsbrief Computable

    Door te klikken op inschrijven geef je toestemming aan Jaarbeurs B.V. om je naam en e-mailadres te verwerken voor het verzenden van een of meer mailings namens Computable. Je kunt je toestemming te allen tijde intrekken via de af­meld­func­tie in de nieuwsbrief.
    Wil je weten hoe Jaarbeurs B.V. omgaat met jouw per­soons­ge­ge­vens? Klik dan hier voor ons privacy statement.

    Whitepapers

    Computable.nl

    Slimme connectiviteit: de toekomst van bouwen

    Hoe stoom jij jouw organisatie in de bouw en installatie sector klaar voor de digitale toekomst?

    Computable.nl

    De weg van dataverzameling naar impact

    Iedere organisatie heeft data, maar niet iedereen weet hoe je het goed gebruikt. Hoe zet je waardevolle informatie om in actie?

    Computable.nl

    Beveiliging en IT samen sterk tegen bedreigingen

    Deze paper geeft concrete strategieën en handvatten om IT en Security effectiever te integreren.

    Meer lezen

    Gebouw TU/e
    ActueelCloud & Infrastructuur

    TU/e vervangt vpn en voegt mfa toe na cyberaanval

    ActueelCloud & Infrastructuur

    Kort: Eigen ai-assistent Amsterdam, NIS2-manager Atos, DSA-check ACM en…

    AchtergrondData & AI

    ISO 42001 veelbelovend als standaard voor verantwoorde ai

    DDoS-aanval
    ActueelOverheid

    Kort: Stijging symbolische cyberaanvallen, nieuwe ceo GTIA, cijfers Wolters Kluwer

    man kijkt naar het korte nieuwsoverzicht van Computable
    ActueelCarrière

    Kort: Aanvalsdetectie ai-agents, kenniskloof cio’s, overnames Wolters Kluwer, Esprit ICT en Main

    Bord van Mediamarkt
    ActueelCloud & Infrastructuur

    Mediamarkt licht ‘onbeperkte’ cloudopslag van eigen telecommerk toe

    3 reacties op “5 valkuilen bij Gherkin onder de loep genomen”

    1. Pa Va Ke schreef:
      3 maart 2016 om 21:15

      valkuil 1: dit staat los van Gherkin, kan met ieder andere tool/taal/methodiek ook gebeuren
      valkuil 2 & 3: dit noem ik altijd “a fool with a tool is still a fool”. Je kunt met Gherkin leuke dingen doen, maar je moet wel weten hoe het werkt. Dat iets makkelijker en/of abstracter wordt, wil niet zeggen dat je niet meer na hoeft te denken
      valkuil 4 is een interessante. Wanneer je in een internationaal georiënteerd bedrijf een Nederlands product gaat beschrijven in bijv. Gherkin, kan de syntax Engels zijn, maar bijvoorbeeld een status Nederlands zijn.
      valkuil 5: mijns inziens de enige echte valkuil, vooral als het onderhoud van de Gherkin scripts door een andere partij gedaan wordt dan het onderhoud op de te testen code.

      Dit neemt overigens niet weg dat het een krachtige manier is om je testen te verbeteren. Maar ik herken de eerste 4 punten niet als valkuilen, maar zie deze meer als een een stukje verwachtingsmanagement. Je moet je wel eerst verdiepen in wat een tool kan en hoe je deze wil gaan gebruiken. Dit is in mijn ogen geen valkuil, maar gezond boerenverstand.
      Afgelopen jaren enkele gevallen meegemaakt dat men een tool de schuld geeft, zonder zich hier eerst in te verdiepen. Niet alle tools en methodieken zijn “self explaining” en “intuïtief”. Soms moet je er zelf ook wat energie in steken … … …

      Login om te reageren
    2. rene schreef:
      5 maart 2016 om 07:42

      Voor mij is Gherkin nog steeds een kaboutertaaltje voor testers die niet kunnen programmeren.
      Je stelt: “…Het beschrijven van acties in plaats van gedrag in de Gherkin scenario’s kan zorgen voor een langere acceptatieperiode en meer issues in die periode…”
      Ik mis in dit verhaal de rol van de Product Owner, maar blijkbaar zijn de specs vooraf niet helder in jouw situatie.

      Login om te reageren
    3. Jeroen Vis schreef:
      7 september 2016 om 11:39

      Welke tools gebruiken jullie om gherkin feature files als living documentation beschikbaar te stellen? Ik ben op zoek naar een tool waarin naast m’n gherking features ook mockups te tonen zijn.

      Login om te reageren

    Geef een reactie Reactie annuleren

    Je moet ingelogd zijn op om een reactie te plaatsen.

    Populaire berichten

    Meer artikelen

    Footer

    Direct naar

    • Carrièretests
    • Kennisbank
    • Planning
    • Computable Awards
    • Magazine
    • Abonneren Magazine
    • Cybersec e-Magazine

    Producten

    • Adverteren en meer…
    • Jouw Producten en Bedrijfsprofiel
    • Whitepapers & Leads
    • Vacatures & Employer Branding
    • Persberichten

    Contact

    • Colofon
    • Computable en de AVG
    • Service & contact
    • Inschrijven nieuwsbrief
    • Inlog

    Social

    • Facebook
    • X
    • LinkedIn
    • YouTube
    • Instagram
    © 2025 Jaarbeurs
    • Disclaimer
    • Gebruikersvoorwaarden
    • Privacy statement
    Computable.nl is een product van Jaarbeurs