Test Driven Development (TDD)

Hüsna POYRAZ
2 min readJun 5, 2023

--

Merhabalar, bu yazımda test driven development ne olduğundan ve nasıl gerçekleştirileceğinden bahsediyor olacağım. Bir sonraki yazımda ise TDD ile yazılım nasıl test edilerek geliştireceğinden bahsediyor olacağım.

TDD Nedir?

Kod öncesinde Unit Test yazarak yaptığınız yazılım geliştirme yöntemlerden biri olan TDD’nin açılımı, Test Driven Development (Test Gündümlü Geliştirme)’dır. İsminden de anlaşılacağı üzere yazılım geliştirmeleri test ile birlikte yapılır. Geliştirilecek yazılımın ne yapacağı belirlenir ve test senaryoları ile doğrulama yapılır. Çevik (Agile) yazılım süreçlerinde güvenli test yazılımı sağlar.

TDD Adımları

TDD, bir geliştirme sürecidir ve sürekli tekrar eden aşamaları vardır. Bunlar:

  1. Kodu geliştirmeden önce test yazılır.
  2. Test başarısız olur.
  3. Kod geliştirilir.
  4. Test başarılı olur.
  5. Yeni eklenecek kodlar ve geliştirilecek kısımlar için test güncellenir.
  6. Test yine başarısız olur.
  7. Kod refactor edilir. Yani kodda iyileştirme ve(ya) temizleme yapılırak testin başarılı olması sağlanır.

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 Aşamaları

Kodu geliştirmeden önce ilk olarak testi yazılır. Ortada bir kod olmadığı için yazılan, testin fail etmesi sağlanır. Testin başarısız olduğu kısım, TDD’de Red aşamasıdır.

Hata en kolay yoldan çözülür (istenen method yazılır) ve fail olan test başarılı olduğu gözlemlenir. Testin başarılı olduğu kısım, TDD’de Green aşamasıdır.

Mevcut bütün testlerin başarılı olması sağlanır. Kod üzerinde iyileştirme ve(ya) temizleme yapılır. Bu yapılan geliştrimeler, TDD’de Refactor aşamasıdır.

--

--