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 następnie wyświetli wyniki w postaci macierzy testów.
Urządzenia × wykonania testu = tabela 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 przeprowadzenia na urządzeniu. Możesz przeprowadzić jeden test na urządzenie lub opcjonalnie podzielić test i uruchomić przypadki testowe na różnych urządzeniach.
- Zestaw testów
- Zawiera stany i wyniki testów. Jeśli którekolwiek wykonanie testu w całej macierzy się nie powiedzie, cała tablica się nie powiedzie.
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 lub test jednostkowy z użyciem narzędzia: 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ą AndroidJUnitRunnerAPIs.
Instrukcje dotyczące przygotowania testu do uruchomienia w środowisku Test Lab znajdziesz w sekcji Przeprowadzanie testu instrumentacji.
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. To szybki i skalowalny sposób sprawdzania, czy gra działa dobrze dla użytkowników. Podczas przeprowadzania testu pętli gry możesz:
Pisanie testów natywnych w silniku gry
Unikaj pisania tego samego kodu w różnych interfejsach i testowania różnych platform.
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
Do przeprowadzenia testu możesz użyć 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 opuszczania ś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 na temat identyfikowania problemów przy użyciu raportów przed opublikowaniem i testów 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, nieudane testy lub testy z niejednoznacznymi wynikami, 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 wyszukiwania Firebase Test Lab.
Po rozpoczęciu testu w Android Studio możesz też sprawdzić wyniki 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 – Test Lab zajmie się tym 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 |
---|---|
Fizyczne urządzenia 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 02-2022) 108.177.29.64/27 (rozwinięty: 02.2022) 108.177.31.160/27 (dodano 02.2022) 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 02.2022) 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 (bez urządzenia pamięci) |
34.68.194.64/29 (dodano 11-2019) 34.69.234.64/29 (dodano: 11.2019) 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 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 02.2022) 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) |