Mariana É Engenheira De Qualidade
Qualidade na prática: quando a engenharia vira rotina
Você já viu alguém revisar código às 23h só porque o teste automatizado não passou? Eu vejo isso toda semana. Não é glamour, é manutenção. E é exatamente esse tipo de situação que define o dia a dia de uma pessoa que trabalha com mariana é engenheira de qualidade. O título parece simples, mas a realidade é bem mais tortuosa. Engenharia de qualidade não é só apertar botões em ferramentas de teste. É entender por que o sistema quebrou, identificar onde o processo falhou e convencer três áreas diferentes a mudar algo que elas mesmas criaram. Eu passei seis meses lutando contra um problema de race condition em testes de integração que só aparecia no pipeline de CI, nunca localmente. A solução? Rodar os testes em containers isolados com variação de carga simulada, não apenas aumentar o timeout. Isso reduziu os falsos positivos de 40% para 2% em duas semanas.
O que mariana é engenheira de qualidade realmente significa no mundo real
Muita gente acha que QA é só executar testes manuais ou configurar pipelines. Na prática, é uma mistura de programação, análise de dados e psicologia corporativa. Você precisa saber escrever scripts em Python ou JavaScript, entender de banco de dados para validar integrações, e ainda ter paciência para explicar para o desenvolvedor por que o bug que ele classificou como "feature não documentada" é, na verdade, um problema crítico de segurança. Aqui vai um insight que poucos contam: testes automatizados não substituem a visão humana. Eu já vi times com 95% de cobertura de código que perderam três bugs de autenticação porque ninguém testou o fluxo real de login com dois fatores ativos. Cobertura alta é métrica, não garantia. O que realmente importa é a estratégia de testes baseada em risco, priorizando fluxos críticos como pagamentos, acesso a dados sensíveis e recuperação de conta.
Como eu monto um plano de qualidade sem perder a sanidade
Primeiro, eu mapeio os fluxos críticos do sistema. Não adianta testar tudo, porque tempo é finito. Depois, defino camadas: testes unitários para lógica de negócio, integração para APIs e serviços externos, e E2E apenas para jornadas completas do usuário. Eu uso Pytest para backend, Cypress para frontend, e docker compose para subir dependências sob demanda. Um erro comum que eu cometi no início foi criar testes E2E para tudo. Resultado: pipeline levando 45 minutos, manutenções constantes quando a UI mudava, e falsa sensação de segurança. A correção foi mover 70% dos testes para integração, mantendo E2E apenas para fluxos de valor de negócio como checkout e onboarding. O tempo caiu para 12 minutos, e a confiança aumentou.
Ferramentas que eu realmente uso e as que abandonei
Pytest com fixtures parametrizadas é meu cavalo de guerra. CI/CD com GitHub Actions ou GitLab CI, dependendo do repositório. Para performance, Locust para carga simulada. Monitoring com Prometheus e Grafana para dashboards em tempo real. Abandonei Selenium puro porque mantê-lo era um pesadelo; migrei para Cypress com component testing integrado. Não recomendo ferramentas prontas demais sem customização. Eu já tentei usar um SaaS de test management que prometia agilidade, mas limitava a integração com pipelines existentes. Perdi uma semana configurando e desisti. Voltar para Jira com plugins específicos foi mais rápido e deu mais controle.
Pegadinhas que eu aprendi na marra
Testes flaky são sintoma, não causa. Se um teste passa e falha aleatoriamente, o problema geralmente é estado compartilhado, dependências externas não mockadas, ou timing inadequado. A solução raramente é aumentar retry. Eu criei um checklist de revisão de testes que inclui validação de isolamento, mock de APIs externas, e testes determinísticos primeiro. Outra armadilha clássica é confiar em snapshots de UI. Eu perdi dois dias rastreando um bug que só aparecia em resoluções específicas porque os testes de snapshot validavam pixels, não semântica. Migrei para validação de atributos ARIA e estrutura DOM, mantendo snapshots apenas para regressão visual em componentes estáticos.
O lado ruim que ninguém conta
Engenharia de qualidade tem limites. Em sistemas legados sem documentação, testes automatizados podem levar mais tempo para criar do que o valor que entregam. Nestes casos, eu recomendo foco em testes exploratórios dirigidos por risco, com registro manual de achados em vez de automação forçada. Automatizar o indevido gera manutenção cara e falsa segurança. Equipes pequenas também sofrem. Um QA sozinho tentando cobrir produto grande vai virar bottleneck. A solução é empurrar qualidade para cima: code reviews obrigatórios com checklists de segurança, testes unitários como gate de merge, e cultura de responsabilidade compartilhada. QA deve ser facilitador, não guardião único.
Conexões práticas do dia a dia
Quando eu olho para mariana é engenheira de qualidade, vejo uma profissional que equilibra técnica e comunicação. Não basta saber escrever um script de teste; é preciso traduzir risco técnico em linguagem de negócio para stakeholders. Eu já vi bugs críticos ignorados porque a apresentação para diretoria focou em métricas técnicas em vez de impacto no usuário final. A mudança foi incluir sempre uma seção de "o que acontece se falhar" com exemplos concretos de perda de receita ou dados. A formação também importa. Engenheiros de qualidade com background em desenvolvimento tendem a escrever testes mais sustentáveis. Eu contrataria qualquer dia alguém que já passou sufoco mantendo código legado, porque isso gera empatia com a manutenibilidade. Teoria sem cicatriz prática deixa lacunas perigosas.
Alternativas quando a automação não é viável
Se o sistema é extremamente dinâmico, com interfaces que mudam diariamente, eu recomendo foco em testes de contrato para APIs, validação de integração com serviços terceiros, e monitoramento contínuo em produção. Ferramentas como Pact para consumer-driven contracts e Sentry para capture de erros em tempo real salvam tempo e dinheiro nesses cenários. Também existe a opção de chargeback de qualidade: cada squad assume responsabilidade pelos testes do seu módulo, com QA central revisão de arquitetura de teste. Funciona bem em organizações maduras, mas requer governança clara para não virar guerra de responsabilidades.
O que eu faço quando o prazo aperta
Priorização brutal. Eu classifico riscos em alto, médio e baixo com base em frequência de uso, sensibilidade de dados e complexidade de reversão. Alto risco recebe teste automatizado completo. Médio recebe smoke test crítico. Baixo recebe verificação manual pontual ou negligência consciente com registro de debt técnico. Não adianta fingir que dá para testar tudo. Eu documentei um caso em que pulei testes de UI em módulo interno não crítico para focar em validação de segurança em API pública. Três semanas depois, um scanner automático encontrou vulnerabilidade que nosso teste manual teria pegado, mas o tempo economizado permitiu corrigir antes do lançamento. Decisão difícil, mas necessária.
Ferramentas que eu configuro automaticamente
Pytest com parallel execution por workers, pytest-lazy-fixture para dados de teste, Allure para relatórios bonitos. Docker para ambientes reprodutíveis. GitHub Actions com caches de dependência para acelerar builds. Mailgun para alertas de pipeline. Nenhuma ferramenta mágica, só combinação pragmática do que funciona. Um detalhe que faz diferença: eu adiciono badges de saúde do pipeline em READMEs e dashboards. Desenvolvedores ficam mais propensos a corrigir quando veem o status visível para todos. Métricas expostas criam responsabilidade coletiva, não punição individual.
Considerações finais sobre o ofício
mariana é engenheira de qualidade não é cargo de Júnior ou Sênior, é mentalidade. Exige curiosidade técnica, resistência a frustrações, e capacidade de dizer "não, isso não está pronto" sem destruir relacionamentos. Eu vejo muitos profissionais brilhantes queimando porque tentam controlar tudo. Aprenda a delegar, a confiar em automações bem desenhadas, e a saber quando parar de testar e lançar com monitoramento ativo. A área evolui rápido. IA generativa já ajuda a escrever cases de teste, mas não substitui o julgamento humano sobre o que testar. Ferramentas low-code prometem agilidade, mas geram dívida oculta. O equilíbrio está em automatizar o repetitivo, focar energia no complexo, e nunca esquecer que o objetivo final é entregar valor com risco controlado, não perfeição teórica.
Galeria
-
Mariana Peña - Engenheira civil | Gestão da Qualidade Obras de ... -
Mariana Argolo - Engenheira Civil | Gestão da Qualidade | Lean ...