Yazılım geliştirirken pek çoğumuzun başına gelmiştir, üzerinde saatler hatta günler harcadığınız bir geliştirmeyi test ederken hiç umulmadık yerlerden hata verdiğini ve bir hatayı düzeltirken, başka bir noktanın bozulduğuna tanıklık etmişsinizdir. Bu hataları düzeltmek için harcadığınız zaman sizin için tamamiyle zarar olabilir. Hatta, hatalı yazdığınız bir kod parçasına bağlı çalışan bir başka kod parçasıda doğal olarak hatalı kurgu üzerine kurulmuş olabilir. Bu yüzden, kodumuzun her bir birimini yani unit’ ini tek tek test edebilir olmalıyız ki, her adımda sağlam temeller üzerine kod yazabilelim.

Unit test adı üzerinde birim test demektir. Yani geliştirmenizin her bir birimi için yazılan testtir. Bu birimler genellikle, bir class’ ın methodları olurlar.

Unit Test hakkında yanlış bilinenler;

  • Unit test yazmak çok zaman alır düşüncesi;

Unit test yazmanın hatrı sayılır bir vakit aldığı doğrudur. Fakat büyük resme baktığımızda, unit testler ile yapılan testlerin, kesin bir şekilde, elle yapılan testlerden daha kısa sürdüğü ve kesin sonuçlar sunduğu aşikardır. Projeniz büyüdükçe, birbirine dokunabilecek pek çok method yazarsınız. Ve test etmek demek sadece yeni yazdığınız kısımları test etmek ile değildir. Her geliştirmeden sonra, sisteminizin tamamını test etmelisiniz ki, projenizin kesinlikle sağlıklı çalıştığına emin olasınız. Bu noktada unit testler, test edilmesi gereken heryeri sizin adınıza, insan gücüne kıyasla çok kısa bir sürede test edecektir.

  • Benim kodum herzaman çalışır düşüncesi;

Projeler kimsenin tekelinde değildir! Projeye her daim yeni bir geliştirici gelebilir. Yeni gelen geliştirici, şimdiye kadar yazılmış kodların hepsini bir anda idrak edemeyeceği için, kodun herhangi bir yerinde kendine göre düzenlemeler yaparken, sadece kendi case’ ine göre düzenlemiş olabilir ve tüm case’ leri ele almadığı için, projenizin o kısmı patlayabilir. Halbuki, zamanında tüm case’ ler için test yazılsaydı, yeni geliştirici düzenlemesini yaptıktan sonra, testleri çalıştırdığında acı gerçek ile yüzleşecek ve gerekli düzeltmeleri yapacaktı.

  • Test yazmak çok sıkıcı;

Geliştiriciler olarak hep problemleri çözmeye meyilliyizdir. Yeni birşeyler üretmeye. Fakat oturup test yazmak, heyecan vermemektedir. Doğru, bu açıdan bakılırsa sıkıcı geliyor. Ama yine büyük resme bakmamız gerekiyor. Sıkıcı diye yazmadığımız testler, çalıştırmadığımız testler yüzünden, projedeki hataları fark edemedik ve  kullanıcılar bu hatayla yüzleştiğinde ise alarmlar ötmeye başladı. Gecenin bir yarısı, tatil in en güzel dakikaları, haftasonu keyfinin tam ortası, DAN DAN DAN mailler yağıyor. Bir telaş hali. İşte SIKICI olan budur 🙂 aynı zamanda bunları yaşamak size çok şey kaybettirir. Birincisi yaptığınız iş hatalı görülmektedir. İkincisi, hiç olmadık bir zamanda bu hatayla karşılaşıp çözüm sağlamaya çalışmak SAĞLIKSIZDIR! Bunlar olurken yaşadığınız stres de cabasıdır. Böyle düşünürsek, Unit test yazmak pek de sıkıcı gelmiyor göze 🙂

Yazıma burda son verirken, Test kategorisine mutlaka göz gözdirmenizi tavsiye ederim. Nasıl test yazılır konularını düzenli olarak paylaşacağım.

 

Leave A Comment

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir