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 di fatturazione di Test Lab, consulta Utilizzo, quote e prezzi .
Concetti chiave
Quando esegui un test o una serie di scenari di test su dispositivi e configurazioni selezionati, Test Lab esegue il test sulla tua app in batch, quindi visualizza i risultati come matrice di test .
Dispositivi × Esecuzioni del test = Test Matrix
- Dispositivo
- Un dispositivo fisico o virtuale (solo Android) su cui esegui un test, come 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 internazionali (note anche come impostazioni di geografia e lingua).
- Test, esecuzione di test
- Un test (o una serie di casi di test) da eseguire su un dispositivo. Puoi eseguire un test per dispositivo o, facoltativamente, suddividere 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 qualsiasi esecuzione di 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 a 45 minuti su dispositivi fisici e 60 minuti su dispositivi virtuali. Qualsiasi eccezione non rilevata causerà un errore del test.
Test di strumentazione o test di unità strumentato : un test che hai scritto utilizzando i framework Espresso o UI Automator 2.0 . Con questo test, puoi fare affermazioni esplicite sullo stato della tua app per verificare la corretta funzionalità utilizzando AndroidJUnitRunnerAPIs .
Visita Eseguire un test di strumentazione per istruzioni su come preparare il test da eseguire in Test Lab.
Fare riferimento alla documentazione degli sviluppatori Android per istruzioni su come creare un test di strumentazione.
Robo test : un test automatizzato che analizza l'interfaccia utente della tua app e quindi la esplora metodicamente simulando le attività degli utenti, senza che tu debba scrivere alcun codice. Visita Informazioni sui test Robo per maggiori 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 una singola 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 su come eseguire questo test con Test Lab.
Strumenti per eseguire il test
Puoi scegliere i seguenti strumenti con cui eseguire il test:
Consigliato per gli utenti alle prime armi: la console Firebase ti consente di caricare un'app e avviare il test dal tuo browser web. Consulta Test 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 lasciare il tuo ambiente di sviluppo. Vedi Test con Android Studio per istruzioni sull'esecuzione di test utilizzando questo strumento.
L' interfaccia della riga di comando di gcloud consente di eseguire i test dalla riga di comando in modo interattivo ed è anche adatta per lo scripting come parte del processo di compilazione e test automatizzato. Consulta Test con la CLI di gcloud per istruzioni sull'esecuzione di test utilizzando questo strumento.
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 rapporti pre-lancio per identificare problemi e test Robo .
Passaggio 2 : scegli il tuo dispositivo di prova
Test Lab supporta i 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 i 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 : esaminare i risultati del test
Indipendentemente da come si avvia i test, tutti i risultati dei test 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ù rilevanti per il tuo test, inclusi video specifici per il test case, screenshot, il numero di test che hanno superato, fallito o ottenuto risultati instabili e altro ancora.
I risultati del test non elaborati contengono i log dei test e i dettagli sugli errori delle 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 gratuitamente.
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 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 di test.
Per i dispositivi virtuali utilizzati da Test Lab, le istanze del dispositivo vengono eliminate dopo essere state utilizzate in modo che ogni esecuzione di test utilizzi una nuova istanza del dispositivo virtuale.
Informazioni aggiuntive
Test Lab e Google Play Services
I dispositivi Test Lab di solito vengono eseguiti sulla versione più recente dell'SDK dei servizi di 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.
Test Lab e pubblicità per dispositivi mobili
Per gli sviluppatori di app che utilizzano o lavorano con fornitori di pubblicità digitale (ad esempio, reti pubblicitarie, piattaforme lato domanda) e per fornitori di pubblicità digitale:
Test Lab fornisce agli sviluppatori un'infrastruttura di test delle app scalabile che automatizza i test delle app. Sfortunatamente, questa funzionalità potrebbe essere utilizzata in modo improprio da app dannose progettate per generare entrate pubblicitarie fraudolente.
Per mitigare questo problema:
Gli sviluppatori di app dovrebbero avvisare tutti i fornitori di pubblicità digitale con cui lavorano per filtrare i ricavi e tutto il traffico corrispondente generato dai dispositivi che appartengono ai fornitori di test, incluso Test Lab.
I fornitori di pubblicità digitale possono filtrare le entrate pubblicitarie e tutto il traffico corrispondente generato da Test Lab filtrando il traffico proveniente dai seguenti blocchi di indirizzi IP (
gcloud beta firebase test ip-blocks list
presente che puoi accedere a questo elenco anche utilizzando ilgcloud beta firebase test ip-blocks list
nella CLI di gcloud ):
Piattaforma e tipo di dispositivo | Blocco dell'indirizzo IP CIDR |
---|---|
Dispositivi fisici Android e iOS | 108.177.6.0/23 70.32.147.112/28 (aggiunto il 03-2020) 74.125.122.32/29 (aggiunto il 04-2020) 108.177.29.80/28 (aggiunto il 04-2020) 216.239.44.24/29 (aggiunto il 04-2020) |
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) 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) 199.192.115.0/30 199.192.115.8/30 199.192.115.16/29 |