image

Bolsas de estudo DIO PRO para acessar bootcamps ilimitados

Disponível apenas:

127 vagas
Article image
Giane Mariano
Giane Mariano07/08/2025 12:53
Compartilhe
Microsoft Azure Cloud Native 2026Recomendados para vocêMicrosoft Azure Cloud Native 2026

Por que Testes Automatizados Não Detectam Falhas de Segurança?

    Quando tudo passa, mas algo está errado

    Você criou os testes. O CI/CD rodou tudo. Todos os status vieram verdinhos.

    Deploy feito. Fim de papo? Não tão rápido.

    Mesmo com uma suíte robusta de testes automatizados, o seu sistema pode estar vulnerável.

    Isso não é exagero. É realidade.

    Sistemas com cobertura de testes de 90% já foram invadidos.

    O motivo? Os testes estavam olhando para um lado — enquanto a falha estava do outro.

    O que realmente são os testes automatizados?

    Testes automatizados são ótimos para garantir que:

    • O sistema faz o que deveria fazer
    • Um botão retorna o resultado esperado
    • Um fluxo não está quebrado após uma alteração
    • As regras de negócio estão sendo respeitadas

    Isso é essencial. Mas aqui vai a pergunta-chave:

    Eles também verificam o que o sistema não deveria fazer?

    A resposta na maioria dos casos: não.

    O que os testes automatizados normalmente ignoram?

    Vamos aos exemplos. Testes automatizados dificilmente detectam:

    Acesso indevido a dados de outros usuários

    (Ex: alterar o id=123 na URL para id=124 e ver dados de outro usuário)

    Injeções de código malicioso (XSS, SQLi)

    (Ex: scripts inseridos em campos de formulário)

    Erros que revelam informações internas

    (Ex: stack traces, mensagens de debug em produção)

    Tokens manipulados manualmente

    (Ex: modificar o JWT no navegador e ganhar privilégios)

    Falhas em configurações de permissões

    (Ex: endpoints “admin” acessíveis sem autenticação adequada)

    Essas situações não fazem parte do “roteiro padrão” dos testes. Mas fazem parte da realidade dos ataques.

    A diferença entre testar e atacar:

    QA tradicional:

    “Quero ter certeza de que o usuário consegue alterar o e-mail corretamente.”

    QA com mentalidade ofensiva:

    “E se eu tentar alterar o e-mail de outro usuário? Ou colocar um script em vez de um e-mail válido?”

    A maioria dos testes automatizados valida o fluxo feliz.

    Hackers e pentesters exploram os caminhos quebrados, escondidos ou mal protegidos.

     Por que segurança exige outro tipo de teste?

    Porque segurança é contexto. É imprevisível.

    Uma falha de segurança não depende só da lógica estar certa — mas do que pode ser abusado fora do esperado.

    E testar maliciosamente o sistema não está nos requisitos funcionais.

    Mas então, como QA posso contribuir com segurança?

    Você não precisa ser um hacker para ajudar a proteger seu sistema. Veja como começar:

    Inclua testes negativos nos seus fluxos

    Tente entradas inválidas, campos em branco, valores extremos, e o que ninguém usaria normalmente.

    Valide os limites de acesso

    Verifique se usuários comuns conseguem acessar áreas restritas.

    Teste erros com atenção

    Erros não devem revelar mais do que o necessário (evite mensagens como NullPointerException visíveis).

    Use scanners automáticos no CI/CD

    Ferramentas como ZAP ou Trivy ajudam a complementar seus testes.

    Aprenda com a comunidade Bug Bounty

    Veja como caçadores de bugs pensam e o que eles costumam explorar.

    Segurança não é só responsabilidade do time de segurança

    Muita gente pensa que segurança é função exclusiva de um Security Engineer.

    Mas o ideal é aplicar o conceito de “Security by Design”, onde o sistema já nasce com a segurança pensada desde o início.

    E é aí que o QA faz toda a diferença.

    Conclusão: Testes verdes não garantem segurança.

    Só porque tudo passou, não significa que ninguém consiga passar pelas suas defesas.

    Segurança real exige ir além do "funciona como esperado". É preciso testar o inesperado.

    Compartilhe
    Recomendados para você
    Riachuelo - Cibersegurança
    Microsoft Certification Challenge #5 - AZ-204
    Microsoft Certification Challenge #5 - DP 100
    Comentários (4)
    Giane Mariano
    Giane Mariano - 10/08/2025 13:26

    Pessoal! Muito obrigada pelo feedback! 🙌

    Acredito que os dois pontos caminham juntos, mas, na prática, vejo que o maior desafio inicial é a mudança de mentalidade. Sem que o time entenda o porquê da segurança preventiva, as ferramentas acabam sendo subutilizadas ou aplicadas de forma superficial.

    Quando conseguimos criar essa consciência — de que o QA não é só guardião da funcionalidade, mas também da segurança — a integração de soluções como ZAP ou Trivy no CI/CD passa a ser um passo natural, e não um “extra” no processo.

    No fim, a chave é combinar cultura + prática: mindset ofensivo desde o início e automação que facilite essa rotina no dia a dia.

    Vitor Garcia
    Vitor Garcia - 08/08/2025 14:11

    Excelente reflexão sobre os limites dos testes automatizados! Gostei muito que nos mostrou a parte prática disso tudo. Parabéns Giane!

    Islânia Silva
    Islânia Silva - 07/08/2025 23:17

    Excelente!!!

    DIO Community
    DIO Community - 07/08/2025 13:58

    Excelente artigo, Giane! Você trouxe à tona um ponto crucial (e muitas vezes negligenciado) dentro das rotinas de QA: testes automatizados garantem funcionalidade, mas não segurança. Sua analogia entre “testar o que deveria funcionar” e “testar o que não deveria ser possível” é extremamente poderosa e didática.

    Na DIO, acreditamos que segurança precisa ser pensada desde o início do ciclo de desenvolvimento, e o QA tem um papel estratégico nessa cultura de “Security by Design”. Sua abordagem mostra como incorporar testes negativos, validações de permissões e mindset ofensivo pode transformar o papel do QA em uma barreira real contra vulnerabilidades.

    Na sua visão, o maior desafio hoje está em educar os times para adotarem essa mentalidade preventiva ou em integrar ferramentas de segurança contínua (como ZAP ou Trivy) dentro dos pipelines de CI/CD de forma prática e acessível?

    Recomendados para vocêMicrosoft Azure Cloud Native 2026