Leestijd : 1 minuten

Gedragsgestuurde ontwikkeling (BDD)-principes en best practices toepassen

Het verwachte gedrag van een gebruiker bij interactie met een applicatie wordt gedocumenteerd en in de applicatie ontworpen met behulp van de agile softwareontwikkelingsmethodologie die bekend staat als Behavior-driven Development (BDD). BDD helpt bij het voorkomen van opgeblazen gevoel, overmatige code, onnodige functies en gebrek aan focus door ontwikkelaars te adviseren zich uitsluitend te concentreren op het gewenste gedrag van een app of programma. Deze aanpak combineert het beste van Acceptatie Test Driven Development (ATDD) en Test Driven Development (TDD).

Een typisch gedragsgestuurd ontwikkelingsproject begint met een gesprek tussen managers, klanten en ontwikkelaars om te begrijpen hoe het product moet werken. Als elke gedragstest slaagt, voldoet het product aan alle specificaties en is het klaar om aan de klant te worden geleverd. De doelstellingen van de ontwikkelaars worden vervolgens bepaald op basis van de gedragsverwachtingen voor het product.

Het motief achter gedragsgestuurde ontwikkeling

De in Londen gevestigde technologie- en organisatieadviseur Dan North ontwikkelde BDD meer dan tien jaar geleden om misverstanden tussen ontwikkelaars, testers en zakelijke professionals uit de weg te ruimen. Ondanks het bescheiden begin als een eenvoudige wijziging van testgestuurde ontwikkeling, is BDD nu een volwaardige softwareontwikkelingsmethodologie.

De twee hoofdcomponenten van de BDD-benadering worden vaak gescheiden:

  • In het eerste gedeelte zijn voorbeelden geschreven in een gemeenschappelijke taal om gedrag te illustreren of hoe gebruikers omgaan met het product.
  • De tweede stap omvat het gebruik van die voorbeelden als basis voor geautomatiseerde tests. Het stelt ontwikkelaars in staat om gebruikersfunctionaliteit te testen en garandeert dat het algehele systeem presteert zoals bedoeld door het bedrijf gedurende de gehele levensduur van het project.

Gedragsgestuurde ontwikkeling is in het leven geroepen om de kloof te overbruggen en het voor afdelingen eenvoudiger te maken om samen te werken en te communiceren. Hierdoor worden softwareontwikkelingsprojecten met meer succes gemanaged en opgeleverd. Het zorgt ervoor dat projecten gericht zijn op de werkelijke behoeften van het bedrijf en tegelijkertijd voldoen aan de behoeften van de gebruikers.

Gedragsgestuurde ontwikkeling in Agile ontwikkeling

 Teams gebruiken de iteratieve agile ontwikkelmethode voor softwareontwikkeling. Cross-functionele, zelfgeorganiseerde teams passen vaak projecten aan door de omgeving en gebruikersvereisten te analyseren. Hier is hoe gedragsgestuurde ontwikkeling zijn rol speelt in Agile Development:

  • Focus op gedrag en gewenste resultaten

 Om ingebouwde kwaliteit te bieden, definieert (en mogelijk automatiseert) Behaviour-Driven Development (BDD) tests vóór of als onderdeel van het specificeren van systeemgedrag.

  • Samenwerking tussen belanghebbenden

 Een gedeeld begrip van vereisten tussen het bedrijf en de Agile-teams wordt gecreëerd door middel van BDD, een samenwerkingsproces. De doelstellingen zijn het verbeteren van de doorstroming, het verminderen van herbewerking en het begeleiden van ontwikkeling.

  • Tests schrijven in een voor mensen leesbaar formaat

 BDD stimuleert frequente communicatie tussen de drie belangrijkste belanghebbenden. In tegenstelling tot traditioneel testen met behulp van code, waarbij het QA-team al dan niet regelmatig communiceert met de andere belanghebbenden, helpt dit om de tests in een vroeg stadium te ontwikkelen.

  • Het gebruik van een Given-When-Then-indeling voor testscenario’s

 De Given-When-Then-techniek is een stijlgids voor het schrijven van acceptatietestcases voor een gebruikersverhaal. t, makers van de BDD-techniek, ontwikkelden deze benadering van het schrijven van testgevallen voor gedragsgestuurde ontwikkeling.

De behoefte aan een BDD-testraamwerk

Bij Agile-processen en DevOps gaat het er vooral om producten in de kortst mogelijke tijd te produceren. Aan de andere kant zijn organisaties huiverig om builds uit te brengen die niet volledig voldoen aan de behoeften van de klant of niet aansluiten bij de strategische bedrijfsdoelstellingen. Daarom,

  • BDD versterkt de Agile-methodologie door continue input van eindgebruikers mogelijk te maken om het ontwikkelingsproces te valideren en ervoor te zorgen dat het “juiste product” wordt ingezet.
  • Het maakt ook een betere coördinatie mogelijk tussen de belangrijkste belanghebbenden in het softwareontwikkelingsproces, namelijk het Business Team, het Development Team en het QA Team. Omdat elk team een ander perspectief heeft, wat kan leiden tot onnodig werk, zorgt de BDD-aanpak ervoor dat iedereen op dezelfde golflengte blijft en de behoefte aan gewenst gedrag voorop stelt.

BDD: komkommer en test voltooid – overzicht

Wil je BDD verkennen met Testcomplete in Windows 10 met behulp van IntelliJ? Dan is hier alles wat u moet weten.

Waar wordt BDD gebruikt in de testautomatiseringspiramide?

Unittests, integratietests, gebruikerstests interfacetests (UI) en nog veel meer maken deel uit van testgestuurde ontwikkeling. Er zijn veel methoden om deze tests te maken en te beheren, maar de afgelopen jaren hebben Agile-ontwikkelingsteams het idee van een testpiramide als een van de meest effectieve begunstigd. Hier zijn de verschillende niveaus van de test, van boven naar beneden:

  1. Gebruikersintegratie of UT-test
  2. Systeemintegratietest
  3. Eenheidstest
  4. Handmatige test

Er zijn verschillende niveaus in de test automatiseringspiramide, en zoals de heer John Ferguson Smart uitlegde: “BDD kan overal worden geïmplementeerd waar een bedrijfsregel wordt toegepast. Een BDD-scenario is een manier om acceptatiecriteria of een bedrijfsregel uit te drukken. Een voorbeeld van een Business Rule op een zakelijk leesbare manier die je afspreekt met je klant of stakeholder. Wanneer u bepaalde regels besluit te automatiseren, wordt deze getest op wat het laagste testniveau wordt genoemd, en dit kan elk niveau in de automatiseringstestpiramide zijn.”

Stappen die nodig zijn om gedragsgestuurde ontwikkelingsstrategie te implementeren

Een iteratief proces in vijf stappen dat omvat het definiëren van het gedrag, het schrijven van de tests, het automatiseren van de tests, het uitvoeren van de tests en herhaling is vereist voor het implementeren van BDD. Deze gedocumenteerde voorbeelden worden na verloop van tijd activa, waardoor uw team vol vertrouwen snelle systeemwijzigingen kan doorvoeren. De code weerspiegelt de documentatie, die ieders gedeelde begrip van de probleemruimte weerspiegelt in dit constant evoluerende en gedeelde begrip.

Stap 1: Definieer het gedrag

Het echte doel hier is om nuttige, operationele software voor het bedrijf. De snelste manier om dit te bereiken is door gesprekken te voeren met iedereen die betrokken is bij het ontwerp en de levering van de software.

Hiertoe is de eerste stap is om een op handen zijnde systeemwijziging, ook wel een gebruikersverhaal genoemd, te nemen en concrete voorbeelden te bespreken van nieuwe functionaliteiten om te onderzoeken. Gebruik e-mailmarketingtools om uw gebruikers te ondervragen en hun suggesties te verzamelen voordat u beslissingen neemt.

Stap 2: schrijf de tests

De volgende stap is het automatiseren van de documentatie van die voorbeelden. U kunt dan kijken of er een overeenkomst is. Zodra tijdens de ontdekkingssessies een waardevol voorbeeld is geïdentificeerd, kan elk voorbeeld worden geformuleerd als gestructureerde documentatie. Het stelt alle betrokkenen in staat om snel te bevestigen dat ze een gemeenschappelijk begrip hebben van wat er gebouwd moet worden.

Stap 3: Automatiseer de tests

De derde stap is om het gedrag van elk gedocumenteerd voorbeeld in actie te brengen, te beginnen met de geautomatiseerde test om de ontwikkeling van de code te begeleiden. Zodra het team het heeft gemaakt, kan een uitvoerbare specificatie worden gebruikt om de ontwikkeling van de implementatie te begeleiden. Zonder het systeem kan elk voorbeeld nu als test worden gebruikt. Deze test is ongeldig omdat het beschreven gedrag nog moet worden geïmplementeerd.

Stap 4: voer de tests uit

 U kunt een testset maken en de tests van uw project in de gewenste volgorde uitvoeren met testitems. BDD-tests kunnen worden opgenomen in testitems om een vast onderdeel te worden van de testrun van uw project.

Stap 5: Herhaal

 U kunt de BDD-scenario’s uitvoeren om het gedrag van uw systeem te controleren nadat u uw scenario’s hebt gedefinieerd en de stapdefinities in de praktijk hebt gebracht. Idealiter kunnen de scenario’s handmatig of automatisch worden uitgevoerd met behulp van een BDD-testraamwerk.

Het concept van het implementeren van gedragsgestuurde ontwikkeling is gemakkelijk te begrijpen als we het volgende voorbeeld nemen in de Given-When-Then-sjabloon:

Steps require for Behavior-Driven Development (BDD)

Dit voorbeeld stelt een leerling voor die een aantal onafgemaakte lessen heeft en een aangepast lesrooster wil aanvragen. Voor dit scenario moet de student ingelogd zijn op de website. De GIVEN beschrijft de situatie, terwijl WHEN de actie beschrijft die het scenario activeert. THEN beschrijft het resultaat: het trainingsplan op maat is zichtbaar.

Dus de Given-When-Then-techniek stelt niet-technische mensen in staat perfect te beschrijven wat ze van het product of de functie verwachten .

Best practice voor het implementeren van BDD

Hier zijn enkele best practices voor BDD die u moet volgen.

  • Vermijd lange beschrijvingen

Voor elk kenmerk mag alleen een logische en beknopte titel en beschrijving worden gebruikt. Lange functiebeschrijvingen zijn vaak vervelend om te lezen en schrikken belanghebbenden vaak af. Over het algemeen moet een kenmerk een korte zin zijn die de reikwijdte en context samenvat.

  • Kies één indeling voor uw functies

Het kiezen van de formaten die u gebruikt voor het schrijven van functies is een andere uitstekende functie voor gedragsgestuurde ontwikkeling. Alle functiebestanden moeten voldoen aan het formaat dat u kiest. Als gevolg hiervan zal iedereen die nieuw is in het project het eenvoudig vinden om de functies en context te begrijpen.

  • Houd de achtergrond kort

Gebruik waar mogelijk een achtergrond voor gedeelde stappen voor elk scenario in uw functiebestand. De achtergrond elimineert veel repetitieve taken en u kunt duplicatie in functiebestanden bij correct gebruik voorkomen. Houd een korte achtergrond bij, idealiter niet meer dan vier regels.

Voordelen van het toepassen van BDD bij het testen van software

Acceptatietesten zijn de eerste stap in het ontwerpen van BDD-software. Ze bieden een sterke communicatiebasis voor het ontwikkelingsteam en belanghebbenden. De belangrijkste voordelen die BDD biedt bij het testen van software zijn:

  • Verwijder afval

Het is minder waarschijnlijk dat vereisten en acceptatiecriteria verkeerd worden begrepen, omdat BDD u in staat stelt vereisten te communiceren.

  • Zakelijke doelstellingen behalen

Elke ontwikkeling kan met behulp van BDD worden gekoppeld aan specifieke bedrijfsdoelen.

  • BDD-testsuite

Wanneer uw team BDD adopteert, net als TDD, krijgen ze vertrouwen in de vorm van een testsuite.

  • Focus op gebruikersbehoeften

Aan gebruikersbehoeften kan worden voldaan door middel van softwareontwikkeling dankzij de BDD-methodiek, wat zorgt voor tevreden gebruikers die goed zijn voor het bedrijfsleven.

  • Eenvoudig te integreren

De BDD-codes zijn eenvoudig te integreren met alle automatiseringstestservers, zoals de uitvoering van de komkommertest eenvoudig kan worden uitgevoerd op Jenkins, een open-source automatiseringsserver die honderden plug-ins ondersteunt voor het bouwen, implementeren en automatiseren van elk project.

  • Codekwaliteit verbeteren

Het belangrijkste voordeel van gedragsgestuurde ontwikkeling is het verbeteren van de kwaliteit van de code, waardoor projectrisico’s en variabele kosten, zoals onderhoud, worden verlaagd.

  • Helpt bij het genereren van code

In BDD worden interacties tussen gebruikers en ontwikkelaars gebruikt om code te genereren. Dit betekent impliciet dat gebruikers voorbeelden van softwaregedrag genereren en evalueren.

Uitdagingen bij het toepassen van BDD bij het testen van software

De uitdagingen bij het implementeren van BDD bij het testen van software kunnen als volgt worden beschreven:

  • BDD heeft geresulteerd in extreem nauw verbonden gedrag als gevolg van langdurige vergaderingen met belanghebbenden en de noodzaak om alle belangrijke belanghebbenden bij het BDD-proces te betrekken.
  • Als dhr. John Ferguson Smart een gewaardeerd internationaal spreker, consultant, auteur en trainer met expertise in Agile Test Automation, BDD en meer.
  • BDD vereist zorgvuldig voorbereide software voor de Gherkin-scripts om de zakelijke vereisten effectief te verwoorden. Het kan soms het snelle tempo tegengaan van Agile-teams die aan korte specificaties werken.
  • Een van de BDD-principes gaat ervan uit dat het moeilijk is om vanaf het begin alle vereisten te kennen en dat we ze niet allemaal in de eerste fase van een project hoeven te definiëren, maar dat de kennis van de belanghebbenden zich gedurende het hele project zal ontwikkelen. project.
  • BDD vereist ervaring met het ontwerpen en schrijven van geautomatiseerde acceptatietests voor sommige complexe applicaties.

Afronding:

Behaviour Driven Development is een zeer slimme strategie bij het gebruik van agile methodologie. BDD biedt een platform om zelfstandig met verschillende technologieën te werken, dus het is altijd aan te raden om je ontwikkeling of testen ermee te starten.

Door effectieve samenwerking tussen belanghebbenden aan te moedigen, te bevorderenduidelijke communicatie en het verleggen van de focus van testen als een geïsoleerde activiteit naar een gedeeld begrip van gewenst gedrag, heeft gedragsgestuurde ontwikkeling (BDD) het potentieel om een revolutie teweeg te brengen in het testen van software.

Zuci Systems is een van de toonaangevende technologiedienstverleners die een scala aan diensten aanbiedt, waaronder het testen van software voor Agile Development. Onze experts zijn zeer bedreven in de gedragsgestuurde ontwikkelingsmethodiek en als u BDD-testen in uw software wilt implementeren, Zuci Systems experts kunnen helpen! Neem vandaag nog contact op met onze experts!

Verwante artikelen:

  • Effectieve shift-left met BDD
  • Minna Mary Saji

    Curious hands with a passion for creativity and a hunger for knowledge.

    Deel deze blog, kies uw platform!

    Leave A Comment

    gerelateerde berichten