TESTING TEMPRANO

Seguramente hayas oído hablar del ciclo de vida de un desarrollo software. Es una secuencia de pasos que indica las etapas por las que se necesita pasar para el desarrollo de un software.

En este se observa que hay un paso dedicado a la realización de pruebas de calidad de software, exactamente en la fase denominada “Testing”. Por lo que la gran mayoría de la personas que se le pregunte en qué momento se deben realizar estas pruebas de calidad de testing, contestaría que al finalidad la implementación o codificación del software, pero esto no es lo más recomendable.

Se ha observado que algunos errores no son debidos a defectos en la implementación, sino en que no se han entendido correctamente los requerimientos y necesidades del cliente. Esto supone enorme retraso en la entrega del software al cliente y un elevado coste para solventar el error. Por lo que se recomienda empezar a realizar las pruebas de calidad en las fases iniciales del ciclo de vida del desarrollo de software, es decir, realizar “Testing Temprano”.

Testing Temprano no es un tipo de prueba, ni una etapa en el ciclo de vida de un proyecto software. Testing Temprano es un conjunto de actividades, metodologías, herramientas, procesos, etc. que ayuda a construir software de calidad durante todo el ciclo de vida de un proyecto software.

Por ello, cuanto más pronto intervenga el testing en el ciclo de vida, más pronto se podrán detectar esos defectos, y por tanto menos tiempo y costes supondrán la resolución de ellos. Las pruebas de calidad deben comenzar al inicio del ciclo de vida del desarrollo de software, de modo que cualquier defecto en los requisitos o la fase de diseño se capture en las primeras fases.

Una de las ideas más importantes sobre la realización de pruebas en las fases tempranas del ciclo de vida del desarrollo del software se obtiene en el Modelo V, donde se describe las actividades y resultados que se producen en el trascurso del ciclo de vida del desarrollo de software. En el modelo, el desarrollo y las pruebas son dos ramas iguales. Las pruebas (rama derecha) se diseñan en paralelo al desarrollo (rama izquierda). Por lo que la actividad de las pruebas está presente a lo largo de todo el ciclo de vida del desarrollo de software.

Cuanto más temprano se detecta un defecto en el ciclo de vida del desarrollo del software más barato es su corrección, es decir, es más barato si lo detectamos en la fase de requerimiento donde estos están en escrito pero todavía no están codificados.

Cuando no se implementan las pruebas tempranas y se realizan las pruebas en la fase de Testing, el defecto encontrado y corregido en esta fase ya se indica siendo al menos 5 veces más caro que si se hubiera detectado y corregido en la fase de requerimientos.

No se puede detectar todos los errores en las fases iniciales, algunos defectos sólo se pueden detectar en la ejecución el sistema, es decir, una vez implementado el proyecto software. Pero lo que sí se puede conseguir, es que tras un Testing Temprano reduce el número de errores no detectados y por tanto el coste de sus resolución.

Los tiempos de prueba también se optimizan por el hecho de que el equipo de prueba comienza a trabajar con antelación sobre los requerimientos. Cuando se llega a la fase de Testing ya existe un plan de pruebas, conocimiento de las plataformas, etc. La mayor parte del tiempo estará destinado a la ejecución de pruebas.

Cuanto antes se encuentre el defecto más pronto se podrá solventar.