Conceito e mecanismo
Um pedido pode passar de rascunho para submetido e depois aprovado ou rejeitado. Testar cada transição isolada não demonstra necessariamente que sequências adjacentes funcionam. A cobertura de uma transição, também chamada zero-switch, observa cada ligação válida; one-switch exige pares adjacentes válidos. Para rascunho para submetido para aprovado, interessam as duas transições na mesma sequência. Inclui guardas e ações no modelo: a autorização de aprovação pode depender de uma identidade diferente da que submeteu. Um evento inválido pode ser um teste relevante de rejeição, mesmo que não conte para cobertura de transições válidas. Não concluas cobertura de sequências a partir de uma contagem de estados visitados.
Aplicação guiada
Uma matriz CRUD relaciona operações de criar, ler, atualizar e eliminar com entidades e funções. Num exemplo, um módulo altera uma preferência e outro consulta-a; testar ambos separadamente com dados pré-carregados pode não revelar uma leitura desatualizada. Executa a sequência sobre a mesma entidade artificial e confirma a regra de consistência acordada. A ausência de eliminar na matriz é uma questão a investigar, não autorização para acrescentar uma função contrária à política do produto. Combina estes modelos com percursos de utilização: caminho principal, alternativas e recuperação após erro. Ferramentas de geração de sequências podem ajudar, mas dependem de um modelo correto e de verificações que distingam o resultado esperado do observado.
Criar e atualizar no módulo A, ler no B, usando a mesma entidade.
Armadilhas comuns
Estados como transições; operações isoladas como sequência; CRUD como obrigação de eliminar.
Tópicos relacionados: Análise e evidência no processo de teste · Prioridade e risco residual · Domínios, fronteiras e combinações
Modela ações, guardas e continuidade dos dados.
Referência: Hypothesis stateful testing · CTAL-TA v4.0 (2025)