2018-01-03

La ley de los rendimientos decrecientes también aplica en el testing

Digresión: Iba a titular este post como el éxito de los testers los lleva al fracaso pero me pareció un poco melodramático y lo cambié. Perdón.

Imagino que muchos de ustedes estarán familiarizados con la llamada "ley de los rendimientos decrecientes" tan importante en Economía. Para los que no, dejo un link aquí y transcribo a continuación una breve explicación:
"En economía, la ley de los rendimientos decrecientes es la disminución del incremento marginal de la producción a medida que se añade un factor productivo, manteniendo los otros constantes. Afirma que en todos los procesos productivos, añadir más de un factor productivo mientras se mantienen los otros constantes dará progresivamente menores incrementos en la producción por unidad.​"
Mejor un ejemplo.

Supongamos que tenemos un software que probar. Piensen en el esfuerzo que nos toma, como testers, encontrar errores en él. Al principio cuesta menos encontrar problemas. La propia inmadurez del desarrollo casi que nos los regala. Pero a medida que las horas de testeo se acumulan y el software se estabiliza, encontrar nuevos problemas se vuelve más y más difícil.

Asumiendo que todos los demás factores permanecen constantes, la efectividad de las primeras horas de testing dedicadas es mucho mayor que las últimas (en términos de errores encontrados).

Es por eso que nuestro éxito como testers (encontrar errores en el software para depurarlos) nos lleva al fracaso (no encontrarlos). Con cada nuevo error que encontramos, dejamos menos espacio para encontrar nuevos.

Seguimos pensando..

2 comentarios:

  1. Ernesto, cómo va? espero hayas arrancado bien el año.

    Está curioso el razonamiento jeje. Me hiciste acordar a esto "Debugging is harder than writing code, so if you've been clever in writing code you are by definition not clever enough to debug it.".

    Ahora, tengo una pregunta, ¿el éxito como testers está determinado por la cantidad de errores que encontramos?

    Seguimos pensandooooo
    Abrazo!

    ResponderEliminar
  2. Hola Federico,
    El post apunta al hecho de que el esfuerzo de encontrar errores no rinde en forma constante a lo largo del tiempo.

    Respecto a la pregunta, creo que el éxito del testing es encontrar antes de llegar a producción la mayor cantidad de errores relevantes, con el menor esfuerzo posible.

    En un punto sí, el éxito está determinado por encontrar errores. Tal vez, releyendo, fui muy enfático. No creo que la cantidad sea determinante aunque cuantos más mejor porque error que no se encuentra en testing, se encuentra en producción, no?

    Seguimos pensando...

    ResponderEliminar

Muchas gracias por comentar. Por favor deja tu nombre y/o email, los comentarios son mucho más valiosos cuando se sabe quien los hace.