Testes de Software¶
Estratégia de testes¶
Foram definidos algumas estratégias para obter um melhor desempenho:
Níveis de testes
Tipos de testes
Ambientes de testes
Formas de análise
Níveis de testes abordados¶
Para garantir a confiabilidade do sistema AgroStock, serão realizados testes em três níveis distintos:
Testes Unitários: serão aplicados diretamente nas funções e componentes isolados, principalmente no backend, como validação de lógica de cálculo de validade de flores, verificação de campos obrigatórios e manipulação de dados. Esses testes asseguram que cada bloco individual de código se comporta conforme esperado.
Testes de Integração: serão utilizados para validar o funcionamento conjunto entre diferentes módulos, como a comunicação entre o frontend e o backend durante o cadastro, atualização e visualização de produtos no estoque. O objetivo é garantir que os fluxos de dados entre os componentes estejam corretos.
Testes Manuais: envolvem a simulação de ações completas feitas por um usuário final, como o cadastro de um novo produto, visualização de alertas de validade, geração de relatórios e navegação pelas telas. Esses testes permitem avaliar o comportamento do sistema como um todo, de ponta a ponta e serão feitos por integrantes do grupo.
Essa abordagem por camadas garante que tanto o núcleo da aplicação quanto suas interfaces e integrações estejam bem validadas ao longo do desenvolvimento.
Tipos de testes abordados¶
A estratégia adotada contempla apenas testes funcionais conforme a natureza das funcionalidades testadas:
Testes Funcionais: são o foco principal e têm o objetivo de verificar se os requisitos levantados foram corretamente implementados. Isso inclui funcionalidades como: cadastro de flores e insumos, alertas de validade, geração de relatórios e controle de movimentações de estoque. Esses testes serão baseados diretamente nas user stories e requisitos do backlog.
Esse teste garante não apenas que o sistema funcione, mas que ofereça uma boa experiência ao usuário.
Ambientes de testes usados¶
Para garantir segurança, controle e fidelidade ao uso real, os testes serão executados em ambientes distintos, conforme o tipo de teste:
Ambiente de Desenvolvimento (Local): utilizado para testes unitários e experimentações rápidas durante a codificação. Executado localmente pelos desenvolvedores, com simulação de dados.
Ambiente de Homologação: será configurado para execução dos testes de integração e sistema. Esse ambiente simula as condições reais de uso (com banco de dados, autenticação e APIs funcionando) e é acessível a todos os membros da equipe. Ele permite validar a aplicação sem comprometer o ambiente de produção e será com a ferramenta Postman, com dados fictícios para simulação e validação das operações.
Ambiente de Produção: não será utilizado para execução de testes, evitando riscos para os usuários finais e os dados reais do sistema.
O uso de ambientes separados garante segurança, organização dos testes e uma base confiável para tomadas de decisão ao longo do projeto.
Formas de análise dos testes propostos¶
A análise dos testes será conduzida com base em critérios objetivos e evidências coletadas durante a execução de cada caso de teste. Os principais métodos adotados incluem:
Critérios de Aceitação: cada caso de teste terá um resultado esperado claramente definido, com base nos requisitos do sistema. Um teste será considerado "aprovado" apenas se o comportamento observado for igual ao esperado.
Registros de Evidência: serão coletadas evidências visuais (como capturas de tela) e registros de log (quando aplicável) para cada execução, especialmente nos testes manuais.
Documentação de Falhas e Correções: eventuais erros encontrados durante os testes serão documentados junto com suas respectivas soluções, permitindo rastreabilidade e aprendizado contínuo da equipe.
Métricas de Execução: sempre que possível, serão registradas métricas como número total de testes executados, porcentagem de sucesso, tempo médio de execução e número de ciclos necessários até a aprovação.
Essa abordagem garante que a validação do sistema seja feita de forma controlada, transparente e com dados concretos que justifiquem as decisões tomadas no processo de desenvolvimento.
Roteiro de teste¶
Para minimizar os riscos no ambiente de teste e preservar a integridade do projeto, todos os testes planejados serão realizados em uma branch dedicada. Essa estratégia garante que possíveis erros ou modificações durante os testes não impactem o código principal do projeto.
Pré-condição para testes: fica determinado fazer na ordem dos códigos, assim, tudo estará pronto para o próximo passo.
ID | Teste a ser Realizado | Descrição | Esperado | Definição de Aceito | Registros ao Fazer o Teste | Reparos Feitos | Status |
---|---|---|---|---|---|---|---|
TU1.1 | Cadastro de flores | Verifica se o serviço cadastra as flores corretamente. | Cadastrar uma nova flor. | A flor deve entrar no sistema. | A começar | ||
TU1.2 | Exclusão de flores | Verifica se o serviço exclui as flores corretamente. | Excluir uma flor existente. | A flor deve ser excluída do sistema. | A começar | ||
TU2 | Consulta Rápida de Produtos | Pesquisar produtos pelo nome, tipo, validade ou quantidade. | Pesquisar e encontrar o produto. | Receber a busca pela flor corretamente. | A começar | ||
TI1.1 | Registrar Entradas no Estoque | Registrar entrada no estoque com data, quantidade, motivo e responsável. | Adicionar a flor no estoque. | A flor deve entrar no estoque. | A começar | ||
TI1.2 | Registrar Saídas no Estoque | Registrar saída no estoque com data, quantidade, motivo e responsável. | Tirar uma flor do estoque. | A flor deve sair do estoque. | A começar | ||
TI2.1 | Controle de Validade e Lote | Associar data de validade ao produto e enviar alerta quando próximo do vencimento. | Enviar a notificação. | Deve haver um sinal de que a notificação foi enviada. | A começar | ||
TI2.2 | Notificação de Validade | Receber o alerta da data de vencimento quando ativada. | Receber a notificação. | A notificação deve ser recebida. | A começar | ||
TI3 | Estoque Mínimo e Máximo | Definir faixas de estoque por item. | Limitar a quantidade de um item. | Não deixar ultrapassar a quantidade máxima definida para flores. | A começar | ||
TI4 | Alerta de Produtos com Baixo Giro | Listar produtos parados no estoque por muito tempo. | Identificar os produtos parados. | Gerar uma lista de produtos com baixo giro. | A começar | ||
TM1 | Leitura de QR Code | Permitir a leitura de QR Code para identificar produtos e lotes. | O QR Code deve funcionar corretamente. | O testador deve ser direcionado corretamente após a leitura do QR Code. | A começar | ||
TM2 | Registros Incompletos | Tentar registrar de maneira incompleta uma flor ou um usuário. | O sistema negar o registro. | Dar erro e voltar uma mensagem de erro de maneira adequada. | A começar |