Inizia a eseguire test per Android con Firebase Test Lab

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, nonché un'introduzione alle offerte per Android di Test Lab.

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 sui dispositivi e sulle configurazioni selezionate, Test Lab esegue il test sulla tua app in batch, poi mostra i risultati sotto forma di matrice di test.

Dispositivi × Esecuzioni 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 in base al modello del dispositivo, alla versione del sistema operativo, all'orientamento dello schermo e alle impostazioni internazionali (note anche come impostazioni di lingua e area geografica).
Test, esecuzione del test
Un test (o una serie di scenari di test) da eseguire su un dispositivo. Puoi eseguire un test per dispositivo oppure, facoltativamente, suddividere il test ed eseguire i relativi casi di test su dispositivi diversi.
Matrice di test
Contiene gli stati e i risultati dei test per le esecuzioni dei test. Se qualsiasi esecuzione di test in una matrice non va a buon fine, l'intera matrice non riesce.

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 45 minuti su dispositivi fisici e 60 minuti su dispositivi virtuali. Qualsiasi eccezione non rilevata comporterà un errore del test.

  • Test di misurazione o test di unità con misurazione: 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 funzionalità corretta utilizzando le API AndroidJUnitRunner.

  • Test Robo: un test automatico che analizza l'interfaccia utente della tua app ed esplora in modo metodico simulando le attività utente, senza che tu debba scrivere codice. Per saperne di più, consulta la pagina 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. Si tratta di 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:

    • Scrivere test nativi del motore grafico

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

    • Se vuoi, puoi creare più cicli da eseguire in un'unica esecuzione del test (per saperne di più, consulta la sezione Informazioni sui test del ciclo di gioco). Puoi anche organizzare i loop con le etichette, in modo da poterli tenere traccia ed eseguire nuovamente loop specifici.

    Per istruzioni su come eseguire questo test con Test Lab, consulta Eseguire un test Ciclo di gioco.

Strumenti per eseguire il test

Puoi scegliere i seguenti strumenti per eseguire il test:

Puoi anche testare la tua app senza costi con Test Lab quando carichi e pubblichi i file APK dell'app sul Play Store utilizzando il canale alpha o beta. Per ulteriori informazioni, consulta Utilizzare 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 Google. I test su 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 saperne 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 memorizzato automaticamente e può essere visualizzato nella console Firebase. Contiene i dati più pertinenti relativi al tuo test, tra cui video specifici degli scenari di test, screenshot, numero di test superati, non riusciti o che hanno generato risultati irregolari e altro ancora.

I risultati non elaborati dei test contengono i log dei test e i dettagli degli errori dell'app e vengono memorizzati automaticamente in un bucket Google Cloud. Se specifichi un bucket, il costo dello spazio di archiviazione sarà a tuo carico. Se non specifichi un bucket, Test Lab ne crea uno per te senza costi.

Per maggiori dettagli, consulta Analizzare 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 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 del test per assicurarci che siano pronti per eseguire nuovi test. Per i dispositivi su cui possiamo eseguire il flashing con un'immagine di ripristino personalizzata, facciamo un ulteriore passo avanti eseguendo il flashing dei dispositivi tra un'esecuzione di test e l'altra.

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


Test Lab e Google Play Services

In genere i dispositivi Test Lab vengono eseguiti con la versione più recente dell'SDK Google Play Services, ma in alcuni casi potrebbero essere necessari alcuni giorni per eseguire l'aggiornamento dopo il rilascio di una nuova versione dell'SDK. Tieni presente che potresti riscontrare problemi di compatibilità con alcuni dispositivi.

Consente ai dispositivi di test di accedere a 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 del 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 firewall.

Pubblicità mobile

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

Per ridurre il 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 i test delle app.

  • Se devi utilizzare annunci reali nel 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 si occupa di tutto.

Indirizzi IP utilizzati dai dispositivi Test Lab

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

Piattaforma e tipo di dispositivo Blocco di indirizzi IP CIDR
Dispositivi fisici Android e iOS, dispositivi virtuali ARM

70.32.128.0/19 (aggiunto il 02-2022)

108.177.6.0/23

108.177.18.192/26 (aggiunto a febbraio 2022)

108.177.29.64/27 (esteso a febbraio 2022)

108.177.31.160/27 (aggiunto a febbraio 2022)

199.36.156.8/29 (aggiunto il 02-2022)

199.36.156.16/28 (aggiunto a febbraio 2022)

209.85.131.0/27 (aggiunto il 2022)

2001:4860:1008::/48 (aggiunto il 02-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 il 02-2022)

70.32.128.48/28 (aggiunto ad aprile 2024)

Dispositivi virtuali Android (non ARM)

34.68.194.64/29 (aggiunto a novembre 2019)

34.69.234.64/29 (aggiunta a novembre 2019)

34.73.34.72/29 (aggiunto a novembre 2019)

34.73.178.72/29 (aggiunti 11-2019)

34.74.10.72/29 (aggiunto a febbraio 2022)

34.136.2.136/29 (aggiunti il 02-2022)

34.136.50.136/29 (aggiunti il 02-2022)

34.145.234.144/29 (aggiunta 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ù in uso

74.125.122.32/29 (rimosso il 02-2022)

216.239.44.24/29 (rimosso il 02-2022)