Padrões para criação de casos de teste
Versão 1.0 de 29/09/2016
Definição
Os casos de teste (Test cases) são artefatos importantes no processo de teste de software. Servem como um roteiro para auxiliar o testador em meio a tantas regras de negócio e cenários. Definições:
Caso de teste
"Conjunto de valores de entrada, precondições de execução, resultados esperados e pós-condições de execução desenvolvidas para um determinado objetivo ou condição de teste, tais como para exercitar o caminho de um determinado programa ou verificar o atendimento a um requisito especifico [IEEE610]." BSQTB/ISQTB "Casos de teste são elementos essenciais para o sucesso das atividades de teste em um projeto de software. São eles que definem as entradas a serem informadas pelo testador (manualmente ou com apoio ferramental) e os resultados esperados a partir desta ação." DevMedia
Caso de teste lógico
"Caso de teste sem valores concretos (nível de implementação) para os dados de entrada e para resultados esperados. Utilizam operadores e as instancias dos valores reais ainda não estão definidas e/ou disponíveis. Também chamado de caso de teste de alto nível." BSQTB/ISQTB
Construção
Na MSTECH, optamos pela utilização de casos de teste lógicos. Esse modelo de caso de teste atende satisfatoriamente as demandas de testes funcionais manuais, assim como garante a agilidade exigida pelo SCRUM.
Um caso de teste deve contemplar as seguintes informações:
Coluna | Obrigatório | Descrição | Exemplo |
---|---|---|---|
Pré-condição | Não | O caso de teste pode exigir uma pré-condição para ser executado. | Deve haver pelo menos uma escola cadastrada no sistema para que um aluno seja cadastrado. |
Caso de teste | Sim | O caso de teste é a verificação a ser realizada. Nos casos de teste lógicos, há pouco detalhamento dos dados de entrada, o que exige um nível de abstração alto por parte do testador. Por isso também são chamados de Casos de teste de Alto Nível. Independente do nível de detalhamento, o caso de teste deve apresentar informações suficientes para permitir a compreensão por outros testadores.
Caso de teste muito detalhado <=> Maior precisão; exige menos do testador <=> Exige mais esforço para construção e manutenção <=> Nível mais baixo Caso de teste pouco detalhado <=> Menor precisão; exige mais do testador <=> Exige menos esforço para construção e manutenção <=> Nível mais alto |
Cadastrar aluno e realizar as validações das datas. (Nível muito alto)
Acessar a página de cadastro de aluno e cadastrar um aluno com data de nascimento inválida. (Nível alto) Acessar a página de cadastro de aluno e cadastrar um aluno com a data de nascimento 30/02/0000. (Nível mais baixo que os anteriores) |
Resultado esperado | Sim | Resultado que se espera do sistema para que o caso de teste passe, ou seja, seja executado com resultado positivo, sem bugs. | Sistema deve validar a data de nascimento do aluno. (Nível alto).
Sistema deve validar a data de nascimento do aluno, não permitindo datas inexistentes ou ano menor que 1980. (Nível mais baixo que o anterior). |
Status | Não | Situação do caso de teste. Informa a pendência de execução, se possui algum impedimento para execução ou o resultado após a execução. | Passou, Falhou, Com impedimento. |
O analista de testes pode, a seu critério, inserir outros campos que o auxiliem na organização dos casos de teste.
Armazenamento
Os casos de teste deverão ser armazenados na tarefa de teste do requisito. O analista de testes deverá utilizar-se das ferramentas de edição disponíveis no campo de descrição, criando uma tabela de casos de teste.
Exemplo de tabela de casos de teste do Youtrack: