O que é requisito de teste?
Segundo Amman, Offut., um requisito de teste é:
“um elemento específico de um artefato de software que um caso de teste deve satisfazer ou cobrir”.
Diferentemente dos requisitos do software (que são funções que o usuário espera que o produto tenha para satisfazer suas necessidades), podemos pensar nos requisitos de teste como as condições do software a serem testadas. Ou seja, as possibilidades de entradas e ações a serem testadas.
Em outras palavras, podemos entender os requisitos de teste como as condições que determinado software deve satisfazer, ou ainda, as variações de determinada função que teremos que verificar (testar) desse software.
Por exemplo em uma função simples de cadastro, podemos ter os seguintes requisitos:
- Cadastrar dados de usuário;
- Alterar dados de usuário;
- Remover dados de usuário;
- Imprimir dados de usuário.
Apesar de ser um exemplo bem simples de CRUD, esses seriam os requisitos de teste mais básicos dessa função. Assim, os casos de teste criados, deveriam verificar cada uma deles.
Os requisitos de teste podem ser derivados (criados, obtidos) a partir de diferentes fontes de informação como: documento de requisitos, documentos de modelagem, código fonte da aplicação sob teste, e até mesmo conversando-se com os analistas responsáveis e donos do produto.
É com base nesses requisitos de teste que os casos de teste são gerados. Dessa forma, o conjunto de teste deve ser criado para satisfazer, se possível, todos os requisitos de teste. O “se possível” na frase anterior é dito pois podem haver requisitos de teste que sejam inalcançáveis em um produto de software de modo que seja impossível satisfazê-los.