2011-12-02 32 views
5

Estoy usando Cobertura para calcular la cobertura de código/rama para un proyecto de Java con casos de prueba JUnit. Sé que una cobertura del 100% no indica qué tan bueno es el código, pero en este momento es del 6%. La cobertura de la sucursal es del 1%. Mi intuición dice que la cobertura de la sucursal es probablemente más importante, debido a la naturaleza de la toma de decisiones de este proyecto. Como este es mi único gran proyecto en este momento, no tengo experiencia en los valores adecuados para los objetivos de cobertura de código/rama.Cobertura de código/cobertura recomendada valores

Creo que la cobertura de sucursales es muy importante en esta aplicación, por lo que establezco el valor requerido al 100%. Definí el umbral de cobertura del código en 80%.

¿Qué factor tiene la complejidad del código para estos valores?

Probablemente estoy enfatizando demasiado en los números, pero me gustaría escuchar sobre la experiencia de otras personas. Soy consciente de que estos valores dependen de la naturaleza del proyecto, pero ¿hay algunos consejos generales/artículos/experiencias personales a los que me refiero?

Respuesta

5

Me gustaría saber acerca de la experiencia de otras personas.

Escribí una biblioteca con varias miles de líneas de código y un conjunto de cobertura que era más largo que la biblioteca misma. Al 99.98%, cubrí todas las líneas excepto una: el método provino de un proyecto heredado, y no sabía cómo construir un caso de prueba que alcanzaría esa línea. Cuando mi biblioteca entró en producción, el primer informe de error fue causado por esa única línea no probada.

Mi lección de ese proyecto fue que las líneas que no sabes cómo golpear son las más peligrosas. Si su proyecto requiere una gran cantidad de decisiones, lo mejor para usted es obtener una cobertura del 100%.

+0

incluso el 100% de cobertura de línea no puede garantizar un software libre de errores. Incluso el 100% de la cobertura de bifurcación no puede garantizar eso también. – CuongHuyTo