Firebase is back at Google I/O on May 10! Register now

Inizia a testare per Android con Firebase Test Lab

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Firebase Test Lab ti consente di testare la tua app su una vasta gamma di dispositivi e configurazioni. Questa guida introduttiva fornisce un percorso di implementazione da seguire, nonché un'introduzione alle offerte Android di Test Lab.

Per informazioni sulle quote e sui piani tariffari di Test Lab, vedere Utilizzo, quote e prezzi .

Concetti chiave

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.

Passaggio 1 : prepara il test per il caricamento in Test Lab

Tipi di test disponibili

Puoi eseguire i seguenti test con Test Lab. Tieni presente che tutti i tipi di test sono limitati all'esecuzione di 45 minuti su dispositivi fisici e 60 minuti su dispositivi virtuali. Qualsiasi eccezione non rilevata causerà un fallimento del test.

  • Test di strumentazione o unit test strumentato : un test che hai scritto utilizzando i framework Espresso o UI Automator . Con questo test, puoi fare affermazioni esplicite sullo stato della tua app per verificare la corretta funzionalità utilizzando AndroidJUnitRunnerAPIs .

  • Robo test : un test automatizzato che analizza l'interfaccia utente della tua app e quindi la esplora metodicamente simulando le attività dell'utente, senza che tu debba scrivere alcun codice. Visita Informazioni sui test Robo per ulteriori informazioni.

  • Game Loop test : un test che utilizza una "modalità demo" per simulare le azioni del giocatore nelle app di gioco. Questo è un modo veloce e scalabile per verificare che il tuo gioco funzioni bene per gli utenti. Quando scegli di eseguire un test Game Loop, puoi:

    • Scrivi test nativi per il tuo motore di gioco

    • Evita di scrivere lo stesso codice per interfacce utente o framework di test diversi

    • Facoltativamente, crea più loop da eseguire in un'unica esecuzione di test (visita Informazioni sui test di Game Loop per saperne di più). Puoi anche organizzare i loop utilizzando le etichette in modo da tenerne traccia e rieseguire loop specifici.

    Consulta Eseguire un test Game Loop per istruzioni sull'esecuzione di questo test con Test Lab.

Strumenti per eseguire il test

Puoi scegliere i seguenti strumenti con cui eseguire il test:

Puoi anche testare la tua app gratuitamente con Test Lab quando carichi e pubblichi i file APK della tua app nel Play Store utilizzando il canale alpha o beta. Per ulteriori informazioni, consulta Utilizzare i report pre-lancio per identificare i problemi e Robo test .

Passaggio 2 : scegli il dispositivo di prova

Test Lab supporta test su diverse marche e modelli di dispositivi Android installati e in esecuzione in un data center di Google. I test sui dispositivi in ​​Test Lab ti aiutano a rilevare problemi che potrebbero non verificarsi durante il test della tua app utilizzando gli emulatori in Android Studio. Per ulteriori informazioni, consulta Dispositivi disponibili.

Passaggio 3 : rivedere i risultati del test

Indipendentemente da come avvii i test, tutti i risultati dei test sono gestiti da Test Lab e possono essere visualizzati online.

Il riepilogo dei risultati del test viene archiviato automaticamente e può essere visualizzato nella console Firebase. Contiene i dati più rilevanti per il tuo test, inclusi video specifici del caso di test, screenshot, il numero di test che hanno superato, fallito o ottenuto risultati instabili e altro ancora.

I risultati non elaborati del test contengono log di test e dettagli sugli errori dell'app e vengono archiviati automaticamente in un bucket Google Cloud. Se specifichi un bucket, sei responsabile del costo dello storage. Se non specifichi un bucket, Test Lab ne crea uno per te gratuitamente.

Per ulteriori dettagli, consulta Analizzare i risultati del laboratorio di test Firebase.

Quando avvii un test da Android Studio , puoi anche esaminare i risultati del test dall'interno del tuo ambiente di sviluppo.

Pulizia del dispositivo

Google prende molto sul serio la sicurezza dei dati della tua app. Seguiamo le best practice standard del settore per rimuovere i dati delle app e ripristinare le impostazioni di sistema per i dispositivi fisici dopo ogni esecuzione di test per assicurarci che siano pronti per eseguire nuovi test. Per i dispositivi che possiamo eseguire il flashing con un'immagine di ripristino personalizzata, facciamo un ulteriore passo avanti eseguendo il flashing di questi dispositivi tra le esecuzioni dei test.

Per i dispositivi virtuali utilizzati da Test Lab, le istanze del dispositivo vengono eliminate dopo l'utilizzo in modo che ogni esecuzione di test utilizzi una nuova istanza del dispositivo virtuale.


Test Lab e servizi Google Play

I dispositivi Test Lab in genere funzionano con l'ultima versione dell'SDK di Google Play Services, ma alcuni potrebbero richiedere alcuni giorni per l'aggiornamento dopo il rilascio di una nuova versione dell'SDK. Tieni presente che potresti riscontrare problemi di compatibilità con alcuni dispositivi.

Consentire ai dispositivi di test di accedere ai server di backend privati

Alcune app per dispositivi mobili devono comunicare con servizi di backend privati ​​per funzionare correttamente durante i test. Se i tuoi server back-end sono protetti da regole firewall, puoi consentire l'accesso ai dispositivi fisici e virtuali di Test Lab utilizzando i blocchi di indirizzi IP riportati di seguito per aprire percorsi attraverso il tuo firewall.

Pubblicità mobile

Test Lab fornisce un'infrastruttura scalabile che automatizza i test delle app e, sfortunatamente, questa funzionalità può essere utilizzata in modo improprio da app dannose progettate per generare entrate pubblicitarie fraudolente.

Per mitigare questo problema:

  • Se utilizzi o lavori con fornitori di pubblicità digitale di terze parti (ad esempio, reti pubblicitarie o piattaforme lato domanda), ti consigliamo di utilizzare annunci di prova anziché annunci reali durante lo sviluppo e il test dell'app.

  • Se devi utilizzare annunci reali nel tuo test, informa i fornitori di pubblicità digitale con cui collabori di filtrare le entrate e tutto il traffico corrispondente generato da Test Lab utilizzando i blocchi di indirizzi IP riportati di seguito . Non è necessario informare i fornitori di annunci di proprietà di Google; Test Lab se ne occupa per te.

Indirizzi IP utilizzati dai dispositivi del laboratorio di test

Tutto il traffico di rete generato dai dispositivi del laboratorio di prova ha origine dai seguenti blocchi di indirizzi IP . Puoi anche accedere a questo elenco utilizzando il comando gcloud beta firebase test ip-blocks list nell'interfaccia a riga di comando di gcloud . L'elenco viene aggiornato in media una volta all'anno.

Piattaforma e tipo di dispositivo Blocco indirizzo IP CIDR
Dispositivi fisici Android e iOS

70.32.128.0/19 (aggiunto 02-2022)

108.177.6.0/23

108.177.18.192/26 (aggiunto 02-2022)

108.177.29.64/27 (espanso 02-2022)

108.177.31.160/27 (aggiunto 02-2022)

199.36.156.8/29 (aggiunto 02-2022)

199.36.156.16/28 (aggiunto 02-2022)

209.85.131.0/27 (aggiunto 02-2022)

2001:4860:1008::/48 (aggiunto 02-2022)

2001:4860:1018::/48 (aggiunto 02-2022)

2001:4860:1019::/48 (aggiunto 02-2022)

2001:4860:1020::/48 (aggiunto 02-2022)

2001:4860:1022::/48 (aggiunto 02-2022)

Dispositivi virtuali Android

34.68.194.64/29 (aggiunto 11-2019)

34.69.234.64/29 (aggiunto 11-2019)

34.73.34.72/29 (aggiunto 11-2019)

34.73.178.72/29 (aggiunto 11-2019)

34.74.10.72/29 (aggiunto 02-2022)

34.136.2.136/29 (aggiunto 02-2022)

34.136.50.136/29 (aggiunto 02-2022)

34.145.234.144/29 (aggiunto 02-2022)

35.192.160.56/29

35.196.166.80/29

35.196.169.240/29

35.203.128.0/28

35.234.176.160/28

35.243.2.0/27 (aggiunto 7-2019)

35.245.243.240/29 (aggiunto 02-2022)

199.192.115.0/30

199.192.115.8/30

199.192.115.16/29

I blocchi IP del dispositivo non vengono più utilizzati

74.125.122.32/29 (rimosso 02-2022)

216.239.44.24/29 (rimosso 02-2022)