¿Qué es la densidad de defectos?
La densidad de defectos es el número de defectos confirmados en el software / módulo durante un período específico de operación o desarrollo dividido por el tamaño del software / módulo. Le permite a uno decidir si una pieza de software está lista para ser lanzada.
La densidad de defectos se cuenta por mil líneas de código, también conocido como KLOC.
Cómo calcular la densidad de defectos
Una fórmula para medir la densidad de defectos:
Densidad de defectos = Cantidad de defectos / tamaño de la liberación
El tamaño de la versión se puede medir en términos de una línea de código (LoC).
Ejemplo de densidad de defectos
Suponga que tiene 3 módulos integrados en su producto de software. Cada módulo tiene la siguiente cantidad de errores descubiertos:
- 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:
Densidad de defectos = 40/3000 = 0.013333 defectos / loc = 13.333 defectos / Kloc
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 una señal de buena calidad del proyecto.
Factores que afectan las métricas de densidad de defectos
- Complejidad del código
- El tipo de defectos que se tienen 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 formación de varios recursos.
- Puede ser útil para estimar las pruebas y el retrabajo debido a errores.
- Puede estimar los defectos restantes en el software.
- Antes del lanzamiento, podemos determinar si nuestras pruebas son suficientes
- Podemos garantizar una base de datos con una densidad de defectos estándar