
Test Driven Development diğer adlarıyla Test First Development, Test Driven Design olarak anılmaktadır. Türkçe’ye çevirisi Test Güdümlü Geliştirme olarak yapılabilir. Bu kavram İlk olarak çevik manifesto ve extreme programming kavramlarının babası Kent Beck tarafından ortaya atılmıştır. Extreme programming(XP) ve günümüzdeki bir çok Agile(çevik) modern yazılım geliştirme süreçlerinin kodlama bakımından bel kemiğini oluşturmaktadır.
Test Driven Development çok kısa bir geliştirme döngüsünün tekrarına dayanan bir yazılım geliştirme sürecidir. Gereksinimler çok özel test senaryolarına dönüştürülür, ardından testlerin geçmesi için kod iyileştirilir. Bu süreç, aslında gereksinimleri karşıladığı kanıtlanmamış kodun eklenmesine izin veren yazılım geliştirme modelinin tersidir. Kısaca tanımlarsak kodu yazmadan önce testlerini yazıyoruz ardından bu testleri geçecek kodu yazıyoruz. TDD bu şekilde devam eden bir yazılım geliştirme yöntemidir. Bahsedilen testleri de tabi ki kodu geliştiren yazılımcılar yazacaktır. Yeni bir fonksiyon ya da geliştirmeyi tanımlamak için fail eden otomatik test yazma tekniği büyük ya da küçük birçok firmanın sundukları servislerin kalitesini artırmak ve geliştirme yapmak için mükemmel yöntemlerden biridir.
Test Driven Development yöntemiyle kodlama yaparken aşağıdaki şekilde bir yol izlenmektedir.
- Tek satır kod yazmadan kodun testini yaz.
- Testi çalıştır ve testin geçemediğini gör.
- Testi geçecek en basit kodu yaz. Ve tüm testlerin geçtiğini gör.
- Kodu düzenle (Refactoring)
- Tekrar başa dön.

RPA projeleri geliştirme açısından bakacak olursak, RPA alanı nispeten günümüz yazılım geliştirme dünyasında yeni bir alan olduğu için pek çok best practice oturmamış durumda ve TDD gibi kavramlar henüz konuşulmuyor. RPA projeleri, arayüz otomasyonları içerdiği için ve arayüzler değişmeye eğilimli yapılar olduğu için geliştirilen projelerin de devamlı bir test modeli içerisinde yürütülmesi gerektiğini düşünüyorum. RPA alanında projeler geliştirirken Test Güdümlü Geliştirme yöntemini benimsemek daha kaliteli yazılımlar ortaya çıkarılmasına sağlayacaktır.
Umarım bu yazı sizin için faydalı olmuştur.
Sorularınız ve yorumlarınız için bu içeriğe yorum yazabilir ya da bana iletişim sayfasındaki linklerden ulaşabilirsiniz.
Esen kalın.