Wat is defectdichtheid? Formule om te berekenen met Voorbeeld

Wat is defectdichtheid?

Defectdichtheid is het aantal bevestigde defecten in de software/module tijdens een specifieke periode van operatie of ontwikkeling gedeeld door de grootte van de software/module. Het stelt iemand in staat te beslissen of een stukje software klaar is om vrijgegeven te worden.

Defectdichtheid wordt geteld per duizend regels code, ook bekend als KLOC.

Hoe de defectdichtheid te berekenen

Een formule om de defectdichtheid te meten:
Defect Density = Defect count/size of the release

De omvang van de release kan worden gemeten in termen van een regel code (LoC).

Voorbeeld van defectdichtheid

Stel dat u 3 modules in uw softwareproduct hebt geïntegreerd. Elke module heeft het volgende aantal ontdekte bugs:

  • Module 1 = 10 bugs
  • Module 2 = 20 bugs
  • Module 3 = 10 bugs

Totaal aantal bugs = 10+20+10 =40

De totale coderegel voor elke module is

  • Module 1 = 1000 LOC
  • Module 2 = 1500 LOC
  • Module 3 = 500 LOC

Totale coderegel = 1000+1500+500 = 3000

Defectdichtheid wordt berekend als:

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

Defectdichtheid

Een standaard voor defectdichtheid

Er bestaat echter geen vaste standaard voor de dichtheid van bugs. Uit onderzoek blijkt dat één defect per duizend regels code over het algemeen wordt beschouwd als een teken van goede projectkwaliteit.

Factoren die van invloed zijn op de defectdichtheidsstatistieken
  • Codecomplexiteit
  • Het soort defecten waarmee rekening is gehouden bij de berekening
  • Tijdsduur waarmee rekening wordt gehouden bij de berekening van de defectdichtheid
  • Ontwikkelaars- of testervaardigheden

Voordelen van defectdichtheid

  • Het helpt om de effectiviteit van testen te meten
  • Het helpt bij het onderscheiden van defecten in componenten/softwaremodules
  • Het is nuttig bij het identificeren van de gebieden die correctie of verbetering behoeven
  • Het is nuttig om te wijzen op componenten met een hoog risico
  • Het helpt bij het identificeren van de trainingsbehoeften voor verschillende bronnen
  • Het kan nuttig zijn bij het inschatten van het testen en herwerken als gevolg van bugs
  • Het kan het resterende bedrag schatten gebrek in de programmatuur
  • Vóór de release kunnen we bepalen of onze tests voldoende zijn
  • Wij kunnen zorgen voor een database met een standaard defectdichtheid