Analizza i risultati del laboratorio di test Firebase

Esistono diversi modi per utilizzare Firebase Test Lab per eseguire test sulla tua app Android, tra cui l' interfaccia della riga di comando , Android Studio , l' interfaccia utente di Test Lab nella console Firebase e l' API Testing . In qualunque modo tu scelga di avviare i test, i risultati vengono archiviati nel progetto Firebase specificato. Puoi esplorare i risultati utilizzando l'API ToolResults oltre a uno qualsiasi degli strumenti di cui sopra. Questa pagina descrive come rivedere e analizzare i risultati di questi test.

Concetti chiave

Per visualizzare i risultati di tutte le esecuzioni di test precedenti, seleziona Test Lab nel pannello di navigazione a sinistra del tuo progetto nella console Firebase. Questa pagina mostra tutte le esecuzioni di test delle app che hai testato con il tuo progetto utilizzando Test Lab.

Per esaminare i risultati del test, devi prima comprendere tre concetti:

Quando esegui un test o una serie di scenari di test sui dispositivi e sulle configurazioni che hai selezionato, Test Lab esegue il test sulla tua app in un batch, quindi visualizza i risultati come una matrice di test .

Dispositivi × Esecuzioni di test = Matrice di test

Dispositivo
Un dispositivo fisico o virtuale (solo Android) su cui esegui un test, ad esempio un telefono, un tablet o un dispositivo indossabile. I dispositivi in ​​una matrice di test sono identificati dal modello del dispositivo, dalla versione del sistema operativo, dall'orientamento dello schermo e dalle impostazioni locali (note anche come geografia e impostazioni della lingua).
Prova, prova l'esecuzione
Un test (o una serie di casi di test) da eseguire su un dispositivo. Puoi eseguire un test per dispositivo o, facoltativamente, partizionare il test ed eseguire i test case su dispositivi diversi.
Matrice di prova
Contiene gli stati e i risultati dei test per le esecuzioni dei test. Se l'esecuzione di qualsiasi test in una matrice fallisce, l'intera matrice fallisce.

Le sezioni seguenti spiegano come navigare tra i risultati del test.

Interpretare i risultati della cronologia dei test

Quando accedi ai risultati del test selezionando Test Lab , vengono visualizzati i risultati dei test eseguiti fino a quel momento.

La cronologia dei test è raggruppata per app. Per ogni app vengono mostrate solo le cinque matrici di test più recenti; se ce ne sono altre disponibili, puoi fare clic sul collegamento Tutte le matrici nella parte inferiore dell'elenco dei test dell'app per visualizzare l'elenco completo per quell'app.

Interpretare i risultati della matrice di test

Quando si avvia un test tramite l'interfaccia utente del laboratorio di test , si viene reindirizzati a una pagina in cui è possibile visualizzare la matrice del test e fare clic su un'esecuzione di test specifica per visualizzare i risultati del test. Android Studio e il comando gcloud forniscono anche un URL per la pagina dei risultati della matrice di test.

In una tipica matrice di test, potresti eseguire un test su una dozzina di dispositivi diversi. Ogni esecuzione del test può avere un risultato diverso. I possibili risultati per qualsiasi esecuzione di test in una matrice di test includono quanto segue:

  • PassatoTest superato : non sono stati rilevati errori.
  • FallitoProva fallita : Si è verificato almeno un errore.
  • InconcludenteTest superato : I risultati del test sono stati inconcludenti, probabilmente a causa di un errore del laboratorio di test.
  • SaltatoTest superato : I valori dimensionali selezionati per alcune esecuzioni di test nella matrice erano incompatibili. Ciò si verifica quando i dispositivi selezionati non sono compatibili con uno o più livelli API Android selezionati.

Per esaminare i risultati dei test aggregati per tutte le matrici di test per una determinata app nel tuo progetto Firebase, fai clic sul nome dell'app, come mostrato nell'esempio seguente:

Esempio di pagina dei risultati della matrice di test con solo quattro esecuzioni di test Risultati della matrice di prova

Questo ti porta all'elenco delle matrici di test per la tua app, dove puoi fare clic sul nome di qualsiasi matrice di test per vedere i risultati della matrice di test e dove puoi fare clic sul nome dell'app (mostrato nella casella rossa sotto) per visualizzare il elenco di matrici di test per altre app associate al tuo progetto Firebase.

Esempio di pagina di elenco della matrice di test Elenco delle matrici di prova

Una matrice di test può passare, fallire o essere inconcludente. Una matrice di test viene mostrata come fallita o inconcludente se le esecuzioni di test in quella matrice falliscono o sono inconcludenti.

Interpretare i risultati del test Robo

Se hai eseguito i test con Robo, i risultati includono video e screenshot di Robo che esegue la scansione dell'interfaccia utente, oltre alle normali metriche di test. Quei video e schermate includono indicazioni visive delle azioni che Robo ha intrapreso durante la scansione, in modo simile alla funzione "Mostra tocchi" in Android. Puoi utilizzare le indicazioni per aiutarti a seguire i progressi di Robo e riprodurre eventuali bug che potrebbe scoprire.

Esempio di video dei risultati del test Robo

Risultati del test robotico

Interpretare i risultati di una singola esecuzione del test

Dalla pagina dei risultati della matrice del test, fai clic su una delle esecuzioni del test per vedere il risultato di quella specifica esecuzione del test.

Esempio di pagina dei risultati dell'esecuzione del test Risultati dell'esecuzione del test

In questa pagina è possibile vedere il tempo necessario per l'esecuzione di ogni test. Puoi anche vedere i risultati per casi di test specifici che corrispondono ai metodi nel tuo APK di test (per test di strumentazione) e risultati dettagliati del test, inclusi registri di test, screenshot e video. Per il test Robo , i risultati dettagliati del test includono anche una mappa delle attività che mostra graficamente i percorsi dell'interfaccia utente che sono stati visitati dal test Robo.

Risultati dei test di strumentazione partizionata

Per aiutarti a interpretare i risultati dei test strumentati, Test Lab separa ogni test nella propria pagina di report dettagliata, completa di analisi dello stack, registri e video. Questa funzione funziona indipendentemente dal fatto che tu stia utilizzando Android Orchestrator.

Esempio di pagina dei risultati del caso di test Risultati del caso di prova

Interpretare i risultati di accessibilità

I test Robo utilizzano Android Accessibility Scanner per rilevare i problemi di accessibilità nella tua app (tieni presente che puoi anche eseguire una scansione in locale sul tuo dispositivo). Per istruzioni su come rivedere e interpretare i risultati di accessibilità del tuo Robo test, visita Inizia con Accessibility Scanner .

Per informazioni generali su come migliorare l'accessibilità della tua app, consulta la documentazione sull'accessibilità per gli sviluppatori Android .

Metriche delle prestazioni

I test eseguiti su dispositivi fisici restituiscono anche metriche sulle prestazioni:

Metrico Configurazione del dispositivo richiesta
Tempo di avvio dell'app API 19+
uso della CPU API 21+
Utilizzo della memoria
Attività di rete
Fotogrammi al secondo API 21+ e include un SurfaceView
Prestazioni grafiche API 23+

Dettagli sulle prestazioni grafiche

Il rapporto sulle prestazioni grafiche contiene statistiche su diverse metriche grafiche chiave:

  • Vsync mancati: il numero di eventi Vsync mancati, diviso per il numero di frame il cui rendering ha richiesto più di 16 ms.
  • Latenza di input elevata: il numero di eventi di input che hanno richiesto più di 24 ms, diviso per il numero di frame che hanno richiesto più di 16 ms per il rendering.
  • Thread dell'interfaccia utente lento: il numero di volte in cui il thread dell'interfaccia utente ha impiegato più di 8 ms per il completamento, diviso per il numero di frame che hanno impiegato più di 16 ms per il rendering.
  • Comandi di disegno lento: il numero di volte in cui l'invio di comandi di disegno alla GPU ha richiesto più di 12 ms, diviso per il numero di frame che hanno impiegato più di 16 ms per il rendering.
  • Caricamenti bitmap lenti: il numero di volte in cui la bitmap ha impiegato più di 3,2 ms per il caricamento nella GPU diviso per il numero di frame che hanno impiegato più di 16 ms per il rendering.
  • Tempo di rendering: la distribuzione dei tempi di rendering per ogni fotogramma dell'esecuzione del test. Tempi di rendering superiori a 32 millisecondi causano un sensibile rallentamento dell'interfaccia utente. I tempi di rendering di oltre 700 indicano fotogrammi congelati. I dati di rendering vengono raccolti da dumpsys graphicsstats .

Risultati dettagliati dei test

I risultati dettagliati del test sono disponibili per 90 giorni dopo l'esecuzione di un test e vengono archiviati in un bucket di Google Cloud Storage (ma sono visibili anche nella console Firebase). Puoi visualizzare i risultati dettagliati del test nel bucket Cloud Storage quando fai clic su Risultati del test nella pagina dei risultati dell'esecuzione del test. Quando i risultati dettagliati dei test non sono più disponibili, puoi comunque vedere quali test sono stati superati o meno.

Per conservare i risultati dettagliati del test per più di 90 giorni, devi inviarli a un bucket Cloud Storage di tua proprietà utilizzando l' opzione della riga di comando --results-bucket gcloud . Puoi quindi configurare l'impostazione Età per determinare per quanto tempo i risultati vengono archiviati nel tuo bucket Cloud Storage. Consulta Condizioni del ciclo di vita per informazioni su come modificare l'impostazione Età .