Objetivo de cobertura de código: ¡el 80% y no menos!


Siguiendo con las traducciones de artículos realmente interesantes con los que me he cruzado, llego a uno bastante curioso. Yo lo leí de la web de googletesting y es el que procedo a traducir.

El autor original es Alberto Savoia, y el artículo original se titulaba "Code coverage goal: 80% and no less! .


Inicialmente posteé (Alberto Savoia) este artículo hace unos cuantos años la web de Artima Developer ; pero la pregunta de cuál es la cobertura de código apropiada sigue surgiendo, así que pensé que era hora de volver a publicar la sabiduría de Testivus sobre el tema.

Testivus y la Cobertura de Código

Una mañana temprano, un joven programador preguntó al gran maestro:

> "Estoy preparado para escribir algunas pruebas unitarias. ¿Qué cobertura de código debo conseguir?"

El gran maestro respondió:

> "No te preocupes de la cobertura, tan sólo escribe algunas buenas pruebas."

El joven programador sonrió, saludó, y se fue.


Ese mismo día más tarde, una segunda programadora realizó la misma pregunta.

El gran maestro señaló una cazuela de agua hiviendo y preguntó:

> "¿Cuántos granos de arroz debería poner en esa cazuela?"

La programadora, perpleja, replicó:

> "¿Cómo podría decirlo? Depende de cuánta gente tengas que alimentar, cómo estén de hambrientos, qué otra comida vayas a servir, cuánto arroz tengas disponible, y otras cosas."

> "Exacto", dijo el gran maestro.

La segunda programadora sonrió, saludó, y se fue.


Hacia el final del día, un tercer programador llegó y realizó la misma pregunta sobre la cobertura de código.

> "¡El ochenta porciento y no menos!" Replicó el maestro con voz severa, golpeando con el puño en la mesa.

El tercer programador sonrió, saludó y se fue.


Después de todo esto, un joven aprendiz se acercó al gran maestro:

> "Gran maestro, hoy le he oído responder la misma pregunta sobre la cobertura de código con tres repuestas diferentes. ¿Por qué?"

El gran maestro se levantó de su silla:

> "Tómate algo de té fresco conmigo y hablemos de ello"

Después de rellenar sus tazas con humeante té verde caliente, el gran maestro comenzó:

> "El primer programador era novato y acaba de empezar con las pruebas. Ahora mismo tiene mucho código pero ninguna prueba. Tiene un largo camino que recorrer; centrarse en la cobertura de código en este momento sería deprimente y totalmente inútil. Es mejor que se vaya acostumbrando a escribir y ejecutar algunas pruebas. Ya se preocupará de la cobertura más adelante. > La segunda programadora, por otro lado, está muy experimentada tanto en programación como en pruebas. Cuando le respondí preguntándole cuántos granos de arroz debería poner en la cazuela, le ayudé a que se diera cuenta de que la cantidad de pruebas necesaria depende de cierto número de factores, y ella sabe esos factores mejor que yo mismo -al fin y al cabo es su código. No hay una respuesta única, simple, y ella es lo suficientemente inteligente como para manejar la verdad y trabajar con eso."

> "Ya veo", dijo el joven aprendiz, "pero si no hay una respuesta simple, entonces porqué le dijo al tercer programador que 'El ochenta porciento y no menos'?"

El gran maestro se rió tan fuerte y alto que su barriga, evidencia de que había bebido algo más que el té verde, se agitó arriba y abajo.

> "El tercer programador sólo quería respuestas simples - incluso cuando no hay respuestas simples... y al fin y al cabo no va a seguirlas de ninguna manera."

El joven aprendiz y el canoso gran maestro terminaron de beber su té en contemplativo silencio.


Original: "Code coverage goal: 80% and no less! , de Alberto Savoia.

Traducción: "Objetivo de cobertura de código: ¡el 80% y no menos!":link://slug/cobertura-80, por Miguel Ángel García


Comentarios

Comments powered by Disqus