Metriche di test del software: cos'è, tipi ed esempi

⚡ Riepilogo intelligente

Le metriche di test del software sono misure quantitative dei progressi, della qualità e della produttività di un processo di test. Questa guida illustra i tre tipi di metriche, la distinzione tra metriche di base e metriche calcolate, il ciclo di vita delle metriche e un glossario di formule che è possibile applicare direttamente.

  • 📐 Scopo principale: Le metriche trasformano le opinioni sulla qualità dei test in numeri che supportano una decisione.
  • 🧱 Tre tipi: Le metriche di processo migliorano il ciclo di vita, le metriche di prodotto misurano la qualità del software e le metriche di progetto misurano l'efficienza del team.
  • 🔢 Valore base vs valore calcolato: Le metriche di base sono i conteggi grezzi raccolti dall'analista; le metriche calcolate sono le percentuali derivate da questi.
  • 🔄 Quattro fasi del ciclo di vita: Analisi, comunicazione, valutazione e rendicontazione, ciascuna con le proprie fasi ben definite.
  • 🧮 Formula calcolata: La percentuale di esecuzione è pari al numero di test eseguiti diviso per il numero di test scritti, moltiplicato per 100.
  • ⚠️ Regola di selezione: Prima di scegliere una metrica, definisci il pubblico di riferimento e l'obiettivo; altrimenti, raccoglierai dati che nessuno utilizzerà per intraprendere azioni concrete.

Metriche di test del software

Che cosa sono le metriche di test del software?

Metriche di test del software sono le misure quantitative utilizzate per stimare il progresso, la qualità, la produttività e lo stato di salute del processo di test del software. L'obiettivo delle metriche di test del software è migliorare l'efficienza e l'efficacia nel processo di test del software e aiutare a prendere decisioni migliori per ulteriori processi di test fornendo dati affidabili sul processo di test.

Una metrica esprime, in termini quantitativi, il grado in cui un sistema, un componente o un processo possiede un determinato attributo. Un semplice esempio è il consumo settimanale effettivo di carburante di un'auto rispetto al dato dichiarato dal produttore.

Metriche di test nel test del software

Metriche di test del software: migliora l'efficienza e l'efficacia di un processo di test del software.

Le metriche di test del software o la misurazione dei test del software sono l'indicazione quantitativa di estensione, capacità, dimensione, quantità o dimensione di alcuni attributi di un processo o prodotto.

Esempio di misurazione del test del software: Numero totale di difetti

Perché le metriche dei test sono importanti?

“Non possiamo migliorare ciò che non possiamo misurare.” Le metriche di test esistono per rendere misurabile il processo di test.

  • Decidere quale dovrebbe essere la fase successiva delle attività
  • Fornire prove a sostegno di un'affermazione o di una previsione sulla qualità
  • Individuare il tipo di miglioramento necessario
  • Giustificare un cambiamento di processo o di tecnologia

Leggi di più su di esso Importanza delle metriche di test

Tipi di metriche di test

Tipi di metriche di test

  • Metriche di processo: Può essere utilizzato per migliorare l'efficienza del processo SDLC (Ciclo di vita dello sviluppo del software)
  • Metriche del prodotto: Si occupa della qualità del prodotto software
  • Metriche del progetto: Può essere utilizzato per misurare l'efficienza di un team di progetto o di qualsiasi altro strumenti di test utilizzati dai membri del team

Scegliere le metriche giuste è più importante che raccoglierne molte. Prima di definire un insieme di metriche, considera i seguenti aspetti:

  • Fissare il pubblico di destinazione per la preparazione della metrica
  • Definire l'obiettivo per le metriche
  • Introdurre tutte le metriche rilevanti in base alle esigenze del progetto
  • Valuta il rapporto costi-benefici di ogni metrica e la fase del ciclo di vita del progetto in cui essa apporta il maggior valore.

Metriche di test manuali

In Software Engineering, Le metriche dei test manuali sono classificate in due classi

  • Metriche di base
  • Metriche calcolate

Metriche di test manuali

Le metriche di base sono i dati grezzi raccolti dall'Analista del test durante lo sviluppo e l'esecuzione del test case (N. di casi di test eseguiti, N. di casi di test). Mentre le metriche calcolate derivano dai dati raccolti nelle metriche di base. Le metriche calcolate vengono solitamente seguite dal responsabile del test a scopo di reporting del test (% di completamento, % di copertura del test).

A seconda del progetto o del modello di business, le metriche più importanti sono generalmente:

  • Metriche di produttività dell'esecuzione dei casi di test
  • Metriche di produttività della preparazione dei casi di test
  • Metriche dei difetti
  • Difetti per priorità
  • Difetti per gravità
  • Rapporto di slittamento dei difetti

Metriche di test manuali vs. automatizzate

Le metriche descritte sopra si basano su una suite eseguita manualmente. Una suite automatizzata viene misurata in modo diverso, poiché lo sforzo di esecuzione non rappresenta più il fattore limitante.

Criteri Metriche dei test manuali Metriche per i test di automazione
Focus primario Progressi nell'impegno e nell'esecuzione Copertura, stabilità e durata
Misura tipica Casi di test eseguiti al giorno percentuale di copertura dell'automazione
Segnale di qualità Difetti riscontrati per ora di test Tasso di test instabili, la percentuale di test non affidabili
Misura dei costi Orari di prova Ore di manutenzione dello script per rilascio
Misura della velocità Durata del ciclo in giorni Tempo di esecuzione della suite in minuti
Automation Coverage = (Test cases automated / Total test cases) x 100

Flaky Test Rate = (Tests with inconsistent results / Total automated tests) x 100

Un tasso di test instabile merita particolare attenzione. Una volta superato il 5% circa, i team iniziano a ignorare le build rosse e a quel punto la suite smette di fornire informazioni, indipendentemente dal livello di copertura raggiunto.

Ciclo di vita delle metriche di test nell'ingegneria del software

Ciclo di vita delle metriche di test nell'ingegneria del software

Diverse fasi del ciclo di vita delle metriche Passaggi durante ogni fase
Analisi
  1. Identificazione delle Metriche
  2. Definire le metriche QA identificate
Comunicare
  1. Spiegare la necessità della metrica alle parti interessate e al team di test
  2. Spiega al team di test quali punti dati devono essere acquisiti per calcolare la metrica
Valutazione
  1. Cattura e verifica i dati
  2. Calcolo del valore della metrica utilizzando i dati acquisiti
Relazione
  1. Sviluppare il rapporto con una conclusione efficace
  2. Distribuire il rapporto allo stakeholder e al rispettivo rappresentante
  3. Raccogliere feedback dalle parti interessate

Come calcolare un parametro di valutazione di un test

signore# Passaggi per testare le metriche Esempio
1 Identificare la chiave test del software processi da misurare Avanzamento dei test tracprocesso del re
2 In questa fase, il tester utilizza i dati come base per definire le metriche Il numero di casi di test pianificati per l'esecuzione al giorno
3 Determinazione delle informazioni da seguire, una frequenza di tracre e la persona responsabile L'effettiva esecuzione giornaliera del test verrà acquisita dal responsabile del test alla fine della giornata
4 Calcolo, gestione e interpretazione efficaci delle metriche definite I casi di test effettivi eseguiti ogni giorno
5 Identificare le aree di miglioramento in base all’interpretazione delle metriche definite If caso di prova Se l'esecuzione non raggiunge l'obiettivo concordato, indagare sulle cause e proporre misure correttive.

Esempio di calcolo di una metrica di test

Prendiamo come esempio la percentuale di casi di test eseguiti. Per esprimere lo stato di esecuzione in percentuale, utilizzare la formula:

Percentage test cases executed= (No of test cases executed/ Total no of test cases written) X 100

Se sono stati scritti 250 casi di test e ne sono stati eseguiti 175, il risultato è (175 / 250) x 100 = 70 per cento.

Lo stesso schema si applica a tutti gli altri parametri di esecuzione: casi di test non eseguiti, superati, falliti e bloccati. Ognuno di essi rappresenta semplicemente un numeratore diverso sullo stesso denominatore.

Le metriche di test più importanti da Track

Il glossario alla fine di questo tutorial elenca tutte le formule di uso comune. In pratica, un pacchetto di report raramente ne richiede più di otto. Queste sono quelle che guidano costantemente un processo decisionale.

Metrico Cosa risponde Stai attento
Percentuale di esecuzione dei casi di test A che punto siamo del percorso previsto? Non dice nulla sulla qualità, solo sul progresso.
Densità dei difetti Difetti per unità di misura: qual è quindi il modulo più debole? Dipende da una misura di dimensione coerente
efficienza nella rimozione dei difetti Quale percentuale di difetti abbiamo individuato prima del rilascio? Può essere finalizzato solo dopo l'arrivo dei dati di produzione
Perdita di difetto Quanti difetti sono stati riscontrati e segnalati al cliente? Il segnale di qualità più importante in assoluto
Copertura di prova Quanti dei requisiti stabiliti vengono effettivamente soddisfatti? Un'elevata copertura con affermazioni deboli non dimostra nulla
indice di gravità del difetto I difetti visibili sono gravi o solo di natura estetica? Contare i difetti senza ponderazione è fuorviante.
Tempo medio di riparazione Quanto tempo impiega il team a risolvere il problema? Distorto da alcuni difetti di lunga data
produttività dell'esecuzione dei test Quanti casi completa un tester al giorno? Incoraggia test superficiali se utilizzato come obiettivo

Due formule che vale la pena aggiungere al glossario perché sono quelle richieste dalla direzione:

Defect Removal Efficiency = (Defects found before release / Total defects found) x 100

Defect Leakage = (Defects found in production / Defects found before release) x 100

La trappola della misurazione. Qualsiasi parametro utilizzato come obiettivo smette di essere una buona misura. Se si imposta un obiettivo di produttività di 30 casi di test al giorno, i tester ne scriveranno 30 banali. I parametri vanno riportati nel loro insieme, mai singolarmente, e ogni dato di produttività deve essere accompagnato da un dato relativo alla qualità.

Glossario delle formule per le metriche di test del software

  • Rapporto sforzo di rilavorazione = (Sforzi di rilavorazione effettivi spesi in quella fase/sforzi effettivi totali spesi in quella fase) X 100
  • Requisito Creep = (Numero totale di requisiti aggiunti/Numero di requisiti iniziali)X100
  • Variazione di programma = (Data di consegna effettiva – Data di consegna pianificata)
  • Costo per la ricerca di un difetto durante i test = (Sforzo totale speso per i test/difetti riscontrati nei test)
  • Slittamento del programma = (Data di fine effettiva – Data di fine stimata) / (Data di fine pianificata – Data di inizio pianificata) X 100
  • Percentuale di casi di test superati = (Numero di test superati/Numero totale di test eseguiti) X 100
  • Percentuale di casi di test non riusciti = (Numero di test non riusciti/Numero totale di test eseguiti) X 100
  • Percentuale di casi di test bloccati = (Numero di test bloccati/Numero totale di test eseguiti) X 100
  • Percentuale difetti fissi = (Difetti risolti/Difetti segnalati) X 100
  • Percentuale difetti accettati = (Difetti accettati come validi dal team di sviluppo/Difetti totali segnalati) X 100
  • Percentuale differita dei difetti = (Difetti differiti per versioni future/Totale difetti segnalati) X 100
  • Percentuale difetti critici = (Difetti critici/Difetti totali segnalati) X 100
  • Tempo medio impiegato da un team di sviluppo per riparare i difetti = (Tempo totale impiegato per le correzioni dei bug/Numero di bug)
  • Numero di test eseguiti per periodo di tempo = Numero di test eseguiti/Tempo totale
  • Testare l'efficienza della progettazione = Numero di test progettati/Tempo totale
  • Efficienza della revisione dei test = Numero di test revisionati/Tempo totale
  • Tasso di rilevamento dei bug, ovvero difetti per ora di prova = Numero totale di difetti / Numero totale di ore di prova

DOMANDE FREQUENTI

Le metriche di base sono conteggi grezzi raccolti durante l'esecuzione, come il numero di casi di test scritti o eseguiti. Le metriche calcolate vengono derivate da queste, solitamente espresse in percentuali, e sono quelle che compaiono nei report di gestione.

Tra cinque e otto per la reportistica regolare. Oltre questo limite, lo sforzo si concentra sulla raccolta dei dati anziché sull'azione. Ogni parametro del report dovrebbe essere collegato a una decisione effettivamente presa da qualcuno.

Perché il comportamento si adatta alla misura. Un obiettivo di casi di test eseguiti al giorno produce casi di test superficiali. È sempre opportuno abbinare una metrica di produttività a una metrica di qualità, come ad esempio la perdita di difetti.

Gli strumenti basati sull'intelligenza artificiale generano automaticamente punteggi di copertura e di rischio e prevedono, a partire dai dati storici, quali moduli sono più soggetti a difetti. Questo sposta la reportistica dal conteggio delle attività passate alla previsione di dove si manifesteranno i difetti.

Sì. Gli assistenti basati sull'IA possono calcolare metriche a partire da dati di test grezzi, individuare tendenze tra le diverse versioni e redigere la descrizione di un report. Verifica ogni dato confrontandolo con la fonte originale prima di divulgarlo.

Riassumi questo post con: