Uma ferramenta de injeção de estado para testes
Injeção de estado com apoio do servidor que permite a QA e à automação saltar direto para qualquer etapa de um fluxo longo, reduzindo a preparação de testes de regressão de muitos minutos para menos de um.
- Stack
- TypeScript · Playwright · BFF · Test database
O problema
Para checar um bug na etapa 5 de um fluxo longo, era preciso antes concluir à mão as etapas 1 a 4: dados válidos, uploads, verificações. Toda vez, em cada pull request e em cada execução automatizada.
A abordagem
A ferramenta permite que uma pessoa de testes ou um script abra o app já no estado de que precisa.
- Um script do Playwright ou uma pessoa de QA carrega a página com um token de teste seguro, por exemplo
?state=step_4_ready. - O frontend vê o token na hidratação e o encaminha em um cabeçalho para o BFF.
- O BFF confirma que o ambiente é estritamente não produtivo e então prepara a sessão do usuário no banco de testes: etapas anteriores concluídas, ponteiro ativo na etapa 4.
- O BFF devolve um token de sessão real e a interface exibe a etapa 4 imediatamente.
Escolhi a injeção com apoio do servidor em vez de simular o localStorage no cliente. Apps modernos validam sessões no backend, então um mock só no cliente se afasta da realidade e produz testes que passam aqui e falham em produção.
O resultado
A preparação de testes de regressão caiu de 10–20 minutos por ciclo para menos de um minuto. Com muitas execuções de pull requests e suítes de automação por semana, isso devolveu centenas de horas de engenharia por trimestre.