El testing puede ser estudiado y ejecutado de forma sistemática. Hay conocimiento volcado en los libros y existen esquemas de certificación para dar prueba de ello (ISTQB, ISEB, GTB).
Pero para el tester o el test engineer que trabaja en entornos ágiles hay mas actividades. Principalmente:
- Diseño de las pruebas
- Ejecución de las pruebas
- Observar y análisis de resultados.
- Si además el resultado se desvía de lo esperado, reportar el problema y hacerle seguimiento.
- Automatización de las pruebas
- Gestión del tiempo de las pruebas
El tester aprende ciertas técnicas, las sigue, ejecuta los tests y finalmente genera un reporte de ejecución. La ejecución de las pruebas es una de las últimas actividades del proyecto, y normalmente se ejerce mucha presión sobre los testers para que den su trabajo por terminado, y esta presión puede llevar a que no se reporten problemas, ya que se persigue el "Done".
Esto no es muy motivador puesto que la presión se ejerce más sobre que se firme el documento a que se complete el ciclo y se aproveche la inversión en calidad que ha habido durante el proyecto.
Mas que "no hay tiempo para probar" deberíamos pensar en "no hay tiempo para estabilizar", "no queda budget para resolver defectos", o "como no podemos peligrar las fechas enfoquémonos en defectos del tipo X" para conseguir mejorar iterando. Hay que tener claro dónde nos hemos quedado y si hemos errado al estimar que contramedidas hemos de poner en práctica en la siguiente iteración para ser más realistas o reaccionar antes ante una desviación.