Nedir Davranış Odaklı Geliştirme
Davranış spesifikasyonlarına dayalı geliştirme
BDD (Behavior-Driven Development)
BDD, TDD'yi iş tarafından anlaşılabilir dilde sistem davranışı açıklamalarıyla birleştiren bir yazılım geliştirme metodolojisidir.
Given/When/Then Sözdizimi
| Anahtar Kelime | Amaç | Örnek | |----------------|------|-------| | Given | Başlangıç durumu | Kimliği doğrulanmış bir kullanıcı verildiğinde | | When | Eylem | "Satın Al"a tıkladığında | | Then | Beklenen sonuç | Ürün sepete eklenir | | And | Ek koşullar | Ve bildirim gösterilir |
Senaryo Örneği (Gherkin)
Feature: Alışveriş Sepeti
Scenario: Sepete ürün ekleme
Given kullanıcı ürün sayfasında
And ürün stokta
When kullanıcı "Sepete Ekle"ye tıklar
Then ürün sepette görünür
And sepet sayacı 1 artar
BDD vs TDD
| Boyut | TDD | BDD | |-------|-----|-----| | Odak | Kod ve birimler | Sistem davranışı | | Dil | Teknik | İş dili | | Katılımcılar | Geliştiriciler | Ekip + iş | | Dokümantasyon | Kod olarak testler | Canlı dokümantasyon |
Popüler Araçlar
- Cucumber — Ruby, Java, JS
- SpecFlow — .NET
- Behave — Python
- Jest + Cucumber — JavaScript
- Behat — PHP