Testes automatizados no vibe coding: o agente só testa se você pedir
Bruno perguntou de segurança de dados. Gabriel, no Bookbase, pediu testes automatizados ao agente: typecheck não cobre runtime, e o agente só testa se você pedir.
O agente de Gabriel só escreve testes automatizados se você pedir. Bruno, no chat da live de 91 min, perguntou dica de segurança de dados e com o que se preocupar enquanto Gabriel tocava o Bookbase, extensão de favoritos com aplicação e landing. Gabriel separou o assunto em 2 camadas e pediu ao agente que cada funcionalidade, cada página nova, nascesse com 1 teste.
Bruno mexe com landing pages. Falou que os sites dele não estão avançados e não demandam tanta segurança. A pergunta veio mesmo assim e apontou o tipo de falha que o typecheck não vê. Compilação limpa libera o build. Runtime, no Bookbase, ficou com o Vitest.
Infra no Supabase, aplicação no código
Gabriel colocou o banco no Supabase e o host na Vercel. Na leitura dele, a segurança do banco fica com quem opera aquela infra.
"quem controla a infraestrutura e a segurança do banco de dados é eles. O outro outro lado é a segurança da aplicação aqui."
Na Vercel ele abriu security, firewall e bot protection. Ele citou um bot com 1000 requisições: existe rate e proteção de bot. Algumas funções ficam no plano Pro e alguma estrutura já existe no free. Neste recorte ele não cotou o Pro e não disse que assinou o plano. Isso aparece também em stripe funciona no brasil. Vale ver como isso terminou em hora tecnica. Foi o mesmo caminho de pwa o que é. O mesmo problema apareceu em web scraping.
O outro lado é o código da aplicação. Segurança de dado, neste lado, é regra que o próprio app aplica na sessão e na rota. O Bookbase tem tela autenticada, então a pergunta de Bruno não se resolve só no painel do banco. O exemplo que Gabriel deu foi tentar o dashboard sem estar logado. Isso aparece também em vibe coding para nao dar select em 1000 favoritos a cada foco.
"se eu tentar acessar o barra dashboard, por exemplo, ó, barra dashboard, ele me manda pro login porque eu não tô logado."
Quem recusa o acesso sem login é a aplicação, a camada que ele mesmo desenvolve. O redirect para o login é a prova que ele mostrou da camada da aplicação. Vale ver como isso terminou em chrome exportar favoritos. Foi o mesmo caminho de arr o que é. Isso aparece também em vibe coding para nao deixar o agente puxar dashboard antigo.
Typecheck passou e o runtime ainda pede Vitest
Quando o agente entrega a página, o typecheck pode ficar verde e a conversa encerrar ali. Gabriel separou as 2 verificações.
"tem a parte de type check, validação, passou sem erros de compilação. Isso é uma coisa. Outra coisa é em tempo de execução. E aí é os testes de funcional, né? Tô usando white test aqui"
Ele usa Vitest. Typecheck olha se os tipos fecham. O teste de runtime olha o comportamento depois que a página sobe. Uma compilação limpa não prova que o login funcionou ou que o botão respondeu. O mesmo problema apareceu em vibe coding para saber quantos pagantes cobrem a infra. Foi o mesmo caminho de vibe coding para o play console contar o testador. Isso aparece também em produto minimo viavel. Vale ver como isso terminou em vibe coding para nao trocar modelo quando o lento e o gate.
2 VERIFICAÇÕES
Typecheck / compilação
Tipos fecham e a compilação fica limpa. Não prova login nem botão
Runtime com Vitest
Olha o comportamento depois que a página sobe
No vibe coding o pedido de teste vai com a página
A sacada de vibe coding neste recorte é o pedido que Gabriel fez ao agente do Bookbase.
"pedi aqui pro pro agente que tá atuando nessa aplicação aqui do Book Base, sempre fazer testes automátic e teste automatizados."
O contrato que ele descreveu é por página e por funcionalidade: cada tela nova já nasce com o teste. Foi o mesmo caminho de pagina de captura de email. Isso aparece também em vibe coding para nao fingir 12 testadores com emulador. Foi o mesmo caminho de como criar um prompt.
"cada funcionalidade, cada página que ele cria, ele implementa um teste automatizado ali com um esquema de teste para validar essas funcionalidades."
Na prática, esse teste olha a tela depois de criada.
"ele vê se o cara tá tá logado, vê se o login funcionou, ah, vê se um botão funcionou, vê se um texto que devia estar aqui ainda está ali, coisas do tipo."
Gabriel descreveu o limite do agente numa frase só: "Se você não tocar nesse assunto, acho que ali com a gente, ele não vai se preocupar com isso." Em seguida: "Mas você começar a falar, pô, tem que fazer teste, tem que garantir que o sistema tá seguro. Talvez ele comece a se preocupar com isso." O mesmo problema apareceu em expo eas build.
Ele ouviu que é bom pedir para outra IA, outro agente, escrever os testes também. Nesta live isso ficou como coisa ouvida. Ele não mostrou essa outra IA rodando e não mediu resultado. Foi o mesmo caminho de deepseek vs claude.
Amanhã o teste entra no mesmo prompt
Se amanhã nasce uma página nova, o pedido de 1 teste automatizado vai no mesmo prompt da funcionalidade. Typecheck verde libera a compilação. O Vitest é o que olha o comportamento depois que a página sobe.
NO MESMO PROMPT
- 01Peça a página nova ou a funcionalidade
- 02Peça 1 teste automatizado no mesmo prompt
A live de 91 min está no YouTube: assistir à live. Foi na mesma live que ele resolveu não misturar cadastro com checkout.