3/5/2026
Regressão Automatizada: o que considerar antes de partir para essa estratégia


Bruno Abreu
Co-founder e CTO
8/5/2026
Você já ouviu falar em SonarQube? Bem, sabemos que durante o desenvolvimento de software é importante manter a eficiência nas soluções e a agilidade nas entregas.
Contudo, nem sempre é fácil detectar com tanta rapidez falhas e mudanças de padrões de código no que está sendo desenvolvido. Consequentemente, isso pode baixar a qualidade e impactar o produto de software final, gerando bugs, code smells e outros conflitos que podem passar despercebidos em um primeiro momento.
Como forma de solucionar tais problemas, existem ferramentas capazes de realizar essa averiguação e assegurar a qualidade do código do projeto, aplicando boas práticas por linguagem de forma atualizada. Deste modo, entra em cena nosso analisador de código estático: o SonarQube.
Desenvolvido pela SonarSource, o SonarQube é uma ferramenta de análise de código que auxilia na detecção de problemas que podem ocorrer no código, sejam eles problemas com code smells, segurança ou bugs.
Ele também auxilia na detecção de cobertura, realizando uma análise dos testes unitários do projeto e novos testes para novas entradas de código. Ele dedura, viu?!
O SonarQube possui algumas versões, sendo a “community” a versão mais utilizada, já que oferece ferramentas suficientes para a análise de código de maneira geral. Destacam-se as diferenças entre elas:
Entre as principais funcionalidades do SonarQube, podemos citar:
A equipe da SonarSource mantém as regras atualizadas conforme é lançada uma nova versão do Sonar para cada linguagem a qual ele presta suporte. Atualmente, há 29 linguagens disponíveis.

Os Quality Profiles são funcionalidades bastante importantes para a evolução de qualidade. Com eles, é possível criar limites de regras ativas de forma customizada e realizar etapas de evolução dessas regras por projeto, possibilitando sua continuidade.

Já os Quality Gates definem metas de qualidade que o projeto deverá superar para se tornar apto a passar pelo gate. Basicamente, o projeto deve atender às métricas baseadas nas regras ativas criadas pelo quality profile usado pelo projeto. É uma etapa de extrema relevância para a estrutura de confiabilidade.

Para que o SonarQube possa fazer a validação do código, é necessário um relatório que será considerado para levar a análise e a valorização ao quality gate. Assim, entra o Sonar Scanner, ferramenta que contém todos os dados por linguagem e é responsável pela geração e envio desse relatório para o SonarQube.
Esse scanner deve ser instalado na máquina que irá rodar a execução da análise, porém, é possível deixar essa dependência instalada no projeto para fácil execução, chamando, assim, apenas um script - como ocorre em projetos que utilizam Node.js.

É possível também utilizar ferramentas plugáveis que analisam o código-fonte e auxiliam na validação do SonarQube. Uma delas é o ESLint, que pode conter regras de validação próprias, gerando um relatório para envio durante a execução do Sonar Scanner e sendo pontuado na análise do próprio Sonar.
O SonarQube também possui uma interface de análise gráfica que é capaz de fornecer dados importantes para cada projeto analisado em sua plataforma. Essa característica é importante para a validação e a correção de métricas do projeto.

É possível também integrar o SonarQube ao Jenkins via WebHook, de maneira a ser utilizado como um homologador de qualidade na própria pipeline dos projetos. Isso evita a necessidade de configuração do apontamento do Scanner ao SonarQube e torna tudo ainda mais automatizado.
Deste modo, impacta-se a agilidade do processo de verificação e se evitam códigos que diminuem a média de qualidade.

Já para projetos mais legados ou que possuem uma gama de funcionalidades, mas que seguiram más práticas de desenvolvimento e, por vezes, possuem poucos ou nenhum teste unitário, o processo acontece de maneira diferente.
Possuímos um projeto que, apesar de entrar com novas funcionalidades, conta com um número limitado de responsáveis. No entanto, tais responsáveis procuram sempre correr atrás do tempo perdido e restabelecer a qualidade do projeto. Nesses casos, é interessante elaborar uma estratégia com todo o time, pensando na integração para uma evolução de quality profiles e quality gates com prazos bem definidos.
Ainda assim, podemos ter uma barreira cultural que encaminhe a necessidade de um desenvolvimento e amadurecimento do time para, então, realizar a introdução de demandas de qualidade e sua importância para o produto.
Leia mais: o que é Cultura de Qualidade?
Para projetos novos, a utilização do Sonar pode ser de extrema importância para aculturar toda a equipe à sua utilização, com o intuito de obter uma ótima qualidade de código.
A aplicação do Sonar nesse tipo de projeto tornou-se fácil e conhecida, já que sua integração e padronização podem definir o padrão geral no projeto, seja na qualidade do código ou no desenvolvimento de testes unitários.
Isso facilita a adoção de boas práticas e a melhoria da qualidade nos cenários de testes unitários, onde podemos sair do velho “passou, tá bom” e adquirir uma rica cobertura. Lembrando sempre que quantidade não é qualidade!
Para controle e melhoria de qualidade em seu produto de software é ideal ter uma ferramenta que detenha recursos que possibilitem tal cenário. Logo, o SonarQube é uma oportunidade que pode ser implementada de maneira gratuita, mas com recursos suficientes para fornecer padronização de qualidade em seus projetos.
Pode-se ainda avançar para uso mais robustos de acordo com seu pacote no SonarQube, assim fornecendo suporte atualizado para várias linguagens independente de qual você trabalhe e quantos projetos sua empresa tenha.
Mas e você, caro leitor? Já deu uma olhada na qualidade de seus projetos e refletiu sobre o tempo que gasta para encontrar e corrigir bugs e code smells sem uma ferramenta como essa em seu processo de desenvolvimento?
O que é SonarQube e para que serve?
SonarQube é uma ferramenta de análise de código estático que ajuda a identificar problemas de qualidade, segurança e bugs no código-fonte. Ele garante a aplicação de boas práticas e padrões de codificação, melhorando a qualidade geral do software.
Quais são as principais versões do SonarQube?
As principais versões são:
Community: Versão gratuita, ideal para análise de código em geral.
Developer: Versão paga com mais linguagens, análise de branches e melhor integração com ferramentas de Git.
Enterprise e Data Center: Versões mais robustas, com funcionalidades avançadas para suporte a linguagens antigas, geração de relatórios e escalabilidade.
Qual a diferença entre Quality Profiles e Quality Gates?
Os Quality Profiles permitem criar um conjunto customizado de regras de qualidade para um projeto. Já os Quality Gates definem as metas que o projeto deve atingir, usando as regras do Quality Profile, para ser considerado apto a avançar no processo de desenvolvimento.
O que é o Sonar Scanner?
O Sonar Scanner é a ferramenta responsável por analisar o código do projeto e gerar um relatório. Esse relatório é enviado ao SonarQube para que a análise de qualidade seja realizada e os resultados possam ser exibidos.
Como o SonarQube pode ser integrado ao processo de desenvolvimento?
O SonarQube pode ser integrado de forma automatizada em pipelines de CI/CD (Integração e Entrega Contínua), como o Jenkins. Essa integração permite que o código seja analisado e validado em tempo real, evitando que códigos de baixa qualidade sejam incorporados ao projeto.

Artigo revisado por Grace Libânio
Atualizado em: 19/08/2025
Tem dúvidas sobre o conteúdo?

Bruno Abreu
Co-founder e CTO
Bruno Abreu é CTO da Sofist e mestre em Ciência da Computação pela Unicamp. Palestrante experiente e autor, tem artigos publicados em Exame, IT Forum e The Shift. Apaixonado por liderança e operações, qualidade e testes de software, e cervejas artesanais. Pai de uma menina.
Aspecto
Outsourcing
tradicional
Crowd-testing
One Day Testing
Contratação ágil, execução e entrega de resultados
Ruim
Médio
Ótimo
Preserva a confidencialidade dos seus dados e software
Ótimo
Ruim
Ótimo
Teste as habilidades da equipe
Ótimo
Imprevisível
Ótimo
Controle sobre a execução do teste
Ótimo
Ruim
Ótimo
Comunicação entre o cliente e a equipe de teste
Ótimo
Ruim
Ótimo
Elasticidade para lidar com oscilações de demandas de testes
Ruim
Ótimo
Ótimo
Custos de aquisição e manutenção
Ruim
Médio
Ótimo