XPManager - Acceptance Tests
Os testes de aceitação são a melhor maneira pela qual o cliente pode fornecer feedback sobre o sistema. São eles que indicam para os desenvolvedores quando a story que eles estão desenvolvendo está pronta ou não. Os testes devem ser escritos pela equipe do cliente, fornecendo material para que os desenvolvedores do sistema possam avaliar o progresso da implementação, e ter certeza de que o que estão desenvolvendo está correto.
Os testes não precisam ser escritos logo no começo, antes do planning game, mas devem estar escritos antes que se inicie o desenvolvimento da story. Eles devem ser preferencialmente automatizados, o que vai gerar ganho de tempo por parte da equipe de desenvolvimento, pois testes manuais tendem a ser mais demorado. O cliente também deve ficar com uma cópia dos testes que ele escreveu, a fim de que ele possa homologar cada versão entregue.
A medida que o cliente vai ficando mais habituado aos acceptance tests, ele vai passando a escrever testes cada vez melhores e mais completos. Não é necessariamente o mesmo membro da equipe do cliente que define as stories e os testes que vai ser o responsável por executar estes testes de aceitação. Esta tarefa pode ser deixada a cargo de uma equipe de testes do cliente, pessoas não necessariamente ligadas ao desenvolvimento do projeto e que tem como única incumbência dar retorno para o encarregado da equipe do cliente sobre como os testes estão sendo executados.
Este é mais um diferencial da XP. Os testes sendo definidos pelo cliente e não pela equipe de desenvolvimento, fazem com que o produto final fique muito mais de acordo com o que o cliente realmente precisa, uma vez que cada tarefa só vai ser dada por concluída depois de passar pelos testes que o próprio cliente definiu. Colocando a criação de testes como uma tarefa do cliente também o obriga a participar de forma realmente efetiva do desenvolvimento do sistema e cria uma “cumplicidade” maior entre equipe de desenvolvimento e equipe do cliente.