Unit Test metodlarında bulunması gereken özellikler

1 Şub

Test Driven Developmant uygulamalarında karşılaştığımız kalıp terimlerden biri olan birim testlerin(unit tests) sahip olması gereken bazı temel özelliklerden bahsetmeye çalışacağız.

Birim test(unit test), bir kod parçasını çağırarak o kod parçasının istenen davranışı sergileyip sergilemediğini kontrol eden başka bir kod parçasıdır. “Birim” kavramı bir metod veya bir fonksiyon olarak düşünülebilir.(osherove – The Art of Unit Testing)

Birim testlerde bulunması gereken bazı ortak özellikler vardır. Bunlar:

  • Atomik
  • Deterministik
  • Tekrarlanabilir
  • Bağımsız
  • Hız

Atomik: Birim test metodu tek bir işlevselliği test etmelidir. Birden fazla işlevi test etmek,  anlaşılabilirliği azaltacağı gibi süreçte karmaşıklığa yol açar.

Deterministik: Bir test metodu ya başarıyla testten geçer(pass) ya da geçemez(fail). Yani sonuçsuz bir durum söz konusu değildir.

Tekrarlanabilirlik: Bir kere başarıyla geçen birim test, test metodunda veya test edilen kodda bir değişiklik yapılmadığı sürece her çalıştırıldığında aynı davranışı sergiler. Bazen geçip bazen geçmeyen testler tekrarlanabilir değildir.

Bağımsız: Birim testin çalışması için herhangi bir başka teste, uygulamaya veya dış kaynağa(veri tabanı, mail sunucu v.b) bağımlı olmaması gerekir.

Hız: Birim testler olabildiğince hızlı çalışmalıdır. Bir birim test, dakikalar, saniyeler değil milisaniyeler içinde sonuçlanmalıdır.