欢迎参加我们将于 2022 年 10 月 18 日举办的 Firebase 峰会(线上线下同时进行),了解 Firebase 如何帮助您加快应用开发速度、满怀信心地发布应用并在之后需要时轻松地扩大应用规模。立即报名

Zacznij korzystać z Firebase Test Lab na iOS

Laboratorium Firebase umożliwia testowanie jakości aplikacji na różnych urządzeniach i konfiguracjach. Ten przewodnik zawiera przegląd kluczowych koncepcji laboratorium testowego, oferty systemu iOS oraz instrukcje dotyczące rozpoczynania testowania.

Aby uzyskać informacje o przydziałach i planach cenowych Laboratorium testowego, zobacz Użycie, przydziały i ceny .

Kluczowe pojęcia i terminy

Gdy przeprowadzasz test lub zestaw przypadków testowych na wybranych urządzeniach i konfiguracjach, Laboratorium testowe przeprowadza test dla Twojej aplikacji w partii, a następnie wyświetla wyniki jako macierz testów .

Urządzenia × Wykonywanie testów = Matryca testowa

Urządzenie
Urządzenie fizyczne lub wirtualne (tylko Android), na którym przeprowadzasz test, takie jak telefon, tablet lub urządzenie do noszenia. Urządzenia w macierzy testowej są identyfikowane według modelu urządzenia, wersji systemu operacyjnego, orientacji ekranu i ustawień regionalnych (znanych również jako ustawienia geograficzne i językowe).
Test, wykonanie testu
Test (lub zestaw przypadków testowych) do uruchomienia na urządzeniu. Możesz uruchomić jeden test na urządzenie lub opcjonalnie podzielić test i uruchomić jego przypadki testowe na różnych urządzeniach.
Matryca testowa
Zawiera statusy i wyniki testów dla wykonań testów. Jeśli wykonanie dowolnego testu w macierzy nie powiedzie się, nie powiedzie się cała macierz.

Krok 1 : Przygotuj test do przesłania do laboratorium testowego

Możesz uruchomić następujące testy za pomocą Test Lab. Należy pamiętać, że wszystkie typy testów mogą trwać maksymalnie 45 minut na urządzeniach fizycznych, a każdy niewychwycony wyjątek spowoduje niepowodzenie testu.

  • XCTest (w tym XCUITests) : test jednostkowy napisany przy użyciu platformy XCTest . Odwiedź stronę Utwórz XCTest, aby uzyskać instrukcje dotyczące modyfikowania XCTest do uruchomienia w laboratorium testowym.

  • Test pętli gry : test wykorzystujący „tryb demonstracyjny” do symulacji działań graczy w aplikacjach do gier. Jest to szybki i skalowalny sposób sprawdzenia, czy Twoja gra działa dobrze dla użytkowników. Gdy zdecydujesz się uruchomić test pętli gry, możesz:

    • Napisz testy natywne dla twojego silnika gry.

    • Unikaj pisania tego samego kodu dla różnych interfejsów użytkownika lub platform testowych.

    • Opcjonalnie utwórz wiele pętli do uruchomienia w jednym wykonaniu testu. Możesz także organizować pętle za pomocą etykiet, aby móc je śledzić i ponownie uruchamiać określone pętle.

    Odwiedź stronę Uruchom test pętli gry, aby uzyskać instrukcje dotyczące uruchamiania testu w laboratorium testowym.

Krok 2 : Wybierz narzędzie do przeprowadzenia testu

Do przeprowadzenia testu możesz wybrać następujące narzędzia:

  • Konsola Firebase umożliwia przesyłanie aplikacji i rozpoczynanie testów z dowolnego miejsca. Zobacz Testowanie za pomocą konsoli Firebase , aby uzyskać instrukcje dotyczące korzystania z tego narzędzia.

  • Interfejs wiersza poleceń (CLI) gcloud umożliwia interaktywne uruchamianie testów z wiersza poleceń, a także doskonale nadaje się do tworzenia skryptów w ramach zautomatyzowanego procesu tworzenia i testowania. Instrukcje korzystania z tego narzędzia znajdziesz w artykule Testowanie za pomocą interfejsu wiersza polecenia gcloud .

  • Przed testowaniem na rzeczywistych urządzeniach uruchom test lokalnie na symulatorze , aby upewnić się, że zachowuje się zgodnie z przeznaczeniem. Aby uzyskać instrukcje, zobacz Testuj lokalnie .

Krok 3 : Określ urządzenia testujące

Dzięki Test Lab możesz przeprowadzić test w swojej aplikacji na szerokiej gamie urządzeń i modeli iOS hostowanych w centrum danych Google. Aby dowiedzieć się więcej, zobacz Dostępne urządzenia.

Krok 4 : Sprawdź wyniki testu

Niezależnie od tego, w jaki sposób zainicjujesz testy, wszystkie wyniki Twoich testów są zarządzane przez Test Lab i można je przeglądać online.

Podsumowanie wyników testu jest automatycznie zapisywane i można je wyświetlić w konsoli Firebase. Zawiera najistotniejsze dane dla Twojego testu, w tym filmy dotyczące konkretnego przypadku testowego, zrzuty ekranu, liczbę testów, które zakończyły się pomyślnie, niepowodzeniem lub uzyskały niepewne wyniki i inne.

Nieprzetworzone wyniki testu zawierają dzienniki testowe i szczegóły awarii aplikacji i są automatycznie zapisywane w zasobniku Google Cloud. Jeśli określisz kubeł, odpowiadasz za koszt przechowywania. Jeśli nie określisz zasobnika, laboratorium testowe utworzy go za darmo.

Aby uzyskać więcej informacji, zobacz Analiza wyników laboratorium testowego Firebase.

Oczyszczanie urządzenia

Google bardzo poważnie traktuje bezpieczeństwo danych aplikacji. Postępujemy zgodnie z najlepszymi praktykami branżowymi, aby usunąć dane aplikacji i zresetować ustawienia systemowe urządzeń fizycznych po każdym uruchomieniu testu, aby upewnić się, że są one gotowe do przeprowadzania nowych testów. W przypadku urządzeń, które możemy flashować za pomocą niestandardowego obrazu odzyskiwania, idziemy o krok dalej, flashując te urządzenia między uruchomieniami testowymi.

W przypadku urządzeń wirtualnych używanych przez Test Lab instancje urządzeń są usuwane po ich użyciu, dzięki czemu każde uruchomienie testowe wykorzystuje nowe wystąpienie urządzenia wirtualnego.


Zezwalanie urządzeniom Test Lab na dostęp do prywatnych serwerów zaplecza

Niektóre aplikacje mobilne muszą komunikować się z prywatnymi usługami zaplecza, aby poprawnie działać podczas testowania. Jeśli Twoje serwery zaplecza są chronione przez reguły zapory, możesz zezwolić na dostęp fizycznym i wirtualnym urządzeniom Test Lab, używając poniższych bloków adresów IP, aby otworzyć trasy przez zaporę.

Reklama mobilna

Test Lab zapewnia skalowalną infrastrukturę, która automatyzuje testowanie aplikacji i niestety ta funkcja może być nadużywana przez złośliwe aplikacje zaprojektowane do generowania fałszywych przychodów z reklam.

Aby złagodzić ten problem:

  • Jeśli korzystasz lub współpracujesz z zewnętrznymi dostawcami reklam cyfrowych (na przykład sieciami reklamowymi lub platformami DSP), podczas tworzenia i testowania aplikacji zalecamy używanie reklam testowych zamiast prawdziwych.

  • Jeśli musisz użyć prawdziwych reklam w swoim teście, powiadom dostawców reklamy cyfrowej, z którymi współpracujesz, aby odfiltrowali przychody i cały powiązany ruch generowany przez Test Lab, korzystając z poniższych bloków adresów IP . 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 następujących bloków adresów IP . Dostęp do tej listy możesz też uzyskać za pomocą polecenia gcloud beta firebase test ip-blocks list w interfejsie wiersza polecenia gcloud . Lista aktualizowana jest średnio raz w roku.

Typ platformy i urządzenia Blokowanie adresów IP CIDR
Urządzenia fizyczne z systemem Android i iOS

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

108.177.31.160/27 (dodano 02-2022)

199.36.156.8/29 (dodano 02-2022)

199.36.156.16/28 (dodano 02-2022)

209.85.131.0/27 (dodano 02-2022)

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)

Urządzenia wirtualne z Androidem

34.68.194.64/29 (dodano 11-2019)

34.69.234.64/29 (dodano 11-2019)

34.73.34.72/29 (dodano 11-2019)

34.73.178.72/29 (dodano 11-2019)

34.74.10.72/29 (dodano 02-2022)

34.136.2.136/29 (dodano 02-2022)

34.136.50.136/29 (dodano 02-2022)

34.145.234.144/29 (dodano 02-2022)

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

35.245.243.240/29 (dodano 02-2022)

199.192.115.0/30

199.192.115.8/30

199.192.115.16/29

Bloki IP urządzenia nie są już używane

74.125.122.32/29 (usunięty 02-2022)

216.239.44.24/29 (usunięty 02-2022)