Atividades de Teste para a Funcionalidade de Criação de Tarefas
Este documento descreve as atividades principais das etapas de teste para a funcionalidade de criação de tarefas em um software de gerenciamento de tarefas. O objetivo é garantir que essa funcionalidade crítica atenda aos requisitos especificados, seja robusta e livre de defeitos.
1. Cenário e Escopo do Software Testado
O software em questão é um sistema de gerenciamento de tarefas projetado para uma pequena equipe de desenvolvimento. Ele permite que os usuários criem tarefas, as atribuam a membros da equipe, acompanhem seu progresso e gerem relatórios. Para este documento, o escopo dos testes será limitado à funcionalidade de criação de tarefas, que é essencial para o funcionamento do sistema. Essa funcionalidade deve permitir que o usuário insira um título, uma descrição, uma data de vencimento e uma prioridade, salvando a tarefa no sistema e exibindo-a na lista de tarefas, desde que os dados fornecidos sejam válidos.
2. Técnicas e Critérios de Teste
Para garantir a qualidade da funcionalidade de criação de tarefas, serão utilizadas três abordagens de teste: funcional, estrutural e de mutação. Cada uma dessas técnicas tem objetivos específicos e critérios bem definidos.
2.1 Teste Funcional
- Objetivo: Verificar se a funcionalidade de criação de tarefas atende aos requisitos especificados.
- Técnicas:
- Particionamento de Equivalência: Divide as entradas em classes equivalentes (ex.: título válido/inválido, data futura/passada).
- Análise de Valores Limite: Testa os limites das entradas (ex.: data de vencimento igual à data atual).
- Critérios: Todos os cenários de entrada relevantes devem ser testados, incluindo casos válidos e inválidos.
2.2 Teste Estrutural
- Objetivo: Garantir que todas as partes do código da funcionalidade sejam executadas.
- Técnicas: Análise de cobertura de código.
- Critérios:
- Cobertura de Instruções: 100% das linhas de código devem ser executadas.
- Cobertura de Ramos: 100% das decisões condicionais (ramos) devem ser cobertas.
2.3 Teste de Mutação
- Objetivo: Avaliar a eficácia dos casos de teste ao detectar defeitos introduzidos intencionalmente.
- Técnicas: Introdução de mutações no código (ex.: alteração de operadores lógicos ou condições).
- Critérios: Escore de mutação de 100%, ou seja, todos os mutantes devem ser detectados pelos casos de teste.
3. Definição dos Casos de Teste
Abaixo, os casos de teste são definidos para cada tipo de teste, considerando os requisitos e a estrutura do software.
3.1 Casos de Teste Funcional
ID | Descrição | Entrada | Resultado Esperado |
---|---|---|---|
TF01 | Criar tarefa com campos válidos | Título: "Reunião", Descrição: "Planejar sprint", Data: 10/11/2023, Prioridade: Alta | Tarefa criada com sucesso e exibida na lista |
TF02 | Criar tarefa com título vazio | Título: "", Descrição: "Revisar código", Data: 10/11/2023, Prioridade: Média | Mensagem de erro: "Título é obrigatório" |
TF03 | Criar tarefa com data no passado | Título: "Teste", Descrição: "Testar sistema", Data: 01/01/2023, Prioridade: Baixa | Mensagem de erro: "Data deve ser futura" |
3.2 Casos de Teste Estrutural
Considerando que o código da funcionalidade possui as seguintes partes principais:
- Verificação se o título está vazio.
- Verificação se a data de vencimento é futura.
- Salvamento da tarefa no banco de dados.
ID | Descrição | Entrada | Objetivo de Cobertura |
---|---|---|---|
TE01 | Título vazio | Título: "", Descrição: "Teste", Data: 10/11/2023 | Cobrir ramo "título vazio" |
TE02 | Data no passado | Título: "Teste", Descrição: "Teste", Data: 01/01/2023 | Cobrir ramo "data inválida" |
TE03 | Dados válidos | Título: "Teste", Descrição: "Teste", Data: 10/11/2023 | Cobrir ramo "salvar tarefa" |
3.3 Casos de Teste de Mutação
Serão introduzidas mutações no código para testar a robustez dos casos funcionais:
- Mutante 1: Alterar
if (titulo == "")
paraif (titulo != "")
na verificação do título. - Mutante 2: Alterar
if (data > hoje)
paraif (data < hoje)
na verificação da data.
ID | Mutação | Caso de Teste Associado | Resultado Esperado |
---|---|---|---|
TM01 | Verificação do título invertida | TF02 | Teste deve falhar, detectando a mutação |
TM02 | Verificação da data invertida | TF03 | Teste deve falhar, detectando a mutação |
4. Submissão dos Casos de Teste ao Sistema
Os casos de teste foram executados no software de gerenciamento de tarefas. Abaixo estão os resultados obtidos.
- TF01: Tarefa criada com sucesso e exibida na lista.
- TF02: Mensagem de erro "Título é obrigatório" exibida.
- TF03: Mensagem de erro "Data deve ser futura" exibida.
- TE01: Cobriu a verificação do título vazio.
- TE02: Cobriu a verificação da data de vencimento.
- TE03: Cobriu o salvamento da tarefa no banco de dados.
- TM01: O caso TF02 falhou no mutante, detectando a alteração na verificação do título.
- TM02: O caso TF03 falhou no mutante, detectando a alteração na verificação da data.
5. Verificação dos Resultados
Os resultados dos testes foram verificados:
- Testes Funcionais: Todos os casos passaram conforme esperado.
- Testes Estruturais: Cobertura de instruções e ramos alcançada em 100%.
- Testes de Mutação: Escore de mutação de 100%, todos os mutantes detectados.
Conclusão
A funcionalidade de criação de tarefas foi rigorosamente testada utilizando abordagens funcionais, estruturais e de mutação. Os resultados mostram que ela atende aos requisitos, possui cobertura completa de código e é suportada por casos de teste robustos capazes de detectar defeitos. Este documento detalha todas as etapas do processo de teste, garantindo a qualidade do software.