Behavior-Driven Development

 

Behavior-Driven Development

 
Behavior-Driven Development (BDD) er en videreudvikling af bl.a. Test-Driven Development (TDD). BDD kan betragtes som en overbygning til TDD der har fokus på semantik og kommunikation. BDD stiler efter at reducere det tab af semantik og information der typisk opstår i kommunikationen mellem kunde og udviklingsteam samt internt i udviklingsteamet. Kundens krav til softwaren gennemgår ofte en række oversættelser eller transformationer i løbet af udviklingsprocessen som tydeliggjort i figuren herunder:  


Problematikken er, at grupperne i figuren taler forskellige sprog. De udtrykker kundens krav på hver deres måde. Dette betyder, at misforståelser og mangelfulde oversættelser potentielt får lov til at forplante sig langt hen i processen, før de bliver opdaget. Vi kender alle udgifterne ved at skulle rette fejl og mangler sent i udviklingsforløbet.

BDD reducerer disse problemer ved at skabe et fælles sprog (ubiquitous language) for alle deltagerne i projektet. Sprogets form kan variere, men i dette kursus anvender vi User Story formatet samt Acceptance Scenario formatet som defineret af Dan North. Ved at definere kundens behov på en struktureret måde (som kunden selv kan finde ud af) opnår vi Executable Specifications, vi kan føre direkte ind i vores udviklingsmiljø ved hjælp af værktøjer som StoryQ. Dette betyder, at alle deltagere i projektet benytter den samme definition af kundens udtrykte krav gennem hele processen.
Brugen af Executable Specifications og de tilhørende Acceptance Scenarios giver desuden den store fordel, at det bliver meget nemt at forstå, hvordan systemet skal fungere, og hvornår det er færdigt. En problemstilling der ellers kan være vanskelig at blive enige om med kunden.
Da BDD er en overbygning til TDD deler BDD naturligvis også de fordele som TDD tilbyder.
Undervisningen i dette kursus er bygget op om korte teori sessioner og tager udgangspunkt i udviklingen af et mindre, men realistisk system. Vi udvikler på dette system igennem hele dagen vha. BDD. Du kommer til at opsamle kunde krav til systemet vha. User Stories og til at udspecificere dem vha. Acceptance Scenarios. Generelt bliver dagen meget kode- og eksempelorienteret.
Forudsætninger
Det er en fordel at praktisere TDD eller som minimum have grundigt kendskab til det. For at få mest muligt ud af kurset bør du have mindst 1-2 års erhvervserfaring som software udvikler. Eksemplerne bliver skrevet i C# men kan nemt forstås af Java, Ruby og C++ udviklere.
Formål
Formålet med kurset er at klæde udviklingsteamet på til at udvikle bedre software
Mål
  • Deltageren kan forklare kerneprincipperne i BDD
  • Deltageren kan forklare hvordan BDD er relateret til TDD, Domain-Driven Design, Story- og Accept-Test Driven Development
  • Deltageren kan indsamle system krav fra kunde i User Story formatet
  • Deltageren kan udspecificere en User Story via Acceptance Scenarios
  • Deltageren kan anvende StoryQ
  • Deltageren kan forklare hvad mocking er
Varighed
1 dag, kl. 08.30 – 16.30
Sted
Scheelsminde - Scheelsmindevej 35 - DK-9100 Aalborg
Pris
Kr. 3.000,- ekskl. moms

TransSoft Aalborg
Gasværksvej 40
9000 Aalborg

TransSoft Vejle
Transitvej 10
7100 Vejle
Telefon 98 11 35 66
Telefax 98 11 35 86
E-Mail info@transsoft.dk
Reklamebureau Ultimate Web