Firebase Test Lab ti consente di testare la tua app su una serie di dispositivi e configurazioni. Questa guida introduttiva fornisce un percorso di implementazione da seguire, oltre a un'introduzione alle offerte di Test Lab per Android.
Per informazioni sulle quote e sui piani tariffari di Test Lab, consulta Utilizzo, quote e prezzi.
Concetti fondamentali
Quando esegui un test o un insieme di scenari di test su dispositivi e configurazioni che hai selezionato, Test Lab esegue il test sulla tua app in un batch, quindi visualizza i risultati sotto forma di matrice di test.
Dispositivi × Esecuzioni dei test = Matrice di test
- Dispositivo
- Un dispositivo fisico o virtuale (solo Android) su cui esegui un test, ad esempio uno smartphone, un tablet o un dispositivo indossabile. I dispositivi in una matrice di test sono identificati dal modello, dalla versione del sistema operativo, dall'orientamento dello schermo e dalle impostazioni internazionali (note anche come impostazioni geografiche e della lingua).
- Test, esecuzione del test
- Un test (o un insieme di scenari di test) da eseguire su un dispositivo. Puoi eseguire un test per dispositivo o, facoltativamente, suddividere il test ed eseguire i relativi scenari di test su dispositivi diversi.
- Matrice di test
- Contiene gli stati e i risultati delle esecuzioni dei test. Se un'esecuzione del test in una matrice non va a buon fine, l'intera matrice non va a buon fine.
Passaggio 1: prepara il test per il caricamento su Test Lab
Tipi di test disponibili
Puoi eseguire i seguenti test con Test Lab. Tieni presente che tutti i tipi di test sono limitati a un'esecuzione di 45 minuti sui dispositivi fisici e di 60 minuti sui dispositivi virtuali. Qualsiasi eccezione non rilevata causerà un errore del test.
Test di instrumentazione o test di unità instrumentato: un test che hai scritto utilizzando i framework Espresso o UI Automator. Con questo test, puoi fare asserzioni esplicite sullo stato della tua app per verificare la correttezza della funzionalità utilizzando le API AndroidJUnitRunner.
Consulta l'articolo Esegui un test di instrumentazione per istruzioni su come preparare il test per l'esecuzione in Test Lab.
Consulta la documentazione per sviluppatori Android per istruzioni su come creare un test di instrumentazione.
Test Robo: un test automatico che analizza la UI dell'app e poi la esplora metodicamente simulando le attività utente, senza richiedere la scrittura di codice. Per saperne di più, consulta Informazioni sui test Robo.
Test Ciclo di gioco: un test che utilizza una "modalità demo" per simulare le azioni dei giocatori nelle app di gioco. Questo è un modo rapido e scalabile per verificare che il tuo gioco funzioni bene per gli utenti. Quando scegli di eseguire un test Ciclo di gioco, puoi:
Scrivi test nativi per il tuo motore grafico
Evita di scrivere lo stesso codice per UI o framework di test diversi
Se vuoi, crea più cicli da eseguire in un'unica esecuzione del test (per saperne di più, consulta Informazioni sui test del ciclo di gioco). Puoi anche organizzare i loop utilizzando le etichette in modo da tenerne traccia ed eseguire nuovamente loop specifici.
Per istruzioni su come eseguire questo test con Test Lab, consulta Esegui un test del ciclo di gioco.
Strumenti per eseguire il test
Puoi scegliere i seguenti strumenti per eseguire il test:
Consigliato per i nuovi utenti: la console Firebase ti consente di caricare un'app e avviare i test dal browser web. Consulta Esegui i test con la console Firebase per istruzioni su come eseguire i test utilizzando questo strumento.
L'integrazione con Android Studio ti consente di testare l'app senza uscire dall'ambiente di sviluppo. Consulta Esegui test con Android Studio per istruzioni su come eseguire i test utilizzando questo strumento.
L'interfaccia a riga di comando gcloud consente di eseguire i test dalla riga di comando in modo interattivo ed è adatta anche per la creazione di script nell'ambito del processo di build e test automatizzato. Per istruzioni sull'esecuzione dei test utilizzando questo strumento, consulta Esegui i test con gcloud CLI.
Puoi anche testare la tua app senza costi con Test Lab quando carichi e pubblichi i file APK della tua app sul Play Store utilizzando il canale alpha o beta. Per saperne di più, consulta Utilizza i report pre-lancio per identificare i problemi e Test Robo.
Passaggio 2: scegli il dispositivo di test
Test Lab supporta i test su diversi modelli e marche 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 i test della tua app utilizzando gli emulatori in Android Studio. Per scoprire di più, consulta Dispositivi disponibili.
Passaggio 3: esamina i risultati del test
Indipendentemente da come avvii i test, tutti i risultati vengono 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ù pertinenti per il test, inclusi video specifici per lo scenario di test, screenshot, il numero di test superati, non superati o con risultati instabili e altro ancora.
I risultati dei test non elaborati contengono i log dei test e i dettagli degli errori dell'app e vengono archiviati automaticamente in un bucket Google Cloud. Se specifichi un bucket, i costi di archiviazione sono a tuo carico. Se non specifichi un bucket, Test Lab ne crea uno per te senza costi aggiuntivi.
Per maggiori dettagli, consulta Analizza i risultati di Firebase Test Lab.
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 delle tue app. Seguiamo le best practice standard di 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 su cui possiamo eseguire il flashing con un'immagine di recovery personalizzata, facciamo un ulteriore passo avanti eseguendo il flashing di questi dispositivi tra un'esecuzione di test e l'altra.
Per i dispositivi virtuali utilizzati da Test Lab, le istanze dei dispositivi vengono eliminate dopo l'utilizzo, in modo che ogni esecuzione del test utilizzi una nuova istanza del dispositivo virtuale.
Test Lab e Google Play Services
I dispositivi Test Lab di solito eseguono l'ultima versione dell'SDK 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 mobile devono comunicare con servizi di backend privati per funzionare correttamente durante i test. Se i tuoi server di backend 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 i percorsi attraverso il firewall.
Pubblicità mobile
Test Lab fornisce un'infrastruttura scalabile che automatizza i test delle app e, purtroppo, questa funzionalità può essere utilizzata in modo improprio da app dannose progettate per generare entrate pubblicitarie fraudolente.
Per mitigare questo problema:
Se utilizzi o collabori con fornitori di pubblicità digitale di terze parti (ad esempio reti pubblicitarie o Demand-Side Platform), ti consigliamo di utilizzare annunci di prova anziché annunci reali durante lo sviluppo e il test delle app.
Se devi utilizzare annunci reali nel test, comunica ai 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 pubblicità di proprietà di Google; Test Lab se ne occupa per te.
Indirizzi IP utilizzati dai dispositivi Test Lab
Tutto il traffico di rete generato dai dispositivi Test Lab proviene dai seguenti blocchi di indirizzi IP.
Puoi accedere a questo elenco anche utilizzando il comando gcloud beta firebase test ip-blocks list nell'interfaccia a riga di comando gcloud. L'elenco viene aggiornato in media una volta all'anno.
| Tipo di piattaforma e dispositivo | Blocco di indirizzi IP CIDR |
|---|---|
| Dispositivi fisici Android e iOS, dispositivi virtuali ARM |
70.32.128.0/19 (aggiunto a febbraio 2022) 108.177.6.0/23 108.177.18.192/26 (aggiunto a febbraio 2022) 108.177.29.64/27 (espanso 02-2022) 108.177.31.160/27 (aggiunto a febbraio 2022) 199.36.156.8/29 (aggiunto a febbraio 2022) 199.36.156.16/28 (aggiunto a febbraio 2022) 209.85.131.0/27 (aggiunto a febbraio 2022) 2001:4860:1008::/48 (aggiunto a febbraio 2022) 2001:4860:1018::/48 (aggiunto a febbraio 2022) 2001:4860:1019::/48 (aggiunto a febbraio 2022) 2001:4860:1020::/48 (aggiunto a febbraio 2022) 2001:4860:1022::/48 (aggiunto a febbraio 2022) 2001:4860:101d::/48 (aggiunto a ottobre 2025) 2001:4860:101e::/48 (aggiunto a ottobre 2025) 2001:4860:1031::/48 (aggiunto a ottobre 2025) 70.32.128.48/28 (aggiunto ad aprile 2024) 70.32.150.192/27 (aggiunto a settembre 2025) 108.177.6.0/27 (aggiunto a settembre 2025) 108.177.24.160/27 (aggiunto a settembre 2025) 108.177.29.0/27 (aggiunto a settembre 2025) 108.177.25.128/27 (aggiunto a maggio 2026) 108.177.26.128/26 (aggiunto a maggio 2026) 108.177.29.192/26 (aggiunto a maggio 2026) 172.217.120.64/26 (aggiunto a maggio 2026) 172.217.120.128/26 (aggiunto a maggio 2026) 2001:4860:1037::/48 (aggiunto a maggio 2026) 2001:4860:1038::/48 (aggiunto a maggio 2026) 2001:4860:103a::/48 (aggiunto a maggio 2026) |
| Dispositivi virtuali Android (non ARM) |
34.68.194.64/29 (aggiunto a novembre 2019) 34.69.234.64/29 (aggiunto a novembre 2019) 34.73.34.72/29 (aggiunto a novembre 2019) 34.73.178.72/29 (aggiunto a novembre 2019) 34.74.10.72/29 (aggiunto a febbraio 2022) 34.136.2.136/29 (aggiunto a febbraio 2022) 34.136.50.136/29 (aggiunto a febbraio 2022) 34.145.234.144/29 (aggiunto a febbraio 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 a luglio 2019) 35.245.243.240/29 (aggiunto a febbraio 2022) 199.192.115.0/30 199.192.115.8/30 199.192.115.16/29 |
| Blocchi IP dei dispositivi non più utilizzati |
74.125.122.32/29 (rimosso a febbraio 2022) 216.239.44.24/29 (rimosso a febbraio 2022) |