TDD (Test-Driven Development) Nedir?

TDD (Test-Driven Development), Test odaklı geliştirme şeklinde Türkçe’ye çevrilebilecek olan, proje içerisinde hangi kodların hangi amaçla yazılacağı belirlendikten sonra, buna göre önce testlerin, sonrasında kodun yazılması gerektiğini savunan bir tekniktir.

Her ne kadar ilk karşı karşıya gelindiğinde, kodları yazmadan önce testlerin yazılması zor ve karmaşık gelebilir. Fakat bir projenin kodu yazılmaya başlanmadan önce içeriğinin belirlenmiş ve kod tasarımının zaten yapılmış olması gereklidir. Bu kodlama sırasında zorlanılmaması ve bir sonraki adımın öngörülebilir olması için de gereklidir.  Genellikle bu adım detaylandırılmadığından TDD methodunun zor ve karmaşık gelmesi normaldir.

Tasarımı yapılmış bir kodlamanın testini yazmak ise hem daha sağlıklı, hem de hataların en aza inmesine yardımcıdır. Buradan yola çıkarak TDD’nin amacı kodların tekrara düşmesini engellemek, daha basit, güvenlik açığı bulunmayan ve anlaşılabilir yazılmasını amaç edinen bir yönerge olarak düşünülebilir.

TDD methoduna göre, testler yazıldıktan sonra herhangi bir hata/bug/güvenlik açığı ile karşılaşıldığı takdirde, kodların refactor edilmesi gerekmektedir. Burada refactor ile ifade edilen bazen kodların düzenlenmesi/düzeltilmesi, bazen çıkan bug için ayrı bir regression testinin yazılması düşünülebilir.

Genel olarak çalışma prensibi aşağıda şematize edilmiştir.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.