Hace ya muchos años se demostró que al testear logramos evitar problemas graves luego de que el producto pasa a producción. Quienes trabajamos en sistemas, sobre todo los que nos especializamos en el área de calidad, sabemos lo importante que es controlar el producto antes de cualquier implementación.

Pero, ¿Todos lo ven así? Aunque no parezca posible, en 2021 seguimos escuchando frases como:

Muchas veces el  mayor desafío que tenemos en QA es asegurarnos un “lugarcito” en la planificación del proyecto y, por supuesto, que este mismo no sea utilizado como colchón para desvíos de planificación.

Ahora bien, lo importante no es solo testear una vez que el producto está listo, sino involucrar al testing en las etapas tempranas del proyecto. Existen muchas formas de demostrar que cualquier detección temprana de errores implica, no solo una reducción de éstos en la producción, sino también la baja del costo incurrido por el re-trabajo necesario para solucionarlo, el cual, irónicamente, incluirá a su vez una etapa de testing.

Pongamos un ejemplo:

Asumiendo que contamos con las siguientes etapas básicas de un proyecto

Cada error que se detecte en la etapa en que se ocasionó tiene el costo de solución equivalente a dicha etapa. Sin embargo, en caso de que se encuentre en la etapa posterior o subsiguiente, sumará también el costo de todas las etapas intermedias, hasta la que la causó.

El siguiente cuadro muestra cual es porcentaje de defectos que se originan en las distintas etapas de un proyecto:

Este ejemplo deja clara la importancia de involucrar el testingen las etapas iniciales del proyecto, ya que el costo de solucionar los errores heredados de las etapas anteriores es superior al de solucionarlo en la que se originó.

El próximo gráfico expone el costo de corrección de defectos según la etapa de detección:

Involucrar a los actores de calidad desde el inicio del proyecto e incluyéndolos en el costo operativo del proyecto y como colaboradores en cada fase repercute positivamente, logrando la calidad integral del producto, bajando al mínimo los defectos post implementación y, en el caso de que estos aparezcan, que sean solo de muy bajo impacto. Es decir, que el proyecto haga lo que se espera y de la forma esperada con un mínimo de defectos.

Entonces, podríamos inferir que los beneficios de incluir testing en las etapas tempranas de un proyecto se traducen en:

  • Mejorar la calidad del código final con menor costo de regresión de etapas.
  • Facilitar los cambios ni bien se detecta un error
  • Agilizar la transición entre etapas
  • Facilitar la toma de decisiones en cuanto a un cambio de alcance
  • Reducir los costos post implementación al trasladar menos errores a producción
  • Se reduce la deuda técnica en los proyectos y su consiguiente costo de mantenimiento
  • Por todo esto es que testear siempre es la mejor estrategia.

Por todo esto es que testear siempre es la mejor estrategia