Mikä on Käyttäytymislähtöinen kehitys
Käyttäytymisspesifikaatioihin perustuva kehitys
BDD (Behavior-Driven Development)
BDD on ohjelmistokehitysmetodologia, joka yhdistää TDD:n järjestelmän käyttäytymiskuvauksiin liiketoiminnan ymmärtämällä kielellä.
Given/When/Then Syntaksi
| Avainsana | Tarkoitus | Esimerkki | |-----------|-----------|-----------| | Given | Alkutila | Oletetaan todennettu käyttäjä | | When | Toiminto | Kun he klikkaavat "Osta" | | Then | Odotettu tulos | Tuote lisätään koriin | | And | Lisäehdot | Ja ilmoitus näytetään |
Skenaariosimerkki (Gherkin)
Feature: Ostoskori
Scenario: Tuotteen lisääminen koriin
Given käyttäjä on tuotesivulla
And tuote on varastossa
When käyttäjä klikkaa "Lisää Koriin"
Then tuote näkyy korissa
And korilaskuri kasvaa yhdellä
BDD vs TDD
| Näkökulma | TDD | BDD | |-----------|-----|-----| | Fokus | Koodi ja yksiköt | Järjestelmäkäyttäytyminen | | Kieli | Tekninen | Liiketoimintakieli | | Osallistujat | Kehittäjät | Tiimi + liiketoiminta | | Dokumentaatio | Testit koodina | Elävä dokumentaatio |
Suositut Työkalut
- Cucumber — Ruby, Java, JS
- SpecFlow — .NET
- Behave — Python
- Jest + Cucumber — JavaScript
- Behat — PHP