Sobes.tech
Junior

BDD (Davranış Odaklı Geliştirme) nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

BDD, tüm ekip üyelerinin (geliştiriciler, test uzmanları, iş analistleri) sistem gereksinimleri ve davranışını ortak anlayışa odaklanan bir yazılım geliştirme metodolojisidir. TDD (Test Driven Development)’den geliştirilmiştir.

BDD’nin temel özellikleri:

  • Ortak katılım: Tüm ilgilileri fonksiyonellik tanımlama sürecine dahil eder.
  • Doğal dil: Sistemin davranışını tanımlamak için anlaşılır, teknik olmayan bir dil (genellikle Gherkin) kullanır.
  • Örnekler: Davranışı, somut ve gerçek kullanım örnekleriyle tanımlar.
  • Otomasyon: Davranış senaryoları otomatikleştirilebilir ve yürütülebilir belge ve regresyon testleri olarak kullanılabilir.

BDD senaryoları genellikle Given-When-Then formatında tanımlanır:

  • Verildi: Sistem başlangıç durumunu tanımlar.
  • İşlem: Kullanıcı veya sistem tarafından gerçekleştirilen eylemi tanımlar.
  • Sonuç: Beklenen davranış veya bu eylemin sonucu tanımlanır.

Gherkin kullanılarak yazılmış bir BDD senaryosu örneği:

# Özellik: Ürün arama
# Kullanıcı, ürünleri isimlerine göre bulabilmelidir.

# Senaryo: Var olan bir ürünün başarılı araması
Verildi, kullanıcı çevrimiçi mağazanın ana sayfasında bulunuyor
Ne zaman kullanıcı "Kitap" kelimesini arama alanına girer
Ve "Ara" düğmesine tıklar
O zaman sayfada "Kitap" içeren ürünlerin listesi gösterilir
Ve bulunan ürünlerin sayısı sıfırdan büyük olur

BDD’de kullanılan araçlar:

BDD’nin avantajları:

  • Gereksinimlerin daha iyi anlaşılması.
  • Belirsiz veya çelişkili gereksinimlerden kaynaklanan hataların azaltılması.
  • Takımlar arasında daha etkili iletişim.
  • Yürütülebilir belge.
  • Daha stabil ve bakımı kolay otomatik testler.