Pular para o conteúdo
Clinford Jordano Valencia
Todos os projetos
Plataforma

Saga, uma ferramenta de injeção de estado para testes

Injeção de estado apoiada pelo servidor que permite à QA e à automação ir direto para qualquer etapa de um fluxo de verificação longo, reduzindo a preparação dos testes de regressão de até 20 minutos para menos de 1.

Papel
Senior Frontend Engineer
Período
2025–atual
Stack
TypeScript · Playwright · BFF · Test database

O problema

Para checar um bug na etapa 5 do fluxo de KYC, era preciso antes preencher dados pessoais válidos, enviar documentos e passar pelas verificações de liveness das etapas 1 a 4. Toda vez, em cada pull request e em cada execução automatizada.

A abordagem

O Saga permite que quem testa, ou um script, abra o aplicativo já no estado necessário.

  1. Um script do Playwright ou um engenheiro de QA carrega a página com um token de teste seguro, por exemplo ?state=step_4_ready.
  2. O frontend detecta o token na hidratação e o repassa num cabeçalho para o BFF.
  3. O BFF confirma que o ambiente não é de produção de forma alguma e então prepara a sessão do usuário no banco de testes: etapas 1 a 3 concluídas e o ponteiro ativo na etapa 4.
  4. O BFF devolve um token de sessão real e a interface mostra a etapa 4 na hora.

Escolhi a injeção pelo servidor em vez de simular o localStorage no cliente. Aplicativos modernos validam as sessões no backend, então uma simulação só no cliente se afasta da realidade e gera testes que passam aqui e falham em produção.

O resultado

A preparação dos testes de regressão caiu de 10–20 minutos por ciclo para menos de um minuto. Com dezenas de execuções de pull requests e suítes de automação por semana, isso devolveu centenas de horas de engenharia por trimestre.