Copertura del test nei test del software

Cos'è la copertura del test?

La copertura del test è definita come una metrica nel test del software che misura la quantità di test eseguiti da una serie di test. Comprenderà la raccolta di informazioni su quali parti di un programma vengono eseguite durante l'esecuzione della suite di test per determinare quali rami delle istruzioni condizionali sono stati presi.

In termini semplici, è una tecnica per garantire che i test stiano testando il tuo codice o la quantità di codice che hai esercitato eseguendo il test.

Cosa fa la copertura del test?

  • Trovare l'area di un requisito non implementato da una serie di casi di test
  • Aiuta a creare casi di test aggiuntivi per aumentare la copertura
  • Identificare una misura quantitativa della copertura del test, che è un metodo indiretto per il controllo di qualità
  • Identificare casi di test privi di significato che non aumentano la copertura

Come è possibile realizzare la copertura del test?

  • La copertura dei test può essere effettuata esercitando tecniche di revisione statica come revisioni tra pari, ispezioni e procedure dettagliate
  • Trasformando i difetti ad hoc in casi di test eseguibili
  • A livello di codice o di test unitario, la copertura del test può essere ottenuta avvalendosi degli strumenti automatizzati di copertura del codice o di test unitario
  • La copertura dei test funzionali può essere effettuata con l'aiuto di strumenti di gestione dei test adeguati

Vantaggi della copertura dei test nell'ingegneria del software

  • Può garantire la qualità del test
  • Può aiutare a identificare quali parti del codice sono state effettivamente toccate per il rilascio o la correzione
  • Può essere utile determinare i percorsi nell'applicazione che non sono stati testati
  • Prevenire Difetto dispersione
  • Tempi, portata e costi possono essere tenuti sotto controllo
  • Prevenzione dei difetti nelle fasi iniziali del ciclo di vita del progetto
  • Può determinare tutti i punti decisionali e i percorsi utilizzati nell'applicazione, consentendo di aumentare la copertura del test
  • Le lacune nei requisiti, nei casi di test e nei difetti a livello di unità e di codice possono essere trovate in modo semplice

Quali sono le principali differenze tra la copertura del codice e la copertura del test?

Copertura del codice e la copertura dei test sono tecniche di misurazione che consentono di valutare la qualità del codice dell'applicazione.

Ecco alcune differenze critiche tra le cabine di questi metodi di copertura:

parametri Copertura del codice Copertura del test
Definizione Termine di copertura del codice utilizzato quando il codice dell'applicazione viene utilizzato mentre un'applicazione è in esecuzione. Per copertura del test si intende il piano di test complessivo.
Goal Le metriche di copertura del codice possono aiutare il team a monitorare i test automatizzati. La copertura del test fornisce dettagli sul livello a cui è stata testata la codifica scritta di un'applicazione.
Sottotipi Copertura del codice divisa in sottotipi come copertura delle dichiarazioni, copertura delle condizioni, copertura delle filiali, copertura di Toogle, copertura FSM. Nessun sottotipo di metodo di copertura del test.

Formula di copertura del test

Per calcolare la copertura del test, è necessario seguire i passaggi indicati di seguito:

Passo 1) Il totale delle righe di codice nel pezzo di software di qualità che sei analisi

Passo 2) Il numero di righe di codice attualmente eseguite da tutti i test case

Ora devi trovare (X diviso per Y) moltiplicato per 100. Il risultato di questo calcolo è la percentuale di copertura del test.

Per esempio:

Se il numero di righe di codice in un componente di sistema è 500 e il numero di righe eseguite in tutti i casi di test esistenti è 50, la copertura del test è:

(50 / 500) * 100 = 10%

Esempi di copertura del test

Esempio 1:

Ad esempio, se "coltello" è un articolo che desideri testare. Quindi devi concentrarti sul controllo se taglia la verdura o la frutta in modo accurato o meno. Tuttavia, ci sono altri aspetti da considerare, ad esempio affinché l'utente sia in grado di gestirlo comodamente.

Esempio 2:

Ad esempio, se desideri controllare l'applicazione Blocco note. Quindi controllarne le caratteristiche essenziali è una cosa obbligata. Tuttavia, è necessario coprire altri aspetti poiché l'applicazione Blocco note risponde in modo previsto durante l'utilizzo di altre applicazioni, l'utente comprende l'utilizzo dell'applicazione, non si blocca quando l'utente tenta di fare qualcosa di insolito, ecc.

Svantaggi della copertura del test:

  • La maggior parte delle attività nella copertura del test sono manuali poiché non sono presenti strumenti da automatizzare. Pertanto, è necessario un grande impegno per analizzare i requisiti e creare casi di test.
  • La copertura del test consente di contare le funzionalità e quindi di effettuare misurazioni rispetto a diversi test. Tuttavia c’è sempre spazio per errori di giudizio.