Los 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.


La trazabilidad es uno de los factores mas importantes del testing, si no queremos que todo el trabajo hecho acabe cayendo en saco roto. Yo he tenido la oportunidad de probar el Mercury Quality Center, el Doors y el Tema
.
El Doors tiene una buena gestión de requisitos y permite hacer una trazabilidad con los test cases, pero no nos engañemos, toda la gestion de test cases que trae es muy básica y parece que la hayan hecho “para salir del paso”.
Por otra parte, llevo unas semanas probando el Mercury Quality Center, y parece algo mas elaborado, tiene todo el proceso integrado en una misma herramienta.
Una cosa que me ha gustado bastante del MQC es que al ser cliente web, se puede consultar desde cualquier ordenador sin necesitar ningún requerimiento especial, y esque las herraminetas de Testing tambien han de ser usables!!
sobre el Silk Central Manager, he oido bastante bien de él, pero no lo he podido probar…
Para cuando un review de todas las herramientas???
Respecto a la participación del equipo de QA desde la fase temprana de la Toma de Requisitos, estoy totalmente de acuerdo. No obstante, considero más importante el seguimiento y la gestión de esos requisitos, ya que a lo largo del ciclo de vida de un proyecto, estos requisitos pueden (ocurre a menudo) verse afectados por la dinámica del mercado, por leyes, por prioridades del cliente, etc.
Por lo cual, herramientas tales como el MQC (al que hace referencia Pere) son de vital importancia poder compartirlas entre los diferentes equipos que participan en el desarrollo del proyecto.