Inizia a eseguire test per Android con Firebase Test Lab

Firebase Test Lab ti consente di testare la tua app su una 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, 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 batch, quindi mostra 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 uno smartphone, un tablet o un dispositivo indossabile. I dispositivi in una matrice di test sono identificati da modello del dispositivo, versione del sistema operativo, orientamento dello schermo e 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 oppure, se vuoi, puoi suddividere il test ed eseguire i relativi scenari di test su dispositivi diversi.
Matrice di test
Contiene gli stati e i risultati dei test per le esecuzioni dei test. Se l'esecuzione di un 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 45 minuti sui dispositivi fisici e a 60 minuti sui dispositivi virtuali. Qualsiasi eccezione non rilevata causerà un errore del test.

  • Test di strumentazione o test delle unità strumentato: 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 verificarne la corretta funzionalità utilizzando le API AndroidJUnitRunner.

  • Test Robo: un test automatizzato che analizza l'interfaccia utente della tua app e la esplora metodicamente simulando le attività degli utenti, senza richiedere la scrittura di codice. Visita la pagina Informazioni sui test Robo per saperne di più.

  • 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 gioco funzioni bene per gli utenti. Quando scegli di eseguire un test Ciclo di gioco, puoi:

    • Scrivere test nativi del motore di gioco

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

    • (Facoltativo) Crea più loop da eseguire in una singola esecuzione del test (visita la pagina Informazioni sui test del ciclo di gioco per saperne di più). Puoi anche organizzare i loop utilizzando le etichette per tenerli sotto controllo ed eseguirli di nuovo.

    Per istruzioni su come eseguire questo test con Test Lab, consulta l'articolo Esegui un test 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 Testare con la console Firebase per istruzioni su come eseguire i test utilizzando questo strumento.

  • L'integrazione di Android Studio ti consente di testare la tua app senza uscire dall'ambiente di sviluppo. Consulta l'articolo Testare con Android Studio per istruzioni sull'esecuzione dei test utilizzando questo strumento.

  • L'interfaccia a riga di comando gcloud consente di eseguire test dalla riga di comando in modo interattivo ed è adatta anche per gli script nell'ambito del processo di creazione e test automatizzato. Consulta Testare con gcloud CLI per istruzioni sull'esecuzione dei test utilizzando questo strumento.

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, vedi 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 diverse marche e modelli di dispositivi Android installati e in esecuzione in un data center 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 saperne di più, vedi 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 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 memorizzati automaticamente in un bucket Google Cloud. Se specifichi un bucket, sei responsabile del costo dello spazio di archiviazione. Se non specifichi un bucket, Test Lab ne crea uno per te senza costi aggiuntivi.

Per maggiori dettagli, vedi Analizzare i risultati di Firebase Test Lab.

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

Pulizia del dispositivo

Google prende molto sul serio la sicurezza dei dati delle 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 del test per assicurarci che siano pronti per eseguire nuovi test. Per i dispositivi su cui possiamo installare un'immagine di ripristino personalizzata, andiamo oltre installando queste immagini tra un test e l'altro.

Per i dispositivi virtuali utilizzati da Test Lab, le istanze del dispositivo 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 in genere eseguono l'ultima versione dell'SDK dei servizi Google Play, 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 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 le route attraverso il firewall.

Pubblicità per il 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 risolvere il problema:

  • Se utilizzi o collabori con fornitori di pubblicità digitale di terze parti (ad esempio reti pubblicitarie o piattaforme lato domanda), ti consigliamo di utilizzare annunci di test 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 notificare i fornitori di annunci di proprietà di Google; Test Lab si occupa di questa operazione per tuo conto.

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 in gcloud CLI. 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 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 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 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)

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 (aggiunto a novembre 2019)

34.73.34.72/29 (aggiunto 11-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 02-2022)

34.136.50.136/29 (aggiunto 02-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 07/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 del dispositivo non più utilizzati

74.125.122.32/29 (rimosso 02-2022)

216.239.44.24/29 (rimosso 02-2022)