Condividi tramite


Rapporto Indicatori di qualità di compilazione

Il rapporto Indicatori di qualità di compilazione presenta indicatori quali code coverage dei test, varianza del codice e conteggio bug per una definizione di compilazione specificata. È possibile utilizzare questo rapporto per determinare quanto le parti di codice si avvicinano alla qualità finale.

In una situazione ideale, la frequenza dei test, i bug e la varianza del codice produrrebbero tutti la stessa immagine, spesso tuttavia questo non avviene. Quando si trova una discrepanza, è possibile utilizzare il rapporto Indicatori di qualità bug per esaminare i dettagli di una compilazione specifica e di una serie di dati. Dato che questo rapporto combina risultati dei test, code coverage derivato dai test, varianza del codice e bug, è possibile visualizzare contemporaneamente varie prospettive.

Per informazioni sulle modalità di accesso, di aggiornamento o di gestione dei rapporti, vedere Rapporti (SQL Server Reporting Services).

Nota

Per questo rapporto è previsto che sia stato eseguito il provisioning della raccolta di progetti team contenente il progetto team con SQL Server Reporting Services.Questo rapporto non è disponibile se Report Rapporti non viene visualizzato all'apertura di Team Explorer ed espandendo il nodo del progetto team.

In questo argomento

  • Dati contenuti nel rapporto

  • Modifica del numero di compilazioni nel rapporto

  • Interpretazione del rapporto

  • Filtro del rapporto

È possibile utilizzare questo rapporto per rispondere alle domande seguenti:

  • Qual è la qualità del software?

  • Quanto spesso i test vengono superati e quanta parte del codice viene testata?

  • Sulla base delle metriche del codice e di test, è probabile che il team soddisfi gli obiettivi prefissati?

Autorizzazioni necessarie

Per visualizzare il rapporto, è necessario disporre del ruolo Browser in Reporting Services o appartenere a un gruppo a cui sia assegnato questo ruolo. Per ulteriori informazioni, vedere Aggiungere utenti ai progetti team.

Dati contenuti nel rapporto

I dati visualizzati nel rapporto Indicatori di qualità di compilazione derivano dal data warehouse. Sull'asse X vengono elencate le compilazioni specifiche incluse nel rapporto in base ai filtri impostati per la piattaforma, la configurazione e definizione di compilazione.

Ciascuna barra verticale rappresenta un set di dati derivato da una o più compilazioni. Nel variant della dimensione del codice nel rapporto, la lunghezza di ogni barra verticale rappresenta la dimensione del codice controllato in codebase. Le barre vengono ridimensionate in modo che l'immagine più grande rientri nell'altezza del grafico. I test manuali possono essere eseguiti in qualsiasi momento dopo la compilazione e sono associati a tale compilazione. Test che non sono stati ancora eseguiti vengono conteggiati come test "senza risultati".

Nell'illustrazione riportata di seguito viene visualizzato un esempio di rapporto Indicatori di qualità di compilazione.

Esempio di report Indicatori di qualità di compilazione

Nella tabella riportata di seguito vengono descritte le informazioni che vengono visualizzate nel rapporto per ciascun indicatore di qualità.

Indicatore della qualità

Descrizione

Bug attivi (conteggio)

Grafico a linee che raffigura il numero di bug attivi al momento della compilazione.

Nota

I bug non vengono associati in modo esplicito alle compilazioni.Alcuni dei bug contati potrebbero non influire sulle compilazioni visualizzate nel grafico.È possibile utilizzare il parametro Area per filtrare i bug in base all'area del prodotto.Questa tecnica potrebbe rivelare i bug che hanno una maggiore probabilità di influire sulle compilazioni nel rapporto.

Varianza del codice (righe)

Grafico a linee che raffigura il numero di righe di codice che il team ha aggiunto, rimosso e modificato nelle archiviazioni prima della compilazione. La varianza del codice viene calcolata determinando il numero di righe di codice aggiunte, eliminate o modificate nella compilazione diviso per il numero complessivo di righe nella compilazione.

Code Coverage (percentuale)

Grafico a linee che raffigura la percentuale di codice analizzata dai test.

Test senza risultati

Sezione grigia del grafico a barre in pila che indica il numero di test non riusciti o che sono stati messi in pausa. Se la compilazione non viene completata, i test non vengono contati oppure vengono contati come test senza risultati.

Test non superati

Sezione rossa del grafico a barre in pila di colore rosso che indica il numero di test non completati per la compilazione.

Test superati

Sezione verde del grafico a barre in pila di colore rosso che indica il numero di test completati per la compilazione.

Nota

Per ulteriori informazioni sul significato dei risultati dei test non riusciti e superati, vedere Rapporto Stato di avanzamento piano test.

Il rapporto può essere filtrato nei seguenti modi:

  • Modificare l'intervallo dell'asse X specificando il numero di compilazioni e la data di fine per il rapporto. La data della prima compilazione mostrata dipenderà dalla frequenza delle compilazioni.

  • Filtrare il set di compilazioni mostrate nel rapporto specificando la piattaforma, la configurazione e la definizione di compilazione da includere nel rapporto. Impostare i parametri in tale sequenza perché il set di valori disponibili per la definizione di compilazione dipende dalla piattaforma e dalla configurazione.

  • Filtrare i bug conteggiati nel rapporto specificando le aree di prodotto da includere. Questo filtro non influisce sul set di compilazioni visualizzate sull'Asse X, sulla varianza del codice, sul code coverage o sui risultati dei test.

Per ulteriori informazioni, vedere Filtro del rapporto più avanti in questo argomento.

Attività necessarie di gestione della compilazione e dei test

Affinché il rapporto Indicatori di qualità di compilazione sia effettivamente utile e raffiguri tutti gli indicatori di qualità visualizzabili, i membri del team devono eseguire le attività riportate di seguito per gestire test e compilazioni.

  • Configurare un sistema di compilazione. Per utilizzare Team Foundation Build, è necessario configurare un sistema di compilazione.

    Per ulteriori informazioni, vedere Configurare e gestire il sistema di compilazione.

  • Creare definizioni di compilazione. È possibile creare diverse definizioni di compilazione, ognuna delle quali può essere eseguita per produrre codice per una piattaforma diversa. È inoltre possibile eseguire ogni compilazione per una configurazione diversa.

    Per ulteriori informazioni, vedere Definire il processo di compilazione.

  • Definire i test da eseguire automaticamente come parte della compilazione. Come parte della definizione di compilazione, è possibile definire i test da eseguire nell'ambito della compilazione o tali da interrompere la compilazione se non superati.

    Per ulteriori informazioni, vedere Utilizzare il modello predefinito per il processo di compilazione.

  • Configurare i test per raggruppare i dati di code coverage. Affinché dati di code coverage siano visibili nel rapporto, i membri del team devono instrumentare i test per raccogliere tali dati.

  • Eseguire regolarmente le compilazioni. È possibile eseguire le compilazioni a intervalli prestabiliti o dopo ogni archiviazione. È possibile creare compilazioni regolari quando si utilizza il trigger di pianificazione.

    Per ulteriori informazioni, vedere Creare o modificare una definizione di compilazione e Eseguire, monitorare e gestire le compilazioni.

    Nota

    Anche se un membro del team può classificare manualmente una compilazione tramite Esplora compilazione, tale classificazione non viene riportata nel rapporto Indicatori di qualità di compilazione.La classificazione della compilazione viene visualizzata nel rapporto Riepilogo compilazione.Per ulteriori informazioni, vedere Valutare la qualità di una compilazione completata e Rapporto Riepilogo compilazione.

Modifica del numero di compilazioni nel rapporto

La visualizzazione del rapporto Indicatori di qualità di compilazione varierà significativamente in base al numero di compilazioni incluse nel rapporto e agli altri filtri che si applicano al rapporto. È possibile concentrare il rapporto su uno specifico intervallo di compilazioni modificando il numero di compilazioni visualizzate nel rapporto.

Per impostare il numero di compilazioni rappresentate nel rapporto

  1. In Numero di compilazioni, digitare il numero da includere.

  2. Fare clic sull'icona del calendario accanto a Fine (data), quindi fare clic sulla data corrispondente all'ultimo giorno in cui sono state eseguite le compilazioni che si desidera includere nel rapporto.

  3. Fare clic su Visualizza rapporto.

Interpretazione del rapporto

È possibile esaminare il rapporto per trovare risposte alle domande riportate di seguito per una specifica definizione di compilazione.

  • Qual è la qualità del software?

  • Il team sta testando una parte sufficiente del codice?

  • I test vengono superati?

  • Sulla base delle metriche del codice e di test, è probabile che il team termini il progetto?

  • Quanto spesso i test vengono superati e quanta parte del codice viene testata?

    Nota

    Il rapporto tra i segmenti colorati e i segmenti in grigio riflette la frazione del codice analizzata dai test, mentre le proporzioni nell'ambito dei segmenti colorati riflettono solo approssimativamente le frazioni del codice che supera o che non supera i test.Questa ambiguità è dovuta al fatto che la frazione di verde all'interno del segmento colorato rappresenta realmente il numero di test superati.Un singolo errore in una parte del codice può causare il mancato superamento di molti test oppure un singolo errore potrebbe rappresentare un errore esteso nella progettazione con conseguenze in tutto il codebase.

Versione non problematica del rapporto

Un rapporto Indicatori di qualità di compilazione privo di problemi mostrerà i seguenti indicatori.

  • La maggior parte dei test viene superata (ampie aree di verde), pochi test non vengono superati (piccole quantità di rosso).

  • La percentuale di rosso è minore del 20-30 percento.

Come viene mostrato nell'illustrazione riportata di seguito, il code coverage e le frequenze di superamento dei test hanno valori elevati e in aumento nel tempo. Varianza del codice, bug attivi, test senza risultati e test non superati hanno valori bassi e in riduzione.

Versione non problematica del report Indicatori di qualità di compilazione

Versioni problematiche del rapporto Indicatori di qualità di compilazione

Una versione problematica del rapporto Indicatori di qualità di compilazione mostrerà uno o più degli indicatori seguenti. Potrebbe essere necessario indagare sulle cause in base alle linee guida riportate di seguito.

  • Un minore code coverage e una maggiore varianza del codice. Nell'immagine riportata di seguito viene illustrata una riduzione del code coverage e un aumento della varianza del codice. Questi dati sono un chiaro segnale che il nuovo codice viene archiviato senza unit test corrispondenti destinati ad analizzarlo.

    Varianza del codice nel report Indicatori di qualità di compilazione

  • Bassa frequenza di esecuzione dei test. Nell'immagine riportata di seguito viene illustrata una bassa frequenza di esecuzione dei test. Questo dato potrebbe indicare che il team non sta eseguendo test sufficienti. Questo blocco potrebbe indicare una mancanza di risorse oppure che i responsabili dei test sono impegnati in qualcos'altro, ad esempio nella scrittura di codice di automazione di test, anziché nel testare la funzionalità corrente. In entrambi i casi, potrebbe essere necessario un bilanciamento delle risorse.

    Test con frequenza bassa nel report Indicatori di qualità di compilazione

  • Varianza del codice alta, basso grado di code coverage. Un valore elevato di varianza del codice suggerisce che nuovi bug verranno introdotti come effetto collaterale delle modifiche. In un refactoring ideale di un progetto, è possibile vedere una varianza del codice senza modifiche nel code coverage o nella frequenza di superamento dei test. Altrimenti, un'elevata varianza del codice può indicare una riduzione del code coverage e la necessità di riscrivere test.

    Nell'immagine riportata di seguito vengono illustrati un valore elevato di varianza del codice e un basso valore di code coverage dei test, sebbene le frequenze di superamento dei test rimangano alte. Questo dato indica che i test che vengono eseguiti non analizzano il nuovo codice.

    Varianza del codice elevata nel report Indicatori di qualità di compilazione

  • Frequenza elevata di mancato superamento dei test. Nell'immagine riportata di seguito viene illustrata una situazione in cui vengono eseguiti molti test con un valore ragionevole di code coverage, ma i test non vengono superati. Questi dati potrebbero indicare l'utilizzo di procedure di sviluppo approssimative oppure, nelle prime iterazioni, che i test sono troppo severi per questa fase di sviluppo del prodotto.

    Test con esito negativo nel report Indicatori di qualità di compilazione

    Il mancato superamento dei test deve essere risolto prima possibile. Se la correzione del codice non è attuabile, è necessario disabilitare temporaneamente i test non superati e registrare un bug. Sebbene talvolta sia accettabile trattare gli errori derivati dall'analisi del codice con minore urgenza nelle prime fasi del progetto, è necessario non lasciare espandere eccessivamente le sezioni in rosso.

  • Frequenza elevata di superamento dei test e frequenza elevata di bug attivi. Nell'illustrazione riportata di seguito viene mostrata una elevata frequenza di superamento dei test con tuttavia un'alta frequenza di introduzione di bug. Questa situazione può verificarsi per diversi motivi. I test potrebbero non essere sufficientemente rigorosi per questa fase del prodotto.

    Frequenza di test bassa nel report Indicatori di qualità di compilazione

    Nelle prime iterazioni i test semplici vanno bene, ma con il maturare del prodotto, i test devono analizzare scenari e integrazioni più ampi. I test potrebbero non essere aggiornati o potrebbero testare la funzionalità errata. Potrebbe essere il momento di cambiare le tecniche di test.

  • Aumento delle frequenze di superamento dei test e nessun aumento nel code coverage. Normalmente, con l'esecuzione di un maggior numero di test deve essere analizzata una maggiore quantità di codice. D'altra parte, se le frequenze di esecuzione e superamento dei test aumentano senza un aumento corrispondente nel code coverage, i test incrementali potrebbero essere ridondanti.

  • Aumento del conteggio dei bug attivi senza aumento del numero di test non superati. Se il conteggio dei bug attivi è in aumento e i test non mostrano una corrispondente quantità di errori, probabilmente i test non stanno testando la stessa funzionalità interessata dai bug segnalati.

  • Riduzione del conteggio dei bug attivi senza aumento del numero di test superati. Se il conteggio dei bug attivi è in diminuzione e le frequenze di superamento dei test non stanno aumentando, può esistere il rischio di aumento della frequenza di riattivazione.

  • Ampie aree di grigio. I segmenti in grigio rappresentano il codice che non è stato compilato o testato nell'ambito della compilazione specificata. Questo dato viene visualizzato solo nei rapporti periodici in cui una o più delle compilazioni specificate non si era verificata nel periodo relativo.

Filtro del rapporto

È possibile filtrare il rapporto Indicatori di qualità di compilazione nei modi riportati di seguito.

  • Modificare l'intervallo di tempo specificando il numero di compilazioni e la data di fine per il rapporto.

  • Filtrare il set di compilazioni rappresentate nel rapporto specificando la piattaforma, la configurazione e la definizione di compilazione da includere nel rapporto.

    Nota

    È possibile configurare definizioni di compilazione per eseguire nessun test, alcuni test o tutti i test.Il rapporto varierà in modo significativo in base alla configurazione delle definizioni di compilazione.

  • Filtrare i bug conteggiati nel rapporto specificando le aree di prodotto da includere.

Nella figura seguente vengono illustrati i filtri disponibili:

Filtri per il report Indicatori di qualità di compilazione

Applicare i filtri nella sequenza specificata nella procedura riportata di seguito. Le opzioni disponibili con alcuni filtri dipendono dai filtri impostati precedentemente.

Per filtrare le compilazioni visualizzate nel rapporto

  1. In Numero di compilazioni, digitare il numero da includere.

  2. Fare clic sull'icona del calendario accanto a Data di fine, quindi fare clic sull'ultima data da includere nella compilazione.

  3. Nell'elenco Piattaforma selezionare la casella di controllo di tutte le piattaforme da includere.

  4. Nell'elenco Configurazione selezionare la casella di controllo di tutte le configurazioni da includere.

  5. Nell'elenco Definizione di compilazione selezionare la casella di controllo di tutte le definizioni di compilazione da includere.

  6. Fare clic su Visualizza rapporto.

Per filtrare il conteggio dei bug visualizzati nel rapporto

  1. Nell'elenco Area selezionare la casella di controllo di ogni risultato del test da includere.

    Questo passaggio consente di filtrare il rapporto basato sulla gerarchia dei risultati del test.

  2. Fare clic su Visualizza rapporto.

Vedere anche

Altre risorse

Rapporti (SQL Server Reporting Services)