Kusur Yoğunluğu Nedir? Örnekle Hesaplanacak Formül

Kusur Yoğunluğu Nedir?

Kusur Yoğunluğu, yazılımda/modülde onaylanan kusurların sayısıdır belirli bir süre boyunca dönemi operasyon veya geliştirmenin yazılım/modül boyutuna bölünmesiyle elde edilir. Bir yazılımın yayınlanmaya hazır olup olmadığına karar verilmesini sağlar.

Kusur yoğunluğu, KLOC olarak da bilinen bin kod satırı başına sayılır.

Kusur Yoğunluğu nasıl hesaplanır?

Kusur Yoğunluğunu ölçmek için bir formül:
Defect Density = Defect count/size of the release

Sürümün boyutu bir kod satırı (LoC) cinsinden ölçülebilir.

Kusur Yoğunluğu Örneği

Diyelim ki, yazılım ürününüze entegre edilmiş 3 modülünüz var. Her modülde keşfedilen hata sayısı şu şekildedir:

  • Modül 1 = 10 hata
  • Modül 2 = 20 hata
  • Modül 3 = 10 hata

Toplam hata = 10+20+10 =40

Her modül için toplam kod satırı:

  • Modül 1 = 1000 LOC
  • Modül 2 = 1500 LOC
  • Modül 3 = 500 LOC

Toplam Kod Satırı = 1000+1500+500 = 3000

Kusur Yoğunluğu şu şekilde hesaplanır:

Defect Density = 40/3000 = 0.013333 defects/loc = 13.333 defects/Kloc

Kusur Yoğunluğu

Kusur yoğunluğu için bir standart

Ancak hata yoğunluğu için sabit bir standart yoktur; çalışmalar, her bin kod satırındaki bir Hatanın genellikle iyi proje kalitesinin bir işareti olarak kabul edildiğini göstermektedir.

Kusur yoğunluğu ölçümlerini etkileyen faktörler
  • Kod karmaşıklığı
  • Hesaplamada dikkate alınan kusur türleri
  • Kusur yoğunluğu hesaplamasında dikkate alınan süre
  • Geliştirici veya Test Kullanıcısı becerileri

Kusur yoğunluğunun avantajları

  • Test etkinliğinin ölçülmesine yardımcı olur
  • Bileşenlerdeki/yazılım modüllerindeki kusurların ayırt edilmesine yardımcı olur
  • Düzeltilmesi veya iyileştirilmesi gereken alanların belirlenmesinde faydalıdır
  • Yüksek riskli bileşenlere işaret etmede faydalıdır
  • Çeşitli kaynaklara yönelik eğitim ihtiyaçlarının belirlenmesine yardımcı olur
  • Hatalar nedeniyle test ve yeniden çalışmanın tahmin edilmesinde yardımcı olabilir
  • Geri kalanını tahmin edebilir kusurlar yazılımda
  • Yayınlanmadan önce testlerimizin yeterli olup olmadığını tespit edebiliyoruz
  • Standart hata yoğunluğuna sahip bir veritabanı sağlayabiliriz