Lo que en principio puede parecer una afirmación bastante lógica no siempre es así. En muchas ocasiones son los propios desarrolladores o jefes de proyectos los que, “alegremente”, cierran defectos que no han sido verificados por testing. Un defecto marcado como “Arreglado” (Fixed-Ready to test), debe de ser siempre verificado por el equipo de testing. Si el defecto es “rechazado” por no ser considerado un defecto, el tester deberá de pedir más información sobre el defecto para así realmente verificar que no se trata de un defecto y estar de acuerdo con la decisión. Si el defecto es rechazado por ser considerado “duplicado”, el tester deberá verificar que efectivamente el defecto existe y que efectivamente está duplicado. En muchos proyectos los desarrolladores tienden a esconder los defectos refugiándose en que el defecto está duplicado.

El tester que normalmente encuentra un defecto lo retesteará, pero si el defecto viene de una persona ajena al equipo de pruebas entonces el tester deberá de evaluar e intentar reproducir el defecto. Un defecto no debe ser cerrado si no ha sido revisado por el equipo de testing.

¿Como podemos evitar esta situación? Es importante definir apropiadamente el ciclo de vida de un defecto. Debe de ser añadido como un proceso más a nuestra estrategia de pruebas. Por ejemplo, todo defecto, como mínimo, pasa por los siguientes estados:

  1. Abierto
  2. Asignado
  3. Arreglado
  4. Listo para ser testeado
  5. Cerrado

A estos estados debemos añadir unos sub-estados:

  1. Rechazado, una vez se ha encontrado el defecto es revisado. Si no se considera un defecto, pasaría al estado de “Rechazado”.
  2. Reabierto, este sub-estado ocurre cuando se testea un defecto y todavía no está debidamente arreglado.

Como había comentado anteriormente, estos estados son sólo un ejemplo…dependiendo de las necesidades de vuestra empresa este ciclo de vida variará. Adjunto un ejemplo de los diferentes estados en los que puede estar un defecto: