Métricas
Qualidade
Software
Desenvolvimento
Testes
Code Quality

Software Quality Metrics: Complete Guide

Software Quality Metrics: Complete Guide

What is not measured is not improved. Quality metrics help you understand software health and guide decisions. This guide introduces you to the most important metrics and how to use them.

Why Measure Quality

Visibility

Understand current state.

Trends

Getting better or worse?

Decisions

Based on data, not intuition.

Communication

Demonstrate quality to stakeholders.

Code Metrics

Code Coverage

Percentage of code covered by tests.

Cyclomatic Complexity

Complexity of paths in the code.

Duplication

Repeated code.

Technical Debt

Cleanup work estimate.

Maintainability Index

Maintenance ease score.

Bug Metrics

Defect Density

Bugs by code size (KLOC).

Bug Escape Rate

Bugs found in production vs full.

###MTBF

Mean Time Between Failures.

MTTR

Mean Time To Repair.

Severity Distribution

Proportion by severity.

Testing Metrics

Test Coverage

Unit, integration, E2E.

Test Pass Rate

Percentage that passes.

Flaky Tests

Unstable tests.

Test Execution Time

How long to run suite.

Process Metrics

Lead Time

From commit to deploy.

Cycle Time

From the beginning to the end of a feature.

Deployment Frequency

How many deploys per period.

Change Failure Rate

Percentage of deployments that cause problems.

DORA Metrics

What are they

DevOps Research and Assessment metrics.

Four Metrics

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

Classification

Elite, High, Medium, Low performers.

Code Review

Time to Review

How long for code to be reviewed.

Review Thoroughness

Substantive comments.

Approval Rate

Pass rate.

Production Metrics

Uptime

System availability.

Error Rate

Error rate in production.

Response Time

Request latency (p50, p95, p99).

Throughput

Requests per second.

User Satisfaction

###NPS

Net Promoter Score.

App Store Rating

Evaluation in stores.

Bug Reports

Volume of user reports.

Support Tickets

Bug-related tickets.

##Security

Vulnerabilities

Number and severity.

Time to Patch

How long to fix.

Security Incidents

Security incidents.

Tools

SonarQube

Static analysis, code metrics.

Codecov/Coveralls

Coverage tracking.

DORA/Sleuth

Deployment metrics.

Datadog/New Relic

Production metrics.

Dashboards

Visibility

Metrics accessible to the team.

Update

In real time when possible.

###Trends

View evolution.

Alerts

Notifications for anomalies.

Using Metrics

Don't Gamify

Metrics for insight, not punishment.

Context

Numbers without context are deceiving.

Trends > Absolutes

Direction matters more than point value.

###Action

Metrics that don’t lead to action are useless.

Metrics by Phase

Development

Complexity, coverage, review time.

Release

Lead time, deployment frequency.

Production

Error rate, uptime, response time.

Post-Release

Defect density, customer satisfaction.

Continuous Improvement

Baseline

Establish starting point.

Goals

Set realistic targets.

Retrospectives

Discuss metrics regularly.

###Experiments

Test interventions.

Common Errors

Metrics as Objective

100% coverage does not mean quality.

Many Metrics

Focus on a few important ones.

Ignore Context

Different teams and projects.

Punishment by Metrics

It causes perverse behavior.

Conclusion

Quality metrics are tools for understanding and improving software. Choose the right ones for your context, monitor trends and take data-driven action. Quality is a continuous journey, not a destination.

##FAQs

1) What coverage is sufficient? 70-80% is a good target. But it depends on what is tested.

2) What metrics are most important? DORA metrics for DevOps. Defect density and uptime for quality.

3) Do metrics replace good judgment? No. They inform decisions, they do not decide.

4) How to convince the team to adopt metrics? Show value. Don't use it to punish.

5) Are metrics valid for a small team? Yes. Simplify, but measure the essentials.

Also read