Test Driven Development (TDD) Nedir? Neden Kullanmalıyız?

Genellikle yazılım geliştirilirken önce uygulama tamamlanır, ondan sonra eğer yazılımcı veya kullanıcıların gözüne çarpan hatalar olduğu zaman tek tek hatalar yakalanıp,düzeltilip proje güncellenir.Bu döngü genellikle böyle sürüp gider.

Bir diğer yaklaşımda ise proje tamamlanır ve proje için testler yazılır. Amaç yazılan kodların doğru çalışıp çalışmadığını bir tutarsızlık olup olmadığını belirlemek, eğer hatalı yazılan kodlar varsa bunlar düzeltilip tekrar testler çalıştırılır.Ta ki projemiz yazdığımız tüm testlerden  geçene kadar bu işlem devam eder. Fakat genellikle bu yöntem her zaman kullanılmayabilir. Çünkü çalışılan kuruma bağlı olarak bu işlem için gerekli zaman, maliyet ayrılmayabilir.

Test Driven Development’ ta ise ilk baş uygulama geliştirilmeye başlanmadan yani uygulama kodları yazılmadan önce testler yazılır. Ondan sonra bu yazılan testleri geçebilecek kodlar yazılır. Yazılan kod tüm senaryoları geçene kadar basitleştirilerek düzeltilir. Bu işleme “refactor” denilir. Bu yapıya ise “Test Driven Development”  Türkçe olarak “Test Güdümlü Geliştirme” denir. Bu şekilde uygulama kodlanmaya başlanmadan evvel aslında bi taslağı, bir çadırın iskeletleri gibi hazırlanmış, kurulmuş olur.

TDD‘ yi uygulamak kolay bir işlem gibi olsa da çoğu yazılım şirketleri zaman kaybı olarak gördükleri için bu işleme çok sıcak bakmamaktadır. Fakat bu yöntemin kullanıldığı projeler çok daha kaliteli uzun vadede bakımlarının yapılması kolay ve projede yapılacak herhangi bir değişikliğe çok kolay ve hızlı bir şekilde adapte olabilirler. Yani aslında uzun vadede bakılacak olduğunda daha hızlı yazılım geliştirilme sağlanmış olur.

Örneğin projemizin herhangi bir alanında bir değişiklik yapıldığı zaman bu alanla alakalı diğer tüm alanların nasıl tepki verdiği, o kısımlarda hataların olup olmadığı tek tek test edilir ve aynı şekilde düzenlemeler yapılır.Ve bu da çok uzun bir zaman ve emek gerektirir. TDD ile kurgulanmış bir projede ise testleri çalıştırmak ve etkilenen hatalı kısımları görüp düzeltmek saniyeler içerisinde yapılabilir.

Örnek olarak aşağıda testten geçip son halini alan basit bir adet unit test yer almaktadır.

 

 

Bir cevap bırakın
Son Yazılar