Pierwsze kroki w Laboratorium Firebase na iOS

Firebase Test Lab umożliwia przeprowadzenie testów jakości aplikacji na różnych urządzeniach i w różnych konfiguracjach. Ten przewodnik zawiera omówienie kluczowych koncepcji 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.

Najważniejsze pojęcia i terminy

Gdy uruchomisz test lub zbiór przypadków testowych na wybranych urządzeniach i konfiguracjach, Test Lab uruchomi zbiorczo test aplikacji, a potem 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 tabeli testów są identyfikowane na podstawie modelu urządzenia, wersji systemu operacyjnego, orientacji ekranu i języka (czyli ustawień geograficznych i języka).
Test, wykonanie testu
Test (lub zestaw przypadków testowych) do uruchomienia 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 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ą ramy 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 w różnych interfejsach użytkownika i testowania struktury.

    • 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

Do przeprowadzenia testu możesz użyć tych narzędzi:

  • Konsola Firebase umożliwia przesłanie aplikacji i rozpoczęcie testowania z dowolnego miejsca. Instrukcje korzystania z tego narzędzia znajdziesz w artykule Testowanie 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ć testy aplikacji na wielu różnych 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, 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, to Ty ponosisz odpowiedzialność za koszty pamięci masowej. 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 ograniczyć 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: Do tej listy możesz też uzyskać dostęp za pomocą gcloud beta firebase test ip-blocks list polecenia w 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 oraz urządzenia wirtualne z procesorami ARM

70.32.128.0/19 (dodano 02.2022)

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 02.2022)

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)

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)

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 2022-02)

199.192.115.0/30

199.192.115.8/30

199.192.115.16/29

Blokady adresów IP urządzenia nie są już używane

74.125.122.32/29 (usunięte 02-2022)

216.239.44.24/29 (usunięto 02.2022)