Ana içeriğe geç

Test Kapsamı

İngilizcesi
Test Coverage
Türkçe karşılığı
kod kapsamı
Okunuşu
test kavıric

Günlük kullanımda iki ad da yaygın.

Güncellendi 2 dk okuma

Bu sayfayı paylaşın

Bağlantıyı gönderin, tanımı bağlantısıyla birlikte alıntılayın ya da kendi sitenizde bir kart olarak gösterin.

https://softwaredictionary.org/tr/terimler/test-coverage

Kısaca

Test kapsamı, otomatik testler çalışırken bir programın kaynak kodunun ne kadarının yürütüldüğünü ölçen ve genellikle yüzde olarak gösterilen bir metriktir.

Test kapsamı nedir?

Çoğunlukla kod kapsamı olarak da adlandırılan test kapsamı, test takımı çalışırken kodunuzun hangi bölümlerinin çalıştığını, hangilerinin çalışmadığını söyler. Bir kapsam aracı %82 gibi bir yüzde raporlar ve boşlukları bir bakışta fark edebilmeniz için genellikle kapsanmayan satırları vurgular.

Kapsam araçları kodu enstrümante eder; yani testler çalışırken yürütülen her satırı, dalı ve fonksiyonu kaydeden gizli sayaçlar ekler. Satır kapsamı çalıştırılan satırları sayar, dal kapsamı her if ifadesinin her iki tarafının da izlenip izlenmediğini kontrol eder, fonksiyon kapsamı ise en az bir kez çağrılan fonksiyonları sayar. Dal kapsamı satır kapsamından daha katıdır ve çoğu zaman test edilmemiş uç durumları ortaya çıkarır.

Kapsamı, bir güvenlik görevlisinin dolaştığı odaların haritası gibi düşünün: nereye gittiğini gösterir, ama dikkatle bakıp bakmadığını göstermez. Ekipler kapsam raporlarını pull request'lerde ve CI/CD hatlarında gösterir; bazıları kapsam %80 gibi bir eşiğin altına düşerse derlemeyi başarısız sayar.

Yaygın bir yanlış anlama, yüksek kapsamın kodun iyi test edildiği anlamına geldiğidir. Kapsam yalnızca kodun çalıştığını kanıtlar; testlerin doğru sonuçları kontrol ettiğini kanıtlamaz, hiç doğrulama (assertion) içermeyen bir test bile %100'e ulaşabilir. Kapsamı kendi başına bir hedef olarak değil, test edilmemiş alanları bulmak için kullanın.

Önemli noktalar

  • Kapsam, testler sırasında hangi kodun çalıştığını gösterir ve genellikle yüzde olarak ifade edilir.
  • Yaygın türleri satır, dal ve fonksiyon kapsamıdır.
  • Dal kapsamı daha katıdır ve test edilmemiş koşulları yakalar.
  • Yüksek kapsam, iyi testleri ya da hatasız kodu garanti etmez.

Örnek

Satır kapsamı ile dal kapsamı neden farklıdırjavascript
function discount(price, isMember) {
  let total = price;
  if (isMember) total = price * 0.9;
  return total;
}

// Test 1 runs every line above: 100% line coverage.
assert.equal(discount(100, true), 90);

// But the "not a member" branch never ran: only 50% branch coverage.
// Test 2 covers it and brings branch coverage to 100%.
assert.equal(discount(100, false), 100);

Sık sorulan sorular

İyi bir test kapsamı yüzdesi nedir?

Pek çok ekip yaklaşık yüzde 70 ile 90 arasını hedefler, ancak herkes için geçerli bir sayı yoktur. Kritik iş mantığını kapsamlı biçimde kapsamak belirli bir rakama ulaşmaktan daha önemlidir ve yüzde 100'ün peşinden koşmak çoğu zaman düşük değerli testlere yol açar.

Kod kapsamı ile test kapsamı aynı şey midir?

Gündelik kullanımda evet: ikisi de genellikle testler tarafından yürütülen kodun yüzdesini ifade eder. Bazıları test kapsamını daha geniş anlamda, yalnızca kod satırlarını değil kaç gereksinimin ya da özelliğin test edildiğini anlatmak için kullanır.

İlgili sayfalar

Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin

Daha fazla

Ayarlar