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ę implementacji, którą możesz podążać, a także wprowadzenie do ofert Test Lab na Androida.
Informacje o limitach Test Lab 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 wykonania testów. Jeśli wykonanie któregokolwiek 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 instrumentacji lub test jednostkowy z instrumentacją: test napisany przez Ciebie 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 narzędzia AndroidJUnitRunner.
Instrukcje przygotowania testu do uruchomienia w Test Lab znajdziesz w artykule Przeprowadzanie testu z instrumentacją.
Instrukcje tworzenia testu instrumentacyjnego znajdziesz w dokumentacji dla deweloperów aplikacji na Androida.
Test Robo: automatyczny test, który analizuje interfejs aplikacji, a następnie metodycznie go sprawdza, 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. Gdy 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ć kilka pętli, które będą uruchamiane w ramach jednego testu (więcej informacji znajdziesz w artykule Testy pętli gry). Możesz też porządkować pętle za pomocą etykiet, aby śledzić je i ponownie uruchamiać wybrane pętle.
Instrukcje 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:
Zalecane dla użytkowników korzystających z tej usługi 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 dotyczące przeprowadzania 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ą interfejsu wiersza poleceń gcloud.
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 testu zawierają logi testu i szczegóły awarii aplikacji i są automatycznie zapisywane w zasobniku Google Cloud. Jeśli określisz zasobnik, ponosisz odpowiedzialność za koszt pamięci masowej. Jeśli nie określisz zasobnika,Test Lab utworzy go za Ciebie bezpłatnie.
Więcej informacji znajdziesz w artykule Analizowanie wyników Firebase Test Lab.
Gdy rozpoczniesz testowanie 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 stosowanymi w branży, aby usunąć dane aplikacji i zresetować ustawienia systemowe 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 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 jest przeprowadzany na 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 może potrwać kilka dni od momentu wydania nowej wersji pakietu SDK. Pamiętaj, że w przypadku niektórych urządzeń mogą wystąpić 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.
Reklama mobilna
Test Lab zapewnia skalowalną infrastrukturę, która automatyzuje testowanie aplikacji. Niestety ta funkcja może być wykorzystywana w nieuczciwy sposób przez złośliwe aplikacje zaprojektowane do generowania nieuczciwych przychodów z reklam.
Aby złagodzić 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, podczas tworzenia i testowania aplikacji zalecamy używanie reklam testowych zamiast prawdziwych.
Jeśli w testach musisz używać 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 sieciowy generowany przez urządzenia Test Lab pochodzi z bloków adresów IP wymienionych poniżej.
Możesz też uzyskać dostęp do tej listy za pomocą gcloud beta firebase test ip-blocks list
polecenia
w interfejsie wiersza poleceń gcloud. 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 z architekturą 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.) 70.32.128.48/28 (dodano w kwietniu 2024 r.) |
Urządzenia wirtualne 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 |
Bloki 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.) |