Critérios de aceitação são uma descrição do que seria verificado por um teste. Dado um requisito como “Como utilizador, quero verificar um livro da biblioteca”, um critério de aceitação pode ser, “verificar que o livro está marcado como verificado”. Um teste de aceitação para este requisito dá os detalhes para que o teste possa ser executado com o mesmo efeito de cada vez.
Formato do testeEditar
Testes de aceitação geralmente seguem este formulário:
Dado (setup)
Um estado especificado de um sistema
Quando (trigger)
Ocorre uma ação ou evento
Então (verificação)
O estado do sistema mudou ou uma saída foi produzida
Também, é possível adicionar Declarações que começam com AND em qualquer uma das seções abaixo (Given, When, Then).
Para o requisito de exemplo, os passos poderiam ser listados como:
Given Book that has not been checked outAnd User who is registered on the systemWhen User checks out a bookThen Book is marked as checked out
Teste completoEditar
Os passos anteriores não incluem nenhum dado de exemplo específico, de modo que é adicionado para completar o teste:
Dado:
Livro que não foi verificado
Livros | |
---|---|
Título | Conferido |
Grande livro | Não |
Usuário que está registrado no sistema
Usuários | |
---|---|
Nome | Sam |
Quando:
O utilizador verifica um livro
Acção de verificação | |||
---|---|---|---|
Utilizador | Sam | Verifica | Grande livro |
Então:
Livro é marcado como verificado
Livros | ||
---|---|---|
Título | Verificado | Utilizador |
Grande livro | Sim | Sam |
Exame do testeEditar
Exame do teste com dados específicos geralmente leva a muitas perguntas. Para a amostra, estas podem ser:
- E se o livro já tiver sido verificado?
- E se o livro não existir?
- E se o utilizador não estiver registado no sistema?
- Existe uma data em que o livro deverá ser verificado?
- Quantos livros um utilizador pode verificar?
Estas perguntas ajudam a iluminar os requisitos em falta ou ambíguos. Detalhes adicionais, como uma data de vencimento, podem ser adicionados ao resultado esperado. Outros testes de aceitação podem verificar que condições como a tentativa de verificar um livro já verificado produz o erro esperado.
Outro exemplo de testeEditar
Se o cliente empresarial quisesse uma regra de negócio que um utilizador só pudesse verificar um livro de cada vez. O seguinte teste demonstraria que:
Cenário:Verifique se a regra de negócio do checkout é aplicada
Dado:
Livro que foi verificado
Livros | ||
---|---|---|
Title | Checked out | Utilizador |
Great book | Sim | Sam |
Outro grande livro | Não |
Nome
Sam
Quando:
O utilizador verifica outro livro
Acção de verificação | |||
---|---|---|---|
Utilizador | Sam | Verifica | Outro grande livro |
Então:
Ocorre um erro
Descrição
Violação da regra de negócios de checkout
Testes de aceitação de projetoEditar
Além dos testes de aceitação de requisitos, os testes de aceitação podem ser usados em um projeto como um todo. Por exemplo, se este requisito fosse parte de um projeto de checkout de livros de biblioteca, poderia haver testes de aceitação para o projeto como um todo. Estes são frequentemente denominados objetivos SMART. Um exemplo de teste é “Quando o novo sistema de biblioteca estiver em produção, os usuários serão capazes de verificar livros entrando e saindo três vezes mais rápido do que fazem hoje”.