Inizia con Firebase Test Lab per iOS

Firebase Test Lab ti consente di testare la qualità della tua app su una vasta gamma di dispositivi e configurazioni. Questa guida fornisce una panoramica dei concetti chiave di Test Lab, delle offerte iOS e istruzioni su come iniziare i test.

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

Concetti e termini chiave

Quando esegui un test o una serie di casi di test sui dispositivi e sulle configurazioni che hai selezionato, Test Lab esegue il test sulla tua app in batch, quindi visualizza i risultati come 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 vengono identificati in base al modello del dispositivo, alla versione del sistema operativo, all'orientamento dello schermo e alle impostazioni locali (note anche come impostazioni geografiche e linguistiche).
Test, esecuzione del test
Un test (o una serie di casi di test) da eseguire su un dispositivo. È possibile eseguire un test per dispositivo o, facoltativamente, partizionare il test ed eseguire i relativi casi di test su dispositivi diversi.
Matrice di prova
Contiene gli stati e i risultati dei test per le esecuzioni dei test. Se l'esecuzione di un test in una matrice fallisce, l'intera matrice fallisce.

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

È possibile eseguire i seguenti test con Test Lab. Tieni presente che tutti i tipi di test possono essere eseguiti fino a un massimo di 45 minuti su dispositivi fisici e qualsiasi eccezione non rilevata causerà un fallimento del test.

  • XCTest (incluso XCUITests) : uno unit test scritto utilizzando il framework XCTest . Visita Creare un XCTest per istruzioni su come modificare un XCTest per eseguirlo con Test Lab.

  • Test Game Loop : un test che utilizza una "modalità demo" per simulare le azioni dei giocatori 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.

    • Evitare 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. Puoi anche organizzare i loop utilizzando le etichette in modo da poterne tenere traccia ed eseguire nuovamente loop specifici.

    Visita Esegui un test Game Loop per istruzioni su come eseguire il test in Test Lab.

Passaggio 2 : scegli uno strumento per eseguire il test

Puoi scegliere i seguenti strumenti con cui eseguire il test:

  • La console Firebase ti consente di caricare un'app e avviare i test da qualsiasi luogo. Consulta Test con la console Firebase per istruzioni sull'utilizzo di questo strumento.

  • L' interfaccia a riga di comando (CLI) gcloud ti consente di eseguire test dalla riga di comando in modo interattivo ed è particolarmente adatta per lo scripting come parte del processo automatizzato di creazione e test. Consulta Test con la CLI gcloud per istruzioni sull'utilizzo di questo strumento.

  • Prima di testare su dispositivi reali, esegui il test localmente su un simulatore per assicurarti che si comporti come previsto. Per istruzioni, vedere Test locale .

Passaggio 3 : specificare i dispositivi di test

Con Test Lab puoi eseguire il test sulla tua app su un'ampia gamma di dispositivi e modelli iOS ospitati in un data center di Google. Per ulteriori informazioni, consulta Dispositivi disponibili.

Passaggio 4 : 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, schermate, il numero di test superati, falliti o ottenuti con risultati instabili e altro ancora.

I risultati grezzi dei test contengono log di test e dettagli sugli errori delle app e vengono automaticamente archiviati 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 gratuitamente.

Per ulteriori dettagli, consulta Analizzare i risultati di Firebase Test Lab.

Pulizia del dispositivo

Google prende molto sul serio la sicurezza dei dati delle tue 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 garantire 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 di test.

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.


Consentire ai dispositivi Test Lab di accedere ai server backend privati

Alcune app mobili devono comunicare con servizi di backend privati ​​per funzionare correttamente durante i test. Se i tuoi server 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 percorsi attraverso il 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 collabori 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 avvisare i fornitori di annunci 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 ha origine dai seguenti blocchi di indirizzi IP . Puoi anche accedere a questo elenco utilizzando il comando gcloud beta firebase test ip-blocks list nella CLI gcloud . L'elenco viene aggiornato mediamente una volta all'anno.

Tipo di piattaforma e dispositivo Blocco indirizzo 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 (ampliato 02-2022)

108.177.31.160/27 (aggiunto dal 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 (Non Arm)

34.68.194.64/29 (aggiunto l'11-2019)

34.69.234.64/29 (aggiunto l'11-2019)

34.73.34.72/29 (aggiunto l'11-2019)

34.73.178.72/29 (aggiunto l'11-2019)

34.74.10.72/29 (aggiunto 02-2022)

34.136.2.136/29 (aggiunto 02-2022)

34.136.50.136/29 (aggiunto dal 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 dal 02 al 2022)

216.239.44.24/29 (rimosso dal 02-2022)