Ipê Pedidos Ambiente de desafio · Forte Tecnologias
Entrar no sistema

Desafio técnico · Estágio em QA

Primeira etapa do processo seletivo da Forte Tecnologias

O Ipê Pedidos é o sistema de pedidos de um viveiro fictício. Ele foi feito só para este desafio e tem defeitos. Seu trabalho é testá-lo como uma pessoa de QA faria: achar os problemas, relatar cada um de um jeito que o time consiga reproduzir e mostrar como você pensa os testes.

Você entra com o código de acesso e a senha que recebeu por e-mail. Cada código tem um ambiente só seu: o que você cadastra não aparece para mais ninguém. O botão "Restaurar dados de exemplo" devolve o ambiente ao estado inicial quando você quiser.

Prazo e entrega

Regras

As regras do sistema

Você entra como a vendedora Bruna Lima. A empresa tem outro vendedor, o Rafael Souza.

H1. Clientes

H2. Produtos

H3. Novo pedido

H4. Desconto e frete

H5. Meus pedidos

O que fazer

A. Teste exploratório e relatório de bugs (40 pontos)

Explore o sistema e registre os bugs que encontrar. Para cada um, informe:

A qualidade do relato pesa tanto quanto a quantidade. Um bug que ninguém consegue reproduzir vale pouco, e um relato que contradiz as regras acima perde ponto.

Modelo de relato:

B1. Exportar pedidos gera planilha vazia
Passos: 1) Entrar no sistema. 2) Abrir Meus pedidos. 3) Clicar em "Exportar".
Esperado (H9): planilha com os pedidos da lista.
Obtido: planilha só com o cabeçalho.
Evidência: video-b1.mp4
Severidade: média. A vendedora não consegue levar os pedidos para fora do sistema, mas ainda os consulta na tela.

O exemplo é inventado: o Ipê Pedidos não tem exportação nem regra H9.

B. Casos de teste (25 pontos)

Escreva casos de teste para a regra H4 (desconto e frete). Para cada caso, informe as entradas (itens ou subtotal, e o destino) e o desconto, o frete e o total esperados. Pense nos limites e nas combinações. Uma tabela basta. Se executar os casos no sistema, marque quais passaram e quais falharam.

C. Priorização e comunicação (15 pontos)

Imagine que você testa o app de uma loja virtual. É sexta, 17h, e há um deploy marcado para as 18h. Você encontrou três bugs:

  1. pela tela "Esqueci minha senha", dá para trocar a senha de outro cliente informando só o e-mail dele;
  2. o cupom de 10% é aplicado duas vezes quando o cliente volta da tela de pagamento para o carrinho;
  3. o ícone do carrinho fica desalinhado no celular.

O que você faz, e em que ordem? Escreva a mensagem que mandaria para o time, em até 10 linhas.

D. Automação (20 pontos)

Escreva testes automatizados na ferramenta que preferir: Python com pytest e requests, JavaScript com Playwright ou Jest, Postman com Newman, entre outras. Sugestão: testar o POST /api/pedidos/simular contra a regra H4. Entregue o código com um README que explique como rodar.

Os testes devem verificar a regra, não o comportamento atual do sistema. Se o sistema estiver errado, o teste tem que falhar.

Se você ainda não escreve testes automatizados, entregue um plano escrito de automação: o que testaria, com qual ferramenta e como. O plano vale até 8 pontos.

API

Endereço base: https://endereço-deste-ambiente. Primeiro faça login para receber um token. Depois envie o token em todas as chamadas, no cabeçalho Authorization: Bearer <token>. Valores em reais vêm como número (por exemplo, 1450.5).

Método e rotaO que faz
POST /api/loginCorpo {"codigo", "senha"}. Devolve {"token"}
GET /api/produtosLista os produtos
GET /api/clientes?busca=Lista os clientes, filtrando pelo nome
POST /api/clientesCria um cliente. Corpo {"nome", "documento", "email", "telefone", "cidade", "uf"}
POST /api/pedidos/simularCalcula sem gravar. Corpo {"clienteId", "itens": [{"produtoId", "quantidade"}]}. Devolve {"subtotal", "desconto", "frete", "total"}
POST /api/pedidosCria o pedido. Mesmo corpo da simulação
GET /api/pedidosLista os pedidos da vendedora
GET /api/pedidos/{id}Mostra um pedido
POST /api/pedidos/{id}/cancelarCancela um pedido
POST /api/resetRestaura os dados de exemplo do seu ambiente

Exemplo com curl:

export BASE=https://endereço-deste-ambiente
TOKEN=$(curl -s -X POST "$BASE/api/login" \
  -H 'content-type: application/json' \
  -d '{"codigo":"SEU-CODIGO","senha":"SUA-SENHA"}' | sed 's/.*"token":"\([^"]*\)".*/\1/')

curl -s -X POST "$BASE/api/pedidos/simular" \
  -H "authorization: Bearer $TOKEN" \
  -H 'content-type: application/json' \
  -d '{"clienteId":1,"itens":[{"produtoId":1,"quantidade":10}]}'
# {"subtotal":129,"desconto":0,"frete":0,"total":129}

Avaliação e próximas etapas