Padrões para criação de casos de teste

De MSTECH wiki
Ir para: navegação, pesquisa
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:

TestCases1.png