Métricas
Qualidade
Software
Desenvolvimento
Testes
Code Quality

Metriche della qualità del software: guida completa

Metriche della qualità del software: guida completa

Ciò che non viene misurato non viene migliorato. Le metriche di qualità ti aiutano a comprendere lo stato del software e a guidare le decisioni. Questa guida ti presenta le metriche più importanti e come utilizzarle.

Perché misurare la qualità

Visibilità

Comprendere lo stato attuale.

Tendenze

Migliorare o peggiorare?

Decisioni

Basato sui dati, non sull’intuizione.

Comunicazione

Dimostrare la qualità alle parti interessate.

Metriche del codice

Copertura del codice

Percentuale di codice coperto dai test.

Complessità ciclomatica

Complessità dei percorsi nel codice.

Duplicazione

Codice ripetuto.

Debito tecnico

Preventivo lavori di pulizia.

Indice di manutenibilità

Punteggio sulla facilità di manutenzione.

Metriche dei bug

Densità dei difetti

Bug per dimensione del codice (KLOC).

Tasso di fuga dei bug

Bug riscontrati nella produzione rispetto alla versione completa.

###MTBF

Tempo medio tra i guasti.

###MTTR

Tempo medio di riparazione.

Distribuzione della gravità

Proporzione per gravità.

Metriche di test

Copertura del test

Unità, integrazione, E2E.

Tasso di superamento del test

Percentuale che passa.

Test instabili

Prove instabili.

Tempo di esecuzione del test

Per quanto tempo eseguire la suite.

Metriche di processo

Tempi di consegna

Dal commit alla distribuzione.

Tempo di ciclo

Dall'inizio alla fine di una funzione.

Frequenza di distribuzione

Quante distribuzioni per periodo.

Tasso di errore di modifica

Percentuale di distribuzioni che causano problemi.

Metriche DORA

Cosa sono

Metriche di ricerca e valutazione DevOps.

Quattro metriche

  1. Frequenza di distribuzione
  2. Tempi di consegna per le modifiche
  3. Modifica tasso di fallimento
  4. È ora di ripristinare il servizio

Classificazione

Performer d'élite, alti, medi, bassi.

Revisione del codice

È ora di rivedere

Quanto tempo occorre per la revisione del codice.

Completezza della recensione

Commenti sostanziali.

Tasso di approvazione

Tasso di passaggio.

Metriche di produzione

Tempo di attività

Disponibilità del sistema.

Tasso di errore

Tasso di errore nella produzione.

Tempo di risposta

Richiedi latenza (p50, p95, p99).

Produttività

Richieste al secondo.

Soddisfazione dell'utente

###NPS

Punteggio netto del promotore.

Valutazione dell'App Store

Valutazione nei negozi.

Segnalazioni di bug

Volume dei rapporti degli utenti.

Ticket di supporto

Ticket relativi a bug.

##Sicurezza

Vulnerabilità

Numero e gravità.

È ora di applicare la patch

Quanto tempo per sistemare.

Incidenti di sicurezza

Incidenti di sicurezza.

Strumenti

SonarQube

Analisi statica, metriche del codice.

Codecov/Tute

Monitoraggio della copertura.

DORA/Investigatore

Metriche di distribuzione.

Datadog/Nuova reliquia

Metriche di produzione.

Cruscotti

Visibilità

Metriche accessibili al team.

Aggiornamento

In tempo reale quando possibile.

###Tendenze

Visualizza l'evoluzione.

Avvisi

Notifiche per anomalie.

Utilizzo delle metriche

Non utilizzare giochi di ludicizzazione

Metriche per l'intuizione, non per la punizione.

Contesto

I numeri senza contesto ingannano.

Tendenze > Assoluti

La direzione conta più del valore in punti.

###Azione

Le metriche che non portano all’azione sono inutili.

Metriche per fase

Sviluppo

Complessità, copertura, tempo di revisione.

Rilascio

Lead time, frequenza di distribuzione.

Produzione

Tasso di errore, tempo di attività, tempo di risposta.

Post-rilascio

Densità dei difetti, soddisfazione del cliente.

Miglioramento continuo

Riferimento

Stabilire il punto di partenza.

Obiettivi

Stabilisci obiettivi realistici.

Retrospettive

Discuti regolarmente le metriche.

###Esperimenti

Interventi di prova.

Errori comuni

Metriche come obiettivo

Una copertura del 100% non significa qualità.

Molte metriche

Concentrati su alcuni importanti.

Ignora contesto

Team e progetti diversi.

Punizione tramite metrica

Causa comportamenti perversi.

Conclusione

Le metriche di qualità sono strumenti per comprendere e migliorare il software. Scegli quelli giusti per il tuo contesto, monitora le tendenze e intraprendi azioni basate sui dati. La qualità è un viaggio continuo, non una destinazione.

##Domande frequenti

1) Quale copertura è sufficiente? Il 70-80% è un buon obiettivo. Ma dipende da cosa viene testato.

2) Quali parametri sono più importanti? Metriche DORA per DevOps. Densità dei difetti e tempi di attività per la qualità.

3) I parametri sostituiscono il buon senso? No. Informano le decisioni, non decidono.

4) Come convincere il team ad adottare le metriche? Mostra valore. Non usarlo per punire.

5) Le metriche sono valide per un piccolo team? Sì. Semplifica, ma misura l’essenziale.

Leggi anche