final lap flagEl hecho de testear una aplicación conlleva reunir cada vez más y más información. Esto a su vez provoca que cada vez encontremos defectos nuevos en áreas o que antes no prestábamos importancia, eternizando el proceso de testing y provocando una sensación (a mi juicio, verdadera) de que “el test nunca termina”. En vez de eso, deberíamos dar por terminado el proceso de test cuando creamos que hay una baja probabilidad de encontrar un defecto de alta severidad.

Podemos destacar algunos factores que nos decidirán dar por finalizado el proceso del testing:

  • Conocemos los tipos de defectos de alta severidad que puedan aparecer.
  • Conocemos como funcionan las áreas funcionales del producto, y sabemos como pueden responder ante un problema importante (se nos ha proporcionado toda la documentación necesaria del producto).
  • La estrategia de test seguida ha sido suficientemente grande (es decir, no nos hemos focalizado especialmente en un área).
  • Hemos usado todos los recursos disponibles para el testing (tools, automatización, etc.).
  • Hemos cumplido con todos los procesos estándares de test que el cliente espera que implantemos.
  • Hemos desarrollado una estrategia de test y unos resultados tan claros como hemos podido.
  • Los defectos (no cerrados) están puestos en conocimiento de los responsables.

Aun así, el mundo no es perfecto y siempre puede aparecer un defecto crítico tras finalizar el proceso, en tal caso, deberíamos hacer un poco de autocrítica y repasar qué estamos haciendo mal:

  • No entendimos correctamente los riesgos y funcionalidades del producto.
  • No hemos cubierto correctamente todas las áreas, y ha habido funcionalidades sin testear.

A medida que vayamos ganando experiencia en el producto y haciendo sucesivas rondas de test, iremos mejorando nuestros procesos y aumentando la cobertura de los mismos siempre que aprendamos de nuestros errores y los corrijamos, en vez de lamentarse.