lego.jpgLos defectos más graves de cualquier software suelen ocurrir en la fase de análisis de requisitos y en muchos casos son defectos que no son detectados hasta fases finales del proyecto. Es por eso que debemos considerar Quality Assurance teams como una parte importante del equipo que debe de integrarse con el ciclo de desarrollo desde etapas tempranas, y no sólo en la fase final de pruebas.

¿Porque es tan importante? Muy sencillo, cuanto más tardemos en identificar estos defectos, más costoso será arreglarlo. Pero no sólo será costoso a nivel técnico, sino también económicamente ya que añadirá un coste extra al proyecto.

Es de gran importancia que el equipo de calidad participe en esta etapa de definición para buscar ambigüedades (que solamente haya una manera de interpretar un requisito y que sean entendibles), revisar que no haya conflictos entre ellos (tal vez la implementación de uno genera conflictos en otro), revisar la testabilidad (¿podemos realizar las pruebas necesarias?) y sobre todo revisar la viabilidad del coste.

Participar en la fase de requisitos nos permite también realizar el análisis de riesgo, que es de vital importancia si queremos mitigar futuros problemas que nos podemos encontrar, pero bueno, esto es otro tema aparte que hablaremos en otra ocasión.

Una vez tenemos los requisitos es de vital importancia tener una buena trazabilidad. Siempre debemos relacionar los casos de prueba con los requisitos y siempre deben de estar todos los requisitos debidamente cubiertos. Para hacer esto lo mejor es usar alguna de las muchas herramientas que hay en el mercado. Podemos usar el Mercury Quality Center, el qatrack, el Test Link, el Silk Central Manager o el Doors. No importa la herramienta que utilicemos, lo importante es tener una buena trazabilidad.

Comenzar en fases tempranas del ciclo de vida del software nos permitirá mejorara la calidad global de nuestras aplicaciones.