¿Qué es la densidad de defectos? Fórmula para calcular con ejemplo

¿Qué es la densidad de defectos?

La densidad de defectos es el número de defectos confirmados en el software/módulo. durante un específico periodo de operación o desarrollo dividido por el tamaño del software/módulo. Permite decidir si un software está listo para ser lanzado.

La densidad de defectos se cuenta por cada mil líneas de código, también conocida como KLOC.

Cómo calcular la densidad de defectos

Una fórmula para medir la densidad de defectos:
Defect Density = Defect count/size of the release

El tamaño del lanzamiento se puede medir en términos de una línea de código (LoC).

Ejemplo de densidad de defectos

Supongamos que tiene tres módulos integrados en su producto de software. Cada módulo tiene la siguiente cantidad de errores detectados:

  • Módulo 1 = 10 errores
  • Módulo 2 = 20 errores
  • Módulo 3 = 10 errores

Errores totales = 10+20+10 =40

La línea total de código para cada módulo es

  • Módulo 1 = 1000 LOC
  • Módulo 2 = 1500 LOC
  • Módulo 3 = 500 LOC

Línea total de código = 1000+1500+500 = 3000

La densidad de defectos se calcula como:

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

Densidad de defectos

Un estándar para la densidad de defectos

Sin embargo, no existe un estándar fijo para la densidad de errores; los estudios sugieren que un defecto por cada mil líneas de código generalmente se considera un signo de buena calidad del proyecto.

Factores que afectan las métricas de densidad de defectos.
  • Complejidad del código
  • El tipo de defectos tenidos en cuenta para el cálculo.
  • Duración del tiempo que se considera para el cálculo de la densidad de defectos
  • Habilidades de desarrollador o tester

Ventajas de la densidad de defectos

  • Ayuda a medir la efectividad de las pruebas.
  • Ayuda a diferenciar defectos en componentes/módulos de software.
  • Es útil para identificar las áreas de corrección o mejora.
  • Es útil para señalar componentes de alto riesgo.
  • Ayuda a identificar las necesidades de capacitación de diversos recursos.
  • Puede ser útil para estimar las pruebas y el retrabajo debido a errores.
  • Puede estimar el resto defectos en el software
  • Antes del lanzamiento, podemos determinar si nuestras pruebas son suficientes.
  • Podemos asegurar una base de datos con una densidad de defectos estándar.