II · Conferir3 min de leitura
Transição de estados
Como testar ações cujo resultado depende do estado atual, da ordem dos eventos e das etapas anteriores do processo.
Quando usar
Quando a mesma ação tem resultados diferentes conforme o estado atual ou a ordem dos eventos anteriores.
Nesta página
Defina estados que você consiga reconhecerRelacione estado, evento e efeitoPrepare a sequência, não apenas o statusExamine também o que deve ser recusadoErros comunsPara praticarUm pedido pago pode ser cancelado enquanto ainda está na loja. Depois da entrega à transportadora, o mesmo pedido segue outro caminho. Para testar essa diferença, você precisa considerar o estado atual e os eventos que levaram até ele.
O teste de transição de estados, apresentado pelo ISTQB na seção 4.2.4 do syllabus CTFL, ajuda a organizar essas sequências, incluindo ações que devem ser recusadas.
Defina estados que você consiga reconhecer
No processo do exemplo, uma etiqueta impressa não significa que a caixa já saiu. O evento que muda essa condição é o registro de entrega à transportadora.
Use nomes que descrevam a situação e confira como identificá-la no produto. Pode ser necessário consultar mais de um sistema: o pedido está cancelado na loja, mas a expedição ainda está processando o evento.
Relacione estado, evento e efeito
Considere a regra confirmada para esta loja: cancelamento aceito antes da entrega deve impedir a expedição; depois da entrega, a solicitação segue para devolução.
| Estado inicial | Evento | Efeito esperado |
|---|---|---|
| Etiquetado, ainda na loja | Registrar entrega sem cancelamento | Pedido entregue à transportadora. |
| Etiquetado, ainda na loja | Aceitar e processar cancelamento | Pedido cancelado, expedição impedida. |
| Cancelado, ainda na loja | Tentar registrar entrega | Recusar a saída e manter o cancelamento. |
| Entregue à transportadora | Solicitar cancelamento | Encaminhar para devolução. |
Os nomes dessa tabela representam o processo. Ao preparar os testes, relacione-os aos campos e eventos que o sistema oferece.
Prepare a sequência, não apenas o status
Para chegar a “etiquetado, ainda na loja”, percorra os eventos necessários de pagamento e preparação. Alterar só um campo pode deixar a integração num estado que o fluxo normal não produziria.
Depois do cancelamento, acompanhe o sinal de conclusão do processamento. Se ele não chegar no prazo acordado, registre essa ocorrência. Não continue esperando indefinidamente nem trate uma espera fixa como prova de conclusão.
Guarde identificadores e horários para reconstruir o caminho. Eles ajudam a distinguir a ordem em que os eventos foram enviados, recebidos e processados.
Examine também o que deve ser recusado
Visitar todos os estados não garante que você tentou todas as transições relevantes. No exemplo, é necessário tentar a saída depois de cancelar para conferir o bloqueio.
Outro caso muda a ordem: registrar a entrega antes de solicitar o cancelamento. A regra prevê devolução. Já a chegada dos dois eventos durante a coleta exige esclarecer como o produto decide essa concorrência.
O caso da caixa mostra a investigação que levou a essas sequências.
Erros comuns
Confundir o nome exibido numa tela com o estado do processo inteiro.
Preparar dados que omitem eventos necessários à integração.
Testar apenas transições permitidas e esquecer as recusadas.
Concluir sobre o resultado final enquanto o processamento ainda está em andamento.
Para praticar
Desenhe três estados de um fluxo da sua tarefa. Escolha um evento permitido e outro que deveria ser recusado. Para cada teste, registre como chegar ao estado inicial e qual evidência mostra que o processamento terminou.
Leve esta prática para uma decisão da sua tarefa.
Aplicar na ferramenta