_18365dbc-8d55-4cf0-bc97-1f8d32951f7b
Opinión
25 de octubre 2023

El testing no mejora la calidad de nuestro producto, ¿O si?

5 minutos de lectura

En el mundo de la calidad del software, existe una creencia generalizada de que para lograr un producto de calidad es esencial implementar medidas de control, verificación y validación, como el testing.

Si retrocedemos en el tiempo, desde los primeros días del desarrollo de software, se le dio importancia al testing, considerándolo una fase crítica del producto, justo antes de ser entregado al cliente. En esta etapa, las actividades se centraban en verificar si el producto se comportaba según lo establecido en un documento de requisitos, redactado meses antes. En productos más avanzados, se incluía cierta automatización para garantizar que el producto siguiera comportándose como se esperaba, incluso después de añadir nuevas funcionalidades o modificar las ya existentes. Sin embargo, esto no garantizaba que el cliente quedase satisfecho con el resultado final. Era común que lo que se entregaba no cumpliera con las expectativas del cliente, lo que llevaba a desencantos frecuentes.

Con el tiempo, y para poder entregar valor al usuario final de manera continua, aparecieron los denominados marcos de trabajo ágiles, donde en ciclos más cortos, típicamente de dos a cuatro semanas, se definían los requerimientos a implementar, se diseñaban, se codificaban y finalmente se testeaban. A pesar de este nuevo modelo, los problemas persistían: el testing se quedaba al final del proceso y en manos del QA/Tester la responsabilidad de decidir si lo implementado era correcto o no para desplegar en producción. Además, este modelo tampoco aseguraba que el usuario final del producto estuviera contento, que sintiera que el producto le resolvía sus necesidades, y que era un producto de calidad que merecía la pena ser usado en su día a día.

Entonces, si el testing por sí solo no mejora la  calidad de un producto, ¿qué podemos hacer?

El testing es un proceso en el cual se evalúa y se informa del estado de un producto. Es decir, es un proceso que como mucho puede indicar la posible calidad del producto, pero no la mejora por sí misma. 

Si ampliamos esta definición de testing e incluimos en ella procesos de aprendizaje, descubrimiento o exploración, las llevamos a etapas tempranas del desarrollo y trabajamos de manera estrecha con todos los miembros del equipo en esta y otras prácticas, podremos llegar a decir que el testing no mejora la calidad de nuestros productos pero al menos nos ayudará a tomar mejores decisiones que sí lo hagan.

El testing es un proceso en el cual se evalúa y se informa del estado de un producto

Imaginemos diferentes escenarios:

  1. El tester encuentra bugs, riesgos o posibles mejoras. Nadie le hace caso. Si el tester ha hecho bien su trabajo, nos encontraremos con que los usuarios finales se encontrarán con errores, dificultades para usar el producto o incluso imposibilidad de utilizar determinadas funcionalidades. Los usuarios se irán a la competencia y evidentemente la calidad del producto incluso habrá empeorado
  2. Misma situación anterior. En este caso al tester se le hace caso, pero las soluciones a los problemas encontrados no se realizan adecuadamente y obtenemos un resultado final similar.
  3. Situación ideal: se aplican técnicas y mecanismos para construir el producto correctamente desde el inicio. La colaboración y comunicación entre los distintos roles es estrecha. Todo el mundo tiene la calidad en su ADN. El testing no es algo que se realice cuando el desarrollo está finalizado. Incluso no es algo que realice una sola persona o equipo. La realidad será que el producto final estará mucho más cercano a lo que el mercado demanda.

¿Cómo sabemos si el producto entregado cumple las expectativas del usuario final en términos de calidad?

En este punto, debemos considerar dos perspectivas:

  • Desde el punto de vista empresarial, la calidad vendrá determinada por la utilidad y por supuesto en la capacidad del producto para generar retorno de inversión (ROI).
  • Desde el punto de vista del usuario final, la calidad se mide determinada por la capacidad del producto de satisfacer la necesidad de los clientes.

Conclusiones

Afirmar que el testing, por sí solo, es incapaz de mejorar la calidad de nuestros productos, a pesar de cuánto nos enfoquemos en él, es una realidad.

¿Puede el testing, por tanto, cuando se combina con otros procesos, contribuir a mejorar la calidad de nuestros productos? La respuesta es claramente sí.

Siempre que se combine con otros procesos, el testing podrá mejorar la calidad de nuestro producto


En siguientes posts ampliaremos qué actividades y procesos se compatibilizan con las tareas de testing para entregar un producto atractivo para el usuario, con calidad y que por supuesto, tenga un elevado ROI para la empresa. No dejéis de leernos y por supuesto compartir nuestras entradas.

Recomendados

¿Por qué aplicamos el concepto de calidad en lo cotidiano y cuesta tanto en proyectos SW?

Reflexionemos juntos sobre situaciones cotidianas en que todo se realiza con previsión, mimo y...

Testing Exploratorio: breve guía para lograr el éxito en tus sesiones

El testing exploratorio es probablemente uno de los temas que más confusión genera en el mundo del...

La prostitución del término QA

En el dinámico mundo de la tecnología y el desarrollo, los roles relacionados con el testing y la...

La evolución de los títulos de los roles relacionados con testing y calidad

Opinión 8 de noviembre 2023 La evolución de los títulos de los roles relacionados con testing y...

Agile … Is It Worth It? Advantages of Using It

Around 50 years ago, code was written without any plan and the architecture design was determined...

El testing no mejora la calidad de nuestro producto, ¿o si?

En el mundo de la calidad del software, existe una creencia generalizada de que para lograr un...