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.
- 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. - O frontend detecta o token na hidratação e o repassa num cabeçalho para o BFF.
- 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.
- 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.