Test complexe Jira-workflows met Cucumber

Bij het verwerken van complexe processen via Jira kan het onderhoud en de ontwikkeling van de benodigde workflows steeds moeilijker worden. Bijvoorbeeld: een gecompliceerd proces zoals Release Management is mogelijk gestart met slechts één Jira-probleem in een meerstapsworkflow, maar bij het verwerken van veel subtaken (zoals: goedkeuringen, validaties, beoordeling of installatietaken) kan het nodig zijn om te verwerken het proces van begin tot eind. Na het automatiseren van de interne werking van het project zijn er veel afhankelijkheden, waardoor testen steeds frustrerender wordt. Dit is waar het gebruik van gedraggestuurd testen met een hulpmiddel als Cucumber veel tijd en frustratie kan besparen.

Cucumber is een open-source tool die bedoeld is om Gedraggedreven Ontwikkeling mogelijk te maken. De specificatietaal van de Cucumber “Gherkin” wordt gebruikt om het gedrag te beschrijven dat wordt verwacht van een Jira-workflow. Met behulp van specifieke trefwoorden beschrijft het stapsgewijs gedrag van wat er verwacht wordt van de workflow onder de gegeven omstandigheden. Eenvoudig alle scenario’s testen, zelfs die die slechts kleine variaties van elkaar zijn. Op deze manier kan een kleine wijziging in het toestemmingsschema of een nieuw ontwikkelde geautomatiseerde stap in het proces onmiddellijk en volledig worden getest.

Beperking van de hoeveelheid werk die “vast komt te zitten in het systeem” en het aantal verzoeken dat de Jira-beheerders moeten afhandelen wanneer de gebruikers erachter komen dat de werkstroom zich onverwacht gedraagt, en wat nog belangrijker is, dit scheelt veel tijd bij saaie handmatige tests. U hoeft niet langer handmatig problemen te maken en ze door alle mogelijke variaties van uw workflow en alle subtaakworkflows te leiden, terwijl u ondertussen gebruikers in verschillende stappen van het proces moet wijzigen. De kortere tijd alleen omdat u handmatig geen tests hoeft uit te voeren door de Cucumber tests in te stellen, is een geweldige overwinning.

Aan de achterkant van Cucumber is de communicatie met Jira moeiteloos vanwege de mogelijkheden om Jira-problemen te creëren, over te zetten en te bewerken via de Jira REST API’s. Dankzij deze mogelijkheden kan Cucumber in feite tickets maken en omzetten in een Jira-testomgeving en vervolgens de vergelijkbare API’s gebruiken om te testen of het probleem de bedrijfslogica volgt.

Om een voorbeeld te geven kan een Cucumber scenario er als volgt uitzien:

In dit voorbeeld wordt het eerste scenario met succes voltooid, maar het tweede scenario mislukt, wat een duidelijke foutmelding geeft en voldoende informatie voor de gebruiker om snel de oorzaak van het probleem te vinden.

Wanneer een van de ‘Product Owners’ (een groep binnen Jira) een nieuw probleem creëert met de naam ‘Releaseaanvraag’, moeten er automatisch twee subtaken worden gemaakt en moeten de subtaken die aan dit ‘Verzoek tot vrijgeving’ zijn gekoppeld worden toegewezen aan iemand in de groep “Ontwikkelaars”. Vervolgens wordt het beschreven gedrag vertaald in een Cucumber scenario met behulp van stappen uit onze stapbibliotheek. Als de subtaken bijvoorbeeld niet zijn toegewezen na het maken, meldt Cucumber dat de gevonden gegevens niet overeenkomen met wat wordt beschreven (toewijzers voor de subtaken, evenals die deel uitmaken van de groep Ontwikkelaars), en zal ook worden weergegeven welke gegevens worden gevonden . Dankzij dit eenvoudige scenario kan de Jira-beheerder er gemakkelijk achter komen dat de werkstroom niet naar verwachting functioneert en de nodige functies eraan toevoegen.

Het op deze manier gebruiken van Cucumber maakt het mogelijk om allerlei complexe processen binnen Jira-workflows te beheren, zonder dat er voor Jira moeilijk te onderhouden projecten worden gemaakt die veel handmatige tests vereisen om te zien of de automatiseringsfuncties werken zoals bedoeld. Ga naar https://cucumber.io/ (of klik hier om de BDD-voordelen van Cucumber te downloaden) voor meer informatie over Cucumber en gebruik de Gedrag Ontwikkelde methode de volgende keer dat een ambitieus proces zijn weg moet vinden naar je Jira-instantie!

Meer over Agile IT met DevOps

Het implementeren van DevOps creëert de mind-set, tools & processen om ideeën snel om te zetten in nieuwe en verbeterde functies. Met +50 gecertificeerde DevOps-consultants helpen we onze klanten elke dag hun digitale gevechten te winnen.

Meer relevante DevOps publicaties

Info: Wat is DevOps?

Case: Nieuwe meldkamerapplicatie voor een veiliger Nederland

Case: Nieuwe wijn in oude zakken

Case: Devoteam begeleidt 300 DevOps teams in professionele systeem monitoring

Contact

Hans Mollevanger

Business Unit Manager DevOps