Métricas
Qualidade
Software
Desenvolvimento
Testes
Code Quality

Métricas de Qualidade de Software: Guia Completo

O que não é medido não é melhorado. Métricas de qualidade ajudam a entender a saúde do software e guiar decisões. Este guia apresenta as métricas mais importantes e como usá-las.

Por Que Medir Qualidade

Visibilidade

Entender estado atual.

Tendências

Melhorando ou piorando?

Decisões

Baseadas em dados, não intuição.

Comunicação

Demonstrar qualidade para stakeholders.

Métricas de Código

Code Coverage

Percentual de código coberto por testes.

Cyclomatic Complexity

Complexidade de caminhos no código.

Duplicação

Código repetido.

Technical Debt

Estimativa de trabalho de cleanup.

Maintainability Index

Score de facilidade de manutenção.

Métricas de Bugs

Defect Density

Bugs por tamanho de código (KLOC).

Bug Escape Rate

Bugs encontrados em produção vs total.

MTBF

Mean Time Between Failures.

MTTR

Mean Time To Repair.

Severity Distribution

Proporção por severidade.

Métricas de Testes

Test Coverage

Unit, integration, E2E.

Test Pass Rate

Percentual que passa.

Flaky Tests

Testes instáveis.

Test Execution Time

Quanto tempo para rodar suite.

Métricas de Processo

Lead Time

Do commit ao deploy.

Cycle Time

Do início ao fim de uma feature.

Deployment Frequency

Quantos deploys por período.

Change Failure Rate

Percentual de deploys que causam problemas.

DORA Metrics

O Que São

Métricas de DevOps Research and Assessment.

Quatro Métricas

  1. Deployment Frequency
  2. Lead Time for Changes
  3. Change Failure Rate
  4. Time to Restore Service

Classificação

Elite, High, Medium, Low performers.

Code Review

Time to Review

Quanto tempo para código ser revisado.

Review Thoroughness

Comentários substantivos.

Approval Rate

Taxa de aprovação.

Métricas de Produção

Uptime

Disponibilidade do sistema.

Error Rate

Taxa de erros em produção.

Response Time

Latência de requisições (p50, p95, p99).

Throughput

Requests por segundo.

Satisfação do Usuário

NPS

Net Promoter Score.

App Store Rating

Avaliação nas lojas.

Bug Reports

Volume de reports de usuários.

Support Tickets

Chamados relacionados a bugs.

Security

Vulnerabilities

Número e severidade.

Time to Patch

Quanto tempo para corrigir.

Security Incidents

Ocorrências de segurança.

Ferramentas

SonarQube

Análise estática, métricas de código.

Codecov/Coveralls

Coverage tracking.

DORA/Sleuth

Métricas de deployment.

Datadog/New Relic

Métricas de produção.

Dashboards

Visibilidade

Métricas acessíveis ao time.

Atualização

Em tempo real quando possível.

Trends

Visualizar evolução.

Alertas

Notificações para anomalias.

Usando Métricas

Não Gamificar

Métricas para insight, não punição.

Contexto

Números sem contexto enganam.

Trends > Absolutes

Direção importa mais que valor pontual.

Action

Métrica que não leva a ação é inútil.

Métricas por Fase

Desenvolvimento

Complexity, coverage, review time.

Release

Lead time, deployment frequency.

Produção

Error rate, uptime, response time.

Pós-Release

Defect density, customer satisfaction.

Melhoria Contínua

Baseline

Estabeleça ponto de partida.

Goals

Defina targets realistas.

Retrospectives

Discuta métricas regularmente.

Experiments

Teste intervenções.

Erros Comuns

Métricas como Objetivo

Coverage de 100% não significa qualidade.

Muitas Métricas

Foco em poucas importantes.

Ignorar Contexto

Times e projetos diferentes.

Punição por Métricas

Causa comportamento perverso.

Conclusão

Métricas de qualidade são ferramentas para entender e melhorar software. Escolha as certas para seu contexto, monitore tendências e tome ação baseada em dados. Qualidade é jornada contínua, não destino.

FAQs

1) Qual coverage é suficiente? 70-80% é bom target. Mas depende do que é testado.

2) Quais métricas mais importantes? DORA metrics para DevOps. Defect density e uptime para qualidade.

3) Métricas substituem bom julgamento? Não. Informam decisões, não decidem.

4) Como convencer time a adotar métricas? Mostre valor. Não use para punir.

5) Métricas valem para time pequeno? Sim. Simplifique, mas meça o essencial.

Leia também

Métricas de Qualidade de Software: Guia Completo | Matheus Breguêz