Laboratorium Firebase Test Lab umożliwia testowanie aplikacji na różnych urządzeniach i konfiguracjach. Ten przewodnik Wprowadzenie zawiera ścieżkę implementacji, którą możesz podążać, a także wprowadzenie do oferty Test Lab na Androida.
Aby uzyskać informacje o przydziałach i planach cenowych laboratorium testowego, zobacz Użycie, przydziały i ceny .
Kluczowe idee
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
- Fizyczne lub wirtualne urządzenie (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
Dostępne typy testów
Możesz uruchomić następujące testy za pomocą Test Lab. Pamiętaj, że wszystkie typy testów są ograniczone do 45 minut na urządzeniach fizycznych i 60 minut na urządzeniach wirtualnych. Każdy nieprzechwycony wyjątek spowoduje niepowodzenie testu.
Test oprzyrządowania lub oprzyrządowany test jednostkowy : test napisany przy użyciu platform Espresso lub UI Automator . Za pomocą tego testu możesz jawnie potwierdzić stan swojej aplikacji, aby zweryfikować poprawność działania przy użyciu AndroidJUnitRunnerAPIs .
Odwiedź stronę Uruchom test oprzyrządowania, aby uzyskać instrukcje dotyczące przygotowania testu do uruchomienia w laboratorium testowym.
Zapoznaj się z dokumentacją dla programistów Androida, aby uzyskać instrukcje tworzenia testu instrumentacji.
Robo test : automatyczny test, który analizuje interfejs użytkownika aplikacji, a następnie bada go metodycznie, symulując działania użytkownika, bez konieczności pisania kodu. Odwiedź Informacje o testach Robo, aby uzyskać więcej informacji.
Test pętli gry : test wykorzystujący „tryb demonstracyjny” do symulacji działań graczy w aplikacjach do gier. 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 frameworków testowych
Opcjonalnie utwórz wiele pętli do uruchomienia w jednym wykonaniu testu (odwiedź Informacje o testach pętli gry, aby dowiedzieć się więcej). Możesz także organizować pętle za pomocą etykiet, aby móc je śledzić i ponownie uruchamiać określone pętle.
Zobacz Uruchamianie testu pętli gry, aby uzyskać instrukcje dotyczące uruchamiania tego testu w laboratorium testowym.
Narzędzia do przeprowadzenia testu
Do przeprowadzenia testu możesz wybrać następujące narzędzia:
Zalecane dla początkujących użytkowników : konsola Firebase umożliwia przesłanie aplikacji i rozpoczęcie testowania z przeglądarki internetowej. Zobacz Testowanie za pomocą konsoli Firebase , aby uzyskać instrukcje dotyczące przeprowadzania testów za pomocą tego narzędzia.
Integracja Android Studio umożliwia testowanie aplikacji bez opuszczania środowiska programistycznego. Zobacz Testowanie w Android Studio , aby uzyskać instrukcje dotyczące przeprowadzania testów za pomocą tego narzędzia.
Interfejs wiersza poleceń 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. Zobacz Testowanie za pomocą interfejsu wiersza polecenia gcloud, aby dowiedzieć się, jak przeprowadzać testy za pomocą tego narzędzia.
Możesz też bezpłatnie przetestować swoją aplikację w Test Lab, przesyłając i publikując pliki APK aplikacji w Sklepie Play za pomocą kanału alfa lub beta. Aby uzyskać więcej informacji, zobacz Używanie raportów przed opublikowaniem do identyfikowania problemów i testów Robo .
Krok 2 : Wybierz swoje urządzenie testowe
Test Lab obsługuje testowanie na kilku markach i modelach urządzeń z systemem Android zainstalowanych i działających w centrum danych Google. Testowanie na urządzeniach w Test Lab pomaga wykryć problemy, które mogą nie wystąpić podczas testowania aplikacji za pomocą emulatorów w Android Studio. Aby dowiedzieć się więcej, zobacz Dostępne urządzenia.
Krok 3 : 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 konkretnych przypadków testowych, 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 je za Ciebie bez żadnych kosztów.
Aby uzyskać więcej informacji, zobacz Analiza wyników laboratorium testowego Firebase.
Gdy zainicjujesz test z Android Studio , możesz także przejrzeć wyniki testów z poziomu swojego środowiska programistycznego.
Oczyszczanie urządzenia
Google bardzo poważnie traktuje bezpieczeństwo danych aplikacji. Przestrzegamy najlepszych praktyk branżowych, aby usuwać dane aplikacji i resetować 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 nową instancję urządzenia wirtualnego.
Test Lab i usługi Google Play
Urządzenia z laboratorium testowego zwykle działają z najnowszą wersją pakietu SDK usług Google Play, ale niektóre mogą wymagać kilku dni na zaktualizowanie po wydaniu nowej wersji pakietu SDK. Pamiętaj, że możesz napotkać problemy ze zgodnością z niektórymi urządzeniami.
Zezwalanie urządzeniom testowym 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) |