Firebase Test Lab umożliwia przetestowanie aplikacji pod kątem jakości na różnych urządzeniach i w różnych konfiguracjach. Ten przewodnik zawiera omówienie kluczowych pojęć dotyczących Test Lab, ofert na iOS oraz instrukcje rozpoczęcia testowania.
Informacje o limitach i planach cenowych Test Lab znajdziesz w artykule Wykorzystanie, limity i ceny.
Kluczowe pojęcia i terminy
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
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, a niewychwycona wyjątek spowoduje niepowodzenie testu.
XCTest (w tym XCUITests): test jednostkowy napisany za pomocą frameworku XCTest. Instrukcje modyfikowania XCTest na potrzeby Test Lab znajdziesz w artykule Tworzenie XCTest.
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 wykonania w ramach jednego testu. Możesz też porządkować pętle za pomocą etykiet, aby móc je śledzić i ponowić.
Instrukcje dotyczące przeprowadzania testu w Test Lab znajdziesz w artykule Przeprowadzanie testu pętli gry.
Krok 2. Wybierz narzędzie do przeprowadzenia testu
Test możesz przeprowadzić za pomocą tych narzędzi:
Konsola Firebase umożliwia przesyłanie aplikacji i inicjowanie testów z dowolnego miejsca. Instrukcje korzystania z tego narzędzia znajdziesz w konsoli Firebase.
Interfejs wiersza poleceń gcloud umożliwia interaktywne uruchamianie testów z wiersza poleceń. Jest też odpowiedni do tworzenia skryptów w ramach procesu automatycznego tworzenia i testowania. Instrukcje korzystania z tego narzędzia znajdziesz w artykule Testowanie za pomocą interfejsu wiersza poleceń gcloud.
Zanim przetestujesz aplikację na rzeczywistych urządzeniach, uruchom ją lokalnie na symulatorze, aby sprawdzić, czy działa zgodnie z oczekiwaniami. Instrukcje znajdziesz w sekcji Testowanie lokalnie.
Krok 3. Określ urządzenia testowe
Dzięki Test Lab możesz przeprowadzić test aplikacji na wielu urządzeniach z iOS i modelach hostowanych w centrum danych Google. Więcej informacji znajdziesz w artykule Dostępne urządzenia.
Krok 4. Sprawdź wyniki testów
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.
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.
Zezwalanie urządzeniom Test Lab na dostęp do prywatnych serwerów backendu
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 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) |