Firebase Test Lab umożliwia testowanie aplikacji na różnych urządzeniach i w różnych konfiguracjach. Ten przewodnik po rozpoczęciu zawiera opis procesu wdrażania oraz wprowadzenie do oferty Test Lab na Androida.
Informacje o limitach i planach cenowych Test Lab znajdziesz w artykule Wykorzystanie, limity i ceny.
Kluczowe pojęcia
Gdy uruchomisz test lub zestaw przypadków testowych na wybranych urządzeniach i w wybranych konfiguracjach, Test Lab przeprowadzi test aplikacji w partii, a potem wyświetli wyniki w postaci macierzy testów.
Urządzenia × wykonania testu = 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 macierz testów są identyfikowane na podstawie modelu urządzenia, wersji systemu operacyjnego, orientacji ekranu i lokalizacji (czyli ustawień geograficznych i językowych).
- Test, wykonanie testu
- Test (lub zestaw przypadków testowych) do uruchomienia na urządzeniu. Możesz przeprowadzić jeden test na urządzeniu lub podzielić test na części i przeprowadzić testy na różnych urządzeniach.
- Zestaw testów
- Zawiera stany i wyniki testów wykonanych testów. Jeśli jakiekolwiek wykonanie testu w macierzy zakończy się niepowodzeniem, cała matryca zakończy się niepowodzeniem.
Krok 1. Przygotuj test do przesłania do usługi Test Lab
Dostępne typy testów
Te testy możesz uruchomić za pomocą Test Lab. Pamiętaj, że wszystkie typy testów mogą trwać maksymalnie 45 minut na urządzeniach fizycznych i 60 minut na urządzeniach wirtualnych. Każde nieprzechwycone wyjątki spowodują niepowodzenie testu.
Test narzędzia do testowania lub test jednostkowy z użyciem narzędzia do testowania: test napisany za pomocą frameworków Espresso lub UI Automator. Ten test umożliwia tworzenie wyraźnych stwierdzeń dotyczących stanu aplikacji w celu sprawdzenia prawidłowej funkcjonalności za pomocą interfejsów AndroidJUnitRunner API.
Instrukcje dotyczące przygotowywania testów do uruchomienia w Test Lab znajdziesz w artykule Przeprowadź test z instrumentacją.
Instrukcje tworzenia testu pomiarowego 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 automatycznych.
Test pętli gry: test, który wykorzystuje „tryb demonstracyjny” do symulowania działań gracza w aplikacjach z grami. Jest to szybki i elastyczny sposób na sprawdzenie, czy gra działa prawidłowo dla użytkowników. Podczas przeprowadzania testu pętli gry możesz:
pisać testy natywne dla silnika gry,
Unikaj pisania tego samego kodu na potrzeby różnych interfejsów lub testowania różnych frameworków.
Opcjonalnie możesz utworzyć kilka pętli do uruchomienia w ramach jednego testu (więcej informacji znajdziesz w artykule Informacje o testach pętli gry). Możesz też porządkować pętle za pomocą etykiet, aby móc je śledzić i ponownie uruchamiać.
Instrukcje dotyczące uruchamiania tego testu za pomocą Test Lab znajdziesz w sekcji Przeprowadzanie testu pętli gry.
Narzędzia do przeprowadzania testu
Test możesz przeprowadzić za pomocą tych narzędzi:
Zalecany dla nowych użytkowników: konsola Firebase umożliwia przesyłanie aplikacji i inicjowanie testów w przeglądarce. Instrukcje dotyczące uruchamiania testów za pomocą tego narzędzia znajdziesz w artykule Testowanie za pomocą konsoli Firebase.
Integracja z Android Studio umożliwia testowanie aplikacji bez wychodzenia z środowiska programistycznego. Instrukcje dotyczące uruchamiania testów za pomocą tego narzędzia znajdziesz w artykule Testowanie za pomocą Android Studio.
Interfejs wiersza poleceń gcloud umożliwia interaktywne uruchamianie testów z wiersza poleceń. Jest on również odpowiedni do tworzenia skryptów w ramach procesu automatyzacji kompilacji i testowania. Instrukcje dotyczące uruchamiania testów za pomocą tego narzędzia znajdziesz w artykule 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 za pomocą kanału alfa lub beta. Więcej informacji znajdziesz w artykułach Używanie raportów przed opublikowaniem do identyfikowania problemów i Testy Robo.
Krok 2. Wybierz urządzenie testowe
Test Lab obsługuje testowanie na różnych modelach urządzeń z Androidem zainstalowanych i uruchamianych 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 inicjujesz testy, wszystkimi wynikami zarządza usługa Test Lab i można je wyświetlać online.
Podsumowanie wyników testu jest automatycznie przechowywane i można je wyświetlić w konsoli Firebase. Zawiera on najważniejsze dane dotyczące testu, w tym filmy dotyczące konkretnych przypadków testowych, zrzuty ekranu, liczbę testów, które zostały zaliczone, nie zaliczyły się lub miały niestabilne wyniki, a także inne informacje.
Nieprzetworzone wyniki testu zawierają logi testu i szczegóły błędów aplikacji. Są one automatycznie zapisywane w zasobniku Google Cloud. Jeśli określisz zasobnik, ponosisz odpowiedzialność za koszt przechowywania. Jeśli nie określisz puli, Test Lab utworzy ją za Ciebie bezpłatnie.
Więcej informacji znajdziesz w sekcji Analizowanie wyników Firebase Test Lab.
Po rozpoczęciu testu w Android Studio możesz też sprawdzić wyniki testu w środowisku programistycznym.
Czyszczenie urządzenia
Google bardzo poważnie traktuje bezpieczeństwo danych z aplikacji. Po każdym teście usuwamy dane aplikacji i zresetowujemy ustawienia systemowe urządzeń fizycznych, aby po każdej sesji testowej były gotowe do przeprowadzenia nowych testów. W przypadku urządzeń, które możemy sflashować za pomocą niestandardowego obrazu odzyskiwania, idziemy o krok dalej, flashując te urządzenia między kolejnymi testami.
W przypadku urządzeń wirtualnych używanych przez Test Lab po ich użyciu są one usuwane, aby każdy test korzystał z nowego urządzenia wirtualnego.
Test Lab i Usługi Google Play
Urządzenia Test Lab zwykle działają na najnowszej wersji pakietu SDK usług Google Play, ale w niektórych przypadkach może być konieczne kilka dni na aktualizację po wydaniu nowej wersji pakietu SDK. Pamiętaj, że na niektórych urządzeniach mogą wystąpić problemy ze zgodnością.
Zezwalanie urządzeniom testowym na dostęp do prywatnych serwerów zaplecza
Niektóre aplikacje mobilne muszą komunikować się z prywatnymi usługami backendowymi, 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, używając bloków adresów IP poniżej, aby otworzyć trasy przez zaporę sieciową.
Reklama mobilna
Test Lab udostępnia skalowalną infrastrukturę, która automatyzuje testowanie aplikacji. Niestety, złośliwe aplikacje mogą wykorzystywać tę funkcję do nieuczciwego generowania przychodów z reklam.
Aby rozwiązać ten problem:
Jeśli korzystasz z usług zewnętrznych dostawców reklam cyfrowych (np. sieci reklamowych lub platform po stronie popytu) lub współpracujesz z nimi, podczas tworzenia i testowania aplikacji zalecamy używanie reklam testowych zamiast prawdziwych reklam.
Jeśli w ramach testu musisz używać prawdziwych reklam, poinformuj współpracujących z Tobą dostawców reklam cyfrowych, aby odfiltrowali przychody i wszystkie odpowiednie dane dotyczące ruchu generowanego z Test Lab, korzystając z bloków adresów IP wymienionych poniżej. Nie musisz powiadamiać dostawców reklam należących do Google, ponieważ Test Lab zrobi to za Ciebie.
Adresy IP używane przez urządzenia Test Lab
.Cały ruch sieciowy generowany przez urządzenia Test Lab pochodzi z tych bloków adresów IP:
Dostęp do tej listy możesz też uzyskać, używając polecenia gcloud beta firebase test ip-blocks list
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 oraz urządzenia wirtualne z procesorami ARM |
70.32.128.0/19 (dodano w lutym 2022 r.) 108.177.6.0/23 108.177.18.192/26 (dodano 02-2022) 108.177.29.64/27 (rozwinięta 02-2022) 108.177.31.160/27 (dodano 2022-02) 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 20.02.2022 r.) 2001:4860:1008::/48 (dodano 2022-02-02) 2001:4860:1018::/48 (dodano 02-2022) 2001:4860:1019::/48 (dodano 02-2022) 2001:4860:1020::/48 (dodano 02-2022) 2001:4860:1022::/48 (dodano 02-2022) 70.32.128.48/28 (dodano 04-2024) |
Urządzenia wirtualne z Androidem (inne niż Arm) |
34.68.194.64/29 (dodano 11-2019) 34.69.234.64/29 (dodano 11 2019 r.) 34.73.34.72/29 (dodano 11.2019 r.) 34.73.178.72/29 (dodano 11-2019) 34.74.10.72/29 (dodano 02-2022) 34.136.2.136/29 (dodano w lutym 2022 r.) 34.136.50.136/29 (dodano 02-2022) 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ęte 02-2022) 216.239.44.24/29 (usunięte 02-2022) |