Muitas das regras desta fase já foram explicadas nas fases anteriores. Crie os testes mesmo antes de criar os módulos do sistema e, efetivamente, execute-os mesmo que eles não tenham condições de serem testados. Existem vários ambientes de testes que dependem da linguagem de programação utilizada, assim como uma série de métodos e recomendações. Adote uma delas ou crie uma metodologia que possa ser aplicada a seu sistema.
Quando aparecer um problema (When a Bug is Found), antes de resolvê-lo, crie um teste que possa detectá-lo efetivamente, evitando assim que o mesmo tipo de problema apareça repetidas vezes. A importância disso se torna mais evidente a partir do momento em que somos obrigados a resolver inúmeras vezes o mesmo tipo de problema. Você deve encará-los como os ovos de aliens (os do filme Alien, o Oitavo Passageiro): elimine-os assim que eles aparecerem! Caso contrário, eles vão explodir o seu abdome: bugs não entram em backlog e não são priorizados, eles são imediatamente eliminados.
Por fim, devem ser definidos junto aos usuários/clientes os Acceptance Tests, testes de aceitação, um conjunto de regras que irá informar quando um módulo está pronto para entrar em produção. O Acceptance Test é uma volta às User Stories, quando o usuário poderá comprovar que o módulo que foi desenvolvido corresponde a sua necessidade. A rigor, o teste de aceitação é o roteiro a ser executado, definido na história de usuário. Preferencialmente, esse teste deve ser automatizado.