Firebase Test Lab umożliwia testowanie aplikacji na różnych urządzeniach i w różnych konfiguracjach. Ten przewodnik dla początkujących zawiera ścieżkę wdrażania, którą możesz podążać, a także wprowadzenie do ofert Test Lab na Androida.
Informacje o Test Lab limitach i abonamentach znajdziesz w artykule Użycie, limity i ceny.
Kluczowe pojęcia
Gdy uruchomisz test lub zestaw przypadków testowych na wybranych urządzeniach i konfiguracjach, Test Lab przeprowadzi test na Twojej aplikacji w partii, a następnie wyświetli wyniki w postaci macierzy testowej.
Urządzenia × wykonania testów = macierz testów
- Urządzenie
- Urządzenie fizyczne lub wirtualne (tylko Android), na którym przeprowadzasz test, np. telefon, tablet lub urządzenie do noszenia. Urządzenia w macierzy testowej są identyfikowane na podstawie modelu urządzenia, wersji systemu operacyjnego, orientacji ekranu i ustawień regionalnych (znanych też jako ustawienia geograficzne i językowe).
- Test, wykonanie testu
- Test (lub zestaw przypadków testowych) do uruchomienia na urządzeniu. Możesz przeprowadzić 1 test na urządzenie lub opcjonalnie podzielić test na części i uruchomić jego przypadki testowe na różnych urządzeniach.
- Zestaw testów
- Zawiera stany i wyniki testów. Jeśli którekolwiek wykonanie testu w macierzy zakończy się niepowodzeniem, cała macierz zakończy się niepowodzeniem.
Krok 1. Przygotuj test do przesłania na platformę Test Lab
Dostępne typy testów
Za pomocą Test Lab możesz przeprowadzić te testy: Pamiętaj, że wszystkie typy testów mogą trwać maksymalnie 45 minut na urządzeniach fizycznych i 60 minut na urządzeniach wirtualnych. Każdy nieobsłużony wyjątek spowoduje niepowodzenie testu.
Test z instrumentacją lub test jednostkowy z instrumentacją: test napisany przy użyciu platform Espresso lub UI Automator. Ten test umożliwia wyraźne stwierdzenia dotyczące stanu aplikacji, aby zweryfikować prawidłowe działanie za pomocą interfejsów API AndroidJUnitRunner.
Instrukcje przygotowania testu do uruchomienia w Test Lab znajdziesz w artykule Przeprowadzanie testu z instrumentacją.
Instrukcje tworzenia testu z instrumentacją znajdziesz w dokumentacji dla deweloperów aplikacji na Androida.
Test Robo: automatyczny test, który analizuje interfejs aplikacji, a następnie metodycznie go eksploruje, symulując działania użytkownika bez konieczności pisania kodu. Więcej informacji znajdziesz w artykule Informacje o testach Robo.
Test pętli gry: test, który wykorzystuje „tryb demonstracyjny” do symulowania działań gracza w aplikacjach do gier. To szybki i skalowalny sposób na sprawdzenie, czy gra działa prawidłowo. Jeśli zdecydujesz się przeprowadzić test pętli gry, możesz:
Pisanie testów natywnych dla silnika gry
Unikaj pisania tego samego kodu dla różnych interfejsów lub platform testowych.
Opcjonalnie możesz utworzyć wiele pętli do uruchomienia w ramach jednego testu (więcej informacji znajdziesz w artykule Informacje o testach pętli gry). Pętle możesz też porządkować za pomocą etykiet, aby śledzić je i ponownie uruchamiać wybrane pętle.
Instrukcje dotyczące przeprowadzania tego testu za pomocą Test Lab znajdziesz w artykule Przeprowadzanie testu pętli gry.
Narzędzia do przeprowadzenia testu
Do przeprowadzenia testu możesz użyć tych narzędzi:
Zalecana dla użytkowników korzystających z niej po raz pierwszy: konsola Firebase umożliwia przesyłanie aplikacji i rozpoczynanie testów w przeglądarce. Instrukcje dotyczące przeprowadzania testów za pomocą tego narzędzia znajdziesz w artykule Testowanie za pomocą konsoli Firebase.
Integracja z Androidem Studio umożliwia testowanie aplikacji bez opuszczania środowiska programistycznego. Instrukcje uruchamiania testów za pomocą tego narzędzia znajdziesz w artykule Testowanie w Android Studio.
Interfejs wiersza poleceń gcloud umożliwia interaktywne przeprowadzanie testów z wiersza poleceń. Nadaje się też do tworzenia skryptów w ramach zautomatyzowanego procesu kompilacji i testowania. Instrukcje uruchamiania testów za pomocą tego narzędzia znajdziesz w sekcji Testowanie za pomocą gcloud CLI.
Możesz też bezpłatnie przetestować aplikację za pomocą Test Lab, przesyłając i publikując pliki APK aplikacji w Sklepie Play na kanale alfa lub beta. Więcej informacji znajdziesz w artykułach Używanie raportów przed opublikowaniem do wykrywania błędów i Testy Robo.
Krok 2. Wybierz urządzenie testowe
Test Lab umożliwia testowanie na różnych markach i modelach urządzeń z Androidem zainstalowanych i działających w centrum danych Google; Testowanie na urządzeniach w Test Lab pomaga wykrywać problemy, które mogą nie występować podczas testowania aplikacji za pomocą emulatorów w Android Studio. Więcej informacji znajdziesz w artykule Dostępne urządzenia.
Krok 3. Sprawdź wyniki testu
Niezależnie od tego, jak rozpoczniesz testy, wszystkie wyniki są zarządzane przez Test Lab i można je wyświetlać online.
Podsumowanie wyników testu jest automatycznie zapisywane i można je wyświetlić w Firebase konsoli. Zawiera on najbardziej istotne dane dotyczące testu, w tym filmy dotyczące konkretnych przypadków testowych, zrzuty ekranu, liczbę testów, które zakończyły się powodzeniem, niepowodzeniem lub dały niejednoznaczne wyniki, i inne informacje.
Nieprzetworzone wyniki testów zawierają logi testów i szczegóły awarii aplikacji i są automatycznie zapisywane w zasobniku Google Cloud. Jeśli określisz zasobnik, ponosisz koszt pamięci masowej. Jeśli nie określisz zasobnika, usługa Test Lab utworzy go za Ciebie bezpłatnie.
Więcej informacji znajdziesz w artykule Analizowanie Firebase Test Labwyników.
Jeśli rozpoczniesz test w Android Studio, możesz też sprawdzić wyniki testu w środowisku programistycznym.
Czyszczenie urządzenia
Google bardzo poważnie traktuje bezpieczeństwo danych aplikacji. Po każdym teście postępujemy zgodnie ze sprawdzonymi metodami standardowymi w branży, aby usunąć dane aplikacji i zresetować ustawienia systemu na urządzeniach fizycznych. Dzięki temu są one gotowe do przeprowadzenia nowych testów. W przypadku urządzeń, na których możemy zainstalować niestandardowy obraz odzyskiwania, idziemy o krok dalej i instalujemy na nich oprogramowanie między kolejnymi testami.
W przypadku urządzeń wirtualnych używanych przez Test Lab instancje urządzeń są usuwane po użyciu, dzięki czemu każdy test korzysta z nowej instancji urządzenia wirtualnego.
Test Lab i Usługi Google Play
Test Lab urządzenia zwykle korzystają z najnowszej wersji pakietu SDK usług Google Play, ale w przypadku niektórych urządzeń aktualizacja po wydaniu nowej wersji pakietu SDK może potrwać kilka dni. Pamiętaj, że na niektórych urządzeniach mogą występować problemy ze zgodnością.
Zezwalanie urządzeniom testowym na dostęp do prywatnych serwerów backendu
Niektóre aplikacje mobilne muszą komunikować się z prywatnymi usługami backendu, aby prawidłowo działać podczas testowania. Jeśli serwery backendu są chronione przez reguły zapory sieciowej, możesz zezwolić na dostęp do urządzeń fizycznych i wirtualnych Test Lab, otwierając trasy przez zaporę sieciową za pomocą bloków adresów IP podanych poniżej.
reklamy mobilne,
Test Lab zapewnia skalowalną infrastrukturę, która automatyzuje testowanie aplikacji. Niestety ta zdolność może być wykorzystywana w nadużycie przez szkodliwe aplikacje zaprojektowane do generowania fałszywych przychodów z reklam.
Aby ograniczyć ten problem:
Jeśli korzystasz z usług zewnętrznych dostawców reklam cyfrowych (np. sieci reklamowych lub platform DSP) lub z nimi współpracujesz, zalecamy używanie reklam testowych zamiast prawdziwych reklam podczas tworzenia i testowania aplikacji.
Jeśli w teście musisz użyć prawdziwych reklam, poinformuj dostawców reklam cyfrowych, z którymi współpracujesz, aby odfiltrowali przychody i cały ruch generowany przez Test Lab, korzystając z bloków adresów IP podanych poniżej. Nie musisz powiadamiać dostawców reklam należących do Google. Zrobi to za Ciebie Test Lab.
Adresy IP używane przez urządzenia Test Lab
Cały ruch w sieci generowany przez urządzenia Test Lab pochodzi z tych bloków adresów IP.
Możesz też uzyskać dostęp do tej listy za pomocą gcloud beta firebase test ip-blocks list
polecenia
w interfejsie gcloud CLI. Lista jest aktualizowana średnio raz w roku.
| Platforma i typ urządzenia | Blok adresów IP CIDR |
|---|---|
| urządzenia fizyczne z Androidem i iOS, urządzenia wirtualne Arm. |
70.32.128.0/19 (dodano w lutym 2022 r.) 108.177.6.0/23 108.177.18.192/26 (dodano w lutym 2022 r.) 108.177.29.64/27 (rozszerzono w lutym 2022 r.) 108.177.31.160/27 (dodano w lutym 2022 r.) 199.36.156.8/29 (dodano w lutym 2022 r.) 199.36.156.16/28 (dodano w lutym 2022 r.) 209.85.131.0/27 (dodano w lutym 2022 r.) 2001:4860:1008::/48 (dodano w lutym 2022 r.) 2001:4860:1018::/48 (dodano w lutym 2022 r.) 2001:4860:1019::/48 (dodano w lutym 2022 r.) 2001:4860:1020::/48 (dodano w lutym 2022 r.) 2001:4860:1022::/48 (dodano w lutym 2022 r.) 2001:4860:101d::/48 (dodano w październiku 2025 r.) 2001:4860:101e::/48 (dodano w październiku 2025 r.) 2001:4860:1031::/48 (dodano w październiku 2025 r.) 70.32.128.48/28 (dodano w kwietniu 2024 r.) 70.32.150.192/27 (dodano w 09.2025) 108.177.6.0/27 (dodano w IX 2025 r.) 108.177.24.160/27 (dodano w 09.2025) 108.177.29.0/27 (dodano w 09.2025) 108.177.25.128/27 (dodano w maju 2026 r.) 108.177.26.128/26 (dodano w maju 2026 r.) 108.177.29.192/26 (dodano w maju 2026 r.) 172.217.120.64/26 (dodano w maju 2026 r.) 172.217.120.128/26 (dodano w maju 2026 r.) 2001:4860:1037::/48 (dodano w maju 2026 r.) 2001:4860:1038::/48 (dodano w maju 2026 r.) 2001:4860:103a::/48 (dodano w maju 2026 r.) |
| Wirtualne urządzenia z Androidem (inne niż Arm) |
34.68.194.64/29 (dodano w listopadzie 2019 r.) 34.69.234.64/29 (dodano w listopadzie 2019 r.) 34.73.34.72/29 (dodano w listopadzie 2019 r.) 34.73.178.72/29 (dodano w listopadzie 2019 r.) 34.74.10.72/29 (dodano w lutym 2022 r.) 34.136.2.136/29 (dodano w lutym 2022 r.) 34.136.50.136/29 (dodano w lutym 2022 r.) 34.145.234.144/29 (dodano w lutym 2022 r.) 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 (dodano w lipcu 2019 r.) 35.245.243.240/29 (dodano w lutym 2022 r.) 199.192.115.0/30 199.192.115.8/30 199.192.115.16/29 |
| Blokady adresów IP urządzeń nie są już używane |
74.125.122.32/29 (usunięto w lutym 2022 r.) 216.239.44.24/29 (usunięto w lutym 2022 r.) |