Yazılım Geliştirme Yöntemleri Serisi

TDD(Test Driven Development) vs BDD(Behavior Driven Development)

Bu yazıda TDD yaklaşımı ile BDD yaklaşımı arasındaki yazılım geliştirme farkı açıklanmaya çalışılmıştır.

--

1. TDD (Test Driven Development)

Kod öncesinde Unit Test yazarak yaptığınız yazılım geliştirme yöntemi. Kodu geliştirmeden önce testi yazıyoruz. Test çalışmıyor hata veriyor. Kodu geliştiriyoruz. Test geçiyor. Yeni ekliyeceğimiz kodlar ve geliştireceğimiz kısımlar için yine Testi güncelliyoruz. Test yine hata veriyor. Sonrasında kodu refactor ederek testin tekrar geçmesini sağlatıyoruz. Utility, Function, Library, Framework gibi unsurlarda bence TDD oldukça başarılı işler. Input/Output sınırlı. Kodunuz daha çok logic/mantık odaklı. Ve siz burada TDD ile bu kodun doğru çalışıp çalışmadığını Fonksiyon bazında , Sınıf bazında, Modül bazında, Kütüphane bazında gerçekleştiyorsunuz.

TDD LifeCycle

2. BDD (Behavior Driven Development)

Yazılımlara daha yukarıdan bakarsak sadece Developer’ın içerisinde olmadığı Müşteri, Alan Uzmanı, Kalite vb.. kişilerinde yazılımda rol oynadığını görebilirsiniz. BDD yönteminde Kullanıcı hikayelerinden çıkan Behavior’lar üzerinde Acceptance Test oluşturularak yazılım davranışı, yazılım tasarlanmaya çalışılır.

BDD Process

Aşağıda BDD LifeCycle görebilirsiniz. Amacı yazılımın genel olarak davranışını test etmeye yöneliktir.

BDD LifeCycle

Okumaya Devam Et 😃

Bu yazının devamı veya yazı grubundaki diğer yazılara (Test Perfromans) erişmek için bu linke tıklayabilirsiniz.

Bu yazının devamı veya yazı grubundaki diğer yazılara (Mimari Kalite) erişmek için bu linke tıklayabilirsiniz.

--

--