BDD: från bästa praxis till dess avvikelser

BDD (Behavior Driven Development) är en metodik som populariserades av Dan North år 2003 och har sitt ursprung i TDD (Test Driven Development), där de två metoderna är komplementära.

 

Varför ska man använda BDD? Det är särskilt användbart för att hantera de vanliga problemen med specifikationer i Agil utveckling:

 

  • Ingen formell förklaring av sammanhanget.
  • Specifikationer som kan tolkas olika av olika profiler eller aktörer.
  • Inte nödvändigtvis uppdaterad.

 

BDD är därför en Agil praxis som syftar till att synkronisera de olika aktörerna som utvecklar en funktionalitet med vad den faktiskt ska göra. Målet med BDD är att designa acceptanstester som illustrerar funktionalitetens beteende, med metoder som de 3 vännerna (3 amigos) eller mappning. BDD metoden genomförs vanligtvis i tre steg: upptäckt, formulering och automatisering.

 

Rätt tillämpning

 

 

De inblandade parterna synkroniseras genom gemensamt designade exempel som illustrerar funktionalitetens beteende. Detta innebär att användarhistorien (US) upptäcks, vilket ofta sker genom mötet mellan de tre vännerna (kund, utvecklare och tester). Genom detta möte skapas en gemensam förståelse för behovet, vilket gör det möjligt att skriva acceptansscenarier för att validera acceptanskriterier.

Dessa exempel formuleras med ett gemensamt språk, Gherkin, som enkelt förstås av de olika profilerna hos de 3 vännerna. Gherkin språket är formaterat för att skriva strukturerade tester i ett naturligt språk som i förväg kan förstås av alla. Gherkin tester skrivs med de 4 grundläggande elementen: GIVEN / WHEN / THEN … AND (GIVEN en viss kontext, WHEN jag utför en handling, THEN får jag resultat1 AND resultat2).

Från denna strukturerade (och formaterade) formulering av funktionalitetens beteende är det möjligt att integrera dessa exempel i ett mjukvaruverktyg, som Cucumber till exempel, som kommer att tolka detta Gherkin språk för att köra automatiserade acceptanstester anpassade till dessa exempel. 

 

 

Förvirringar

 

BDD används i många företag för att testa beteendet hos vissa funktionaliteter i nära samarbete med användare. Men även om BDD används för att uppnå en gemensam förståelse av behov, finns det fortfarande ett antal förvirringar kring denna Agila praxis, som kan leda till vissa missbruk. Vad är dessa?

 

BDD ses enbart som automation

 

  • I detta fall förloras BDD:s väsentliga bidrag: förmågan för alla att ha samma förståelse av vad som förväntas.

 

Underlåtenhet att skriva acceptansscenarier

 

  • Ibland hålls synkroniseringsmöten, men i slutändan dyker inga scenarier upp. Detta är problematiskt eftersom mycket av informationen går förlorad när den glöms bort. Det tvingar också fler personer att delta i mötena, vilket kräver större investering.

 

Tester som inte är förståeliga för alla profiler

 

  • Ett BDD-test måste förstås av alla i teamet (och ibland även av andra). Att skriva tester som inte förstås av alla säkerställer inte att alla har samma förståelse. Generellt sett gör det det också svårare för affärsverksamheten att verkligen validera vad som ska utvecklas.

 

BDD skapas under sprinten

 

  • Att säga att BDD skapas under sprinten betyder inte att det görs under utvecklingen. Men även när BDD genomförs före utvecklingen, påverkar denna process teamet, som har behövt åta sig att leverera en användarhistoria som de kanske inte fullt ut har förstått.

 

Användning av Gherkin som BDD

 

  • Gherkin är ett språk. BDD kan anta andra former... precis som det är möjligt att köra tester i Gherkin som inte är BDD (t.ex. Karaté-verktyget erbjuder tester i Gherkin som inte kan förstås av funktionella profiler).

 

 

Innan sprinten består BDD-praxisen, genom upptäckt, av att validera en gemensam förståelse av kravet av alla involverade aktörer. Denna förståelse formuleras genom exempelvis acceptanskriterier och acceptansscenarier, som sedan implementeras i ett verktyg för design och exekvering av automatiserade tester.

Att tillämpa de olika stegen i denna metod kommer att hjälpa till att bekämpa BDD:s avvikelser, och framför allt den förvirring som för närvarande råder kring de olika termerna som omger BDD-konceptet.

Gilles Ménède

INSIKTER & NYHETER Håll dig uppdaterad!

Få kunskap, nyheter, inspiration, tips och inbjudningar om kvalitetssäkring direkt i din inkorg.

share the article