Bundan önceki yazılarmızda Birim testleri ve TDD (Test Driven Development) ile ilgili genel bilgiler vermiştik.
TDD (Test Güdümlü Geliştirme);
Production kodunu yazmadan önce test kodlarını geliştirme yaklaşımıdır. Kısa development döngülerinin tekrarlanması üzerine kurulu bir yazılım geliştirme tekniğidir…
Birim (Unit) testleri;
Birim testi bir yazılım projesindeki metotların, fonksiyonların doğru çalışıp çalışmadığını anlamak için oluşturulan testtir. Bir testin birim testi olabilmesi için test edilecek birimlerin ayrı ayrı ele alınması gerekmektedir.
Şu andaki tecrübelerimizle (!), gerçek hayatta, Birim testlerinde nelere dikkat etmeliyiz bir göz atalım;
- Test fonksiyonları küçük ve hızlı olmalı. (Her check-inden sonra çalıştırmak ideal olacağı için.)
- Otomatik olarak çalışabilir olmalı.
- Bir buton click ile kolayca çalıştırılabilmeli.
- Code covarage yüksek olmalı ve ölçülebilmeli, gözlenmeli.
- Birim testinde hata alınan yer derhal düzeltilmeli.
- Sadece birimlerin işlevlerini test edecek şekilde olmalı.
- Testler başka testlere bağlı olmamalı, tek başına çalışabilmeli.
- Testler gerçek sınıflara yakın olmalı, aynı solution da olmalı.
- Test isimleri düzgün verilmeli, açıklayıcı ve hangi sınıf için hangi fonksiyon için yazıldığı herkes tarafından kolayca anlaşılmalı.
- 3rd party componentleri kullanırken de bekleneni kontrol etmeli.
- Test covarage mümkün olduğunca executing coverage’a yakın olmalı. Standart olarak executing covarage’ın % 80 i kadarını test covarage’ın kapsaması gerekmektedir. Zaten % 20’lik kalan yerde de veritabanına erişememe dosya sistemine erişememe gibi dışsal etkenler bulunmaktadır. Mock objeler kullandığımız için de bunların birçoğunu zaten bizim kapsamımızda da bulunmayacaktır.
- Sınırlar düzgün kapsanmalı, parametre olarak negatif, 0, nothing, pozitif değerler denenmesi gerekli ise hepsi yazılmalı. (Random generator yazılabilir ama mantıklı gelmedi.)
- Hata fırlatma yapılan kısımlarda da birim testler yazılmalı.
- Dosya, network sisteminden ya da başka kaynaklardan bağımsız olmalı.
- Birim testi yazılırken test uzmanı gibi düşünmeli. Nerelerde hata olabileceği düşünülmeli.
Armağan DÖKER, Ömer KİREMİTÇİ, Deniz KILINÇ
Yorumlar
Yorum Gönder