Hoe beschrijf je user stories met behulp van Gherkin-taal

DEFINITIE VAN EEN USER STORY

Een user story is een beschrijving van functionaliteit of een deel daarvan, geschreven in alledaagse of zakelijke taal, die vastlegt wat een gebruiker doet of moet doen.

User stories bieden een snelle manier om met klantvereisten om te gaan in plaats van met formele requirement documenten en zonder administratieve taken uit te voeren die gerelateerd zijn aan het onderhoud ervan.

VOORDELEN

Specialisten van ons bedrijf hebben voor elk lid van het Agile-team de voordelen van het gebruik van user stories geformuleerd:

VOOR PROJECT MANAGERS:

  • Het helpt om de architectuur van de applicatie correct te maken;
  • Het vermindert de tijd van het beantwoorden van vragen over de logica van de applicatie aan ontwikkelaars, ontwerpers, testers;
  • Het kan worden gebruikt als documentatie en gemakkelijk worden bijgewerkt;

VOOR ONTWERPERS:

  • Het geeft inzicht in de hoeveelheid mock ups die nodig zijn om de gehele lay-out applicatie te dekken;
  • Het waarschuwt voor overtollige of ontbrekende bepaalde schermen / knoppen / features;

VOOR ONTWERPERS:

  • Features zijn de basis voor het schrijven van acceptatietests met testgedreven ontwikkeling (TDD en BDD);
  • Het helpt misverstanden in de documentatie (specificaties en eisen van de klant), en fouten in de logica van de applicatie te voorkomen;

Voor QA:

  • Het dient als basis voor het schrijven van testgevallen en testscenario’s;
  • Het helpt snel de logica van de applicatie te begrijpen;

VOOR CLIENTEN:

  • Geeft goed inzicht in een applicatie en hoe deze werkt;
  • De klant kan de nieuwe functionaliteit beschrijven, met behulp van ons user Story-formaat dat verkeerde interpretatie van requirements voorkomt;

VORMEN VAN USER STORIES

Ook kun je voldoen aan de volgende formaten van een user story:

Mike Cohn, een bekend auteur van user stories, beschouwt de “zodat”-clausule als optioneel:

“Als <rol>, wil ik <goal/desire>”

Chris Matts suggereerde dat “hunting the value” de eerste stap was in het succesvol opleveren van software, en stelde dit alternatief voor als onderdeel van Feature Injection:

“Om <voordeel> te krijgen als <rol>, Ik wil <doel/verlangen>”

Andere opties:

“Als <rol>, wil ik <doelstelling/verlangen> zodat <voordeel>”

“Als <rol>, kan ik <actie ondernemen met systeem> zodat <extern voordeel>”

In het bedrijf Steelkiwi gebruiken we de taal Gherkin om een user story leesbaarder en begrijpelijker te maken voor zowel ontwikkelaars als klanten.

DEFINITIE VAN DE GHERKIN-TAAL

Gherkin is een door mensen leesbare taal voor de beschrijving van systeemgedrag, die inspringing gebruikt om de structuur van het document te definiëren (spaties of tabs). Elke regel begint met een van de trefwoorden en beschrijft een van de stappen.

De meeste regels in de Gherkin beginnen met een speciaal sleutelwoord en bestaan uit kenmerken en scenario’s, bijvoorbeeld:

Laten we eens door het bovenstaande voorbeeld kijken:

1. Eigenschap: Een korte maar uitgebreide beschrijving van de vereiste functionaliteit, waarmee een functie wordt gestart en een naam krijgt.

2. De volgende drie regels beschrijven het voordeel dat we van deze functie gaan krijgen.

3. Scenario: Een of andere specifieke bedrijfssituatie begint het script en bevat een beschrijving.

4. De volgende 7 regels beschrijven de teststappen, die overeenkomen met specifieke code, waarmee de beschreven actie wordt uitgevoerd. De regels die worden gevolgd door de trefwoorden “Given”, “AND”, “Then”, enz. worden vergeleken.

IMPLEMENTATIE

Hieronder, kunt u zien hoe het eerste deel van een van onze user stories eruitziet:

Gebruikersacties: Om foto’s te bekijken, likes in te stellen, nieuws te bekijken, foto’s te uploaden en deel te nemen aan wedstrijden Als gebruiker wil ik applicatie downloaden uit App Store, vervolgens registreren/inloggen, vervolgens foto’s zoeken op artiest, foto’s bekijken, likes instellen, nieuws bekijken, mijn foto uploaden, foto toevoegen aan wedstrijden.

1.1. Registratie: Om aan te melden Als onbevoegde gebruiker wil ik een gedownloade applicatie openen, vervolgens op de knop “Aanmelden” klikken, alle verplichte velden invullen (e-mail, wachtwoord, etc), verbinding maken met Google+/Facebook/Instagram/Twitter en vrienden toevoegen die geregistreerd zijn in PhotoCulture applicatie, daarna doorverwijzen naar Home pagina.

1.1.1. Toepassing downloaden: Om applicatie van App Store te downloaden Als gebruiker wil ik App Store openen, klik dan op zoekknop, voer dan “____” in, klik dan op “Installeren” knop.

1.1.2. Aanmelden: Om aan te melden Als een onbevoegde gebruiker wil ik een gedownloade applicatie openen, klik dan op “Sign Up” knop, dan omgeleid naar “Sign Up” scherm, dan de juiste waarde invoeren in “e-mail” veld, de juiste waarde invoeren in “wachtwoord” veld, dupliceer wachtwoord waarde in “bevestig wachtwoord” veld, dan klik op “Sign Up” knop, dan display “Controleer uw e-mail om de registratie te voltooien” pop-up, dan bevestig de registratie in mijn e-mail.

CONCLUSIE

Voordat we een individuele user story schrijven, maken we de story die het end-to-end scenario van het gedrag van de applicatie beschrijft, van registratie tot voltooiing van de applicatie (uitloggen). In deze user story beschrijven we alle acties waarvoor de applicatie is gemaakt, bijvoorbeeld het bekijken van foto’s van andere leden door je eigen foto’s toe te voegen, deelname aan wedstrijden, het ontvangen van prijzen, het schrijven van commentaar, etc. Hieronder maken we individuele user stories die bepaalde functionaliteit gedetailleerder beschrijven. Verder beschrijven we, indien nodig, de meer gedetailleerde delen van de voorgaande user story.

Een onderscheidend kenmerk van ons bedrijf is dat onze user story niet gescheiden is van de algemene structuur van het project. We formuleren alle user stories van toepassing in een enkel document waarin ze in de treeview structuur voorkomen.

ADVANTAGES VAN ONZE AANPAK

  • Het helpt voorkomen dat nietcompatibele user stories met de applicatie-architectuur
  • Het laat zien hoe de wijzigingen de applicatiestructuur beïnvloeden
  • Het stelt klanten in staat om nieuwe eisen en wensen begrijpelijker te maken voor ontwikkelaars

VOLLE LINKS

  1. User story
  2. Writing features – gherkin

Als je dit artikel leuk vindt – krijg meer interessante content op SteelKiwi Blog!
Als u vragen heeft – neem contact met ons op!

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *