7. Projeto Final: Planejar, criar e executar testes e relatar os resultados


Projeto Final: Da Ideia ao Relatório – O Q.A. na Prática em um Aplicativo de E-commerce

Chegamos ao ponto culminante de todo o aprendizado: o Projeto Final. Este é o momento de consolidar todos os conhecimentos adquiridos, desde os fundamentos da qualidade até as técnicas avançadas de automação e desempenho. O objetivo é aplicar suas habilidades em um cenário real, simulando o trabalho de um profissional de Q.A. em um projeto prático.

Neste projeto, você terá a oportunidade de demonstrar sua capacidade de planejar, criar, executar e relatar testes em um software real, focando em um aplicativo de e-commerce. Essa experiência é inestimável e servirá como um pilar sólido para o seu portfólio profissional.

Cenário: Aplicativo de E-commerce

Imagine que você faz parte de uma equipe de desenvolvimento responsável por um aplicativo de e-commerce. Sua missão é garantir a qualidade deste aplicativo, cobrindo seus principais fluxos e funcionalidades.

1. Plano de Testes de Ponta a Ponta e Relatório para um Aplicativo de Comércio Eletrônico

Seu principal entregável será um Plano de Testes de Ponta a Ponta abrangente, seguido de um Relatório de Testes detalhado. Este plano deve guiar todas as suas atividades e o relatório deve resumir suas descobertas e a qualidade do aplicativo.

Itens Essenciais para o Seu Portfólio (e para o Projeto):

Para construir um portfólio robusto e demonstrar suas habilidades, você deverá desenvolver os seguintes itens, que serão a base do seu projeto:

  • Criar User Stories para Acompanhar os Testes:
    • Com base em funcionalidades comuns de e-commerce (e.g., “Como cliente, quero buscar produtos”, “Como cliente, quero adicionar produtos ao carrinho”, “Como cliente, quero finalizar uma compra”, “Como vendedor, quero cadastrar um produto”), escreva User Stories claras e concisas.
    • As User Stories devem ser do ponto de vista do usuário e descrever o valor que a funcionalidade entrega.
  • Criar e Revisar Critérios de Aceitação:
    • Para cada User Story, defina Critérios de Aceitação detalhados e testáveis, utilizando a sintaxe Gherkin (Dado/Quando/Então).
    • Exemplo:
      • Dado que estou na página de detalhes do produto “Camiseta X”
      • Quando eu clico no botão “Adicionar ao Carrinho”
      • Então o produto “Camiseta X” deve ser adicionado ao meu carrinho
      • E o ícone do carrinho deve exibir “1” item
      • E uma mensagem de sucesso “Produto adicionado!” deve ser exibida.
    • Revise os critérios para garantir que são claros, unívocos e cobrem os cenários de sucesso e falha.
  • Criar um Plano de Teste Completo com MindMap:
    • Desenvolva um Plano de Teste formal, documentando o escopo do teste, estratégia, recursos, cronograma e ambiente.
    • Utilize um MindMap (Mapa Mental) para visualizar e organizar os cenários de teste, fluxos e funcionalidades do aplicativo de e-commerce. Isso ajuda a garantir uma cobertura abrangente e a identificar dependências.
    • Decida entre técnicas e ferramentas apropriadas com base nas descobertas:
      • Quais tipos de teste (funcional, usabilidade, performance, segurança, compatibilidade) são mais relevantes?
      • Quais técnicas (caixa preta, caixa branca, exploratória) serão aplicadas?
      • Quais ferramentas você utilizará para cada tipo de teste (Postman/Cypress para API, Appium para mobile, JMeter/BlazeMeter para performance)? Justifique suas escolhas.
  • Realizar e Reportar em APIs Web e Mobile:
    • Identifique as APIs relevantes do aplicativo de e-commerce (e.g., buscar produtos, adicionar ao carrinho, finalizar pedido).
    • Execute testes manuais de API usando Postman ou ferramenta similar.
    • Automatize fluxos de teste da Web e APIs:
      • Utilize Cypress para automatizar cenários de teste end-to-end na interface web do e-commerce.
      • Utilize cy.request() ou outra ferramenta/biblioteca de automação para testar as APIs do aplicativo, cobrindo os métodos GET, POST, PUT, DELETE.
  • Criar Estratégias de Teste com Base em Cenários:
    • Desenvolva estratégias específicas para diferentes cenários, como:
      • Fluxo de compra (usuário não logado, logado, com cupom, com frete grátis, etc.)
      • Gerenciamento de estoque (produto esgotado, produto com poucas unidades)
      • Notificações e e-mails transacionais.
  • Planejar e Executar Testes de Performance com 50 Usuários no JMeter e/ou BlazeMeter:
    • Identifique um fluxo crítico (e.g., finalização de compra, busca de produtos) para teste de performance.
    • Crie um script JMeter que simule 50 usuários simultâneos realizando esse fluxo.
    • Execute o teste utilizando JMeter localmente e, se possível, com BlazeMeter ou outra ferramenta de nuvem para simular a carga.
    • Analise os resultados: tempo de resposta, taxa de erro, throughput. Identifique possíveis gargalos.
  • Organizar Dados para Demonstrar Descobertas, Estratégias e Resultados:
    • Compile um Relatório de Testes claro e conciso.
    • Inclua um resumo executivo, escopo dos testes, metodologia, resultados (com gráficos e tabelas para testes de performance), bugs encontrados, e recomendações.
    • Apresente suas estratégias de teste (Plano de Testes, MindMap) e as decisões tomadas.

Atividades: Portfólio na Conta GitHub

A culminância deste projeto será a criação de um Portfólio na sua conta GitHub. Este repositório deve ser organizado e conter todos os artefatos gerados:

  • Documentos: Plano de Testes (em formato Markdown, PDF ou DOC), Critérios de Aceitação (Gherkin), Relatório de Testes.
  • Scripts de Teste:
    • Scripts de automação web (Cypress).
    • Scripts de automação de API (Cypress ou Postman Collections com testes).
    • Scripts de teste de performance (JMeter .jmx).
  • Imagens/Diagramas: MindMaps, capturas de tela relevantes de bugs ou resultados.
  • Dados: Resultados brutos e processados dos testes de performance.

Este projeto não apenas solidificará seu aprendizado, mas também servirá como uma poderosa demonstração prática de suas habilidades para futuros empregadores. Boa sorte!


Qual parte deste projeto final você acredita que será a mais desafiadora para você, e por quê?