Ten dokument opisuje usługi antenowe w usłudze Test Lab, w tym ich zalety i znane ograniczenia. Udostępniamy też rekomendacje dotyczące testowania aplikacji na różnych etapach cyklu życia. Test Lab AVD są podobne do AVD dla Androida w Studio, ale są zoptymalizowane pod kątem wydajności dzięki testowaniu w chmurze, więc występują między nimi pewne różnice.
Test Lab AVD z sufiksem .arm lub (Arm) to zaawansowane emulatory, które zapewniają te korzyści:
Szybsze wykonywanie testów
rozmiary i gęstości ekranu zgodne z modelami AVD w Android Studio, aby zapewnić spójność;
Grafika przyspieszona przez GPU
W tabeli poniżej opisano zalety korzystania z urządzeń wirtualnych:
Korzyść | Opis | Przypadki użycia |
Wysoka dostępność | Testy przeprowadzane na urządzeniach wirtualnych są szybsze i dają szybsze wyniki. Urządzenia wirtualne są tworzone na żądanie, więc testy zaczynają się niemal natychmiast, co pozwala szybko zweryfikować aplikację. | testowanie niewielkich aktualizacji aplikacji lub regresji. |
dłuższy czas trwania testu, | Urządzenia wirtualne obsługują testy o długości do 60 minut. Testy na urządzeniach fizycznych są ograniczone do czasu trwania testu 45 minut na każdym urządzeniu. | Przeprowadzanie dłuższych testów |
Niższe koszty | Urządzenia wirtualne są płatne w cenie 1 USD za godzinę korzystania z każdego urządzenia wirtualnego używanego do testowania aplikacji. | testowanie codzienne za pomocą systemów ciągłej integracji lub przed sprawdzeniem kodu; Więcej informacji znajdziesz w artykule Poziomy wykorzystania, limity i ceny usługi Test Lab. |
Testowanie aplikacji na urządzeniach wirtualnych
Aplikację możesz testować na urządzeniach wirtualnych w taki sam sposób jak na urządzeniach fizycznych. Podczas konfigurowania macierzy testów możesz wybrać urządzenia wirtualne do testów. Więcej informacji o uruchamianiu testów za pomocą Test Lab znajdziesz w artykule Zaczynaj testować aplikacje na Androida za pomocą Firebase Test Lab
Wyświetlanie obsługiwanych modeli i interfejsów API
Aby wyświetlić modele i interfejsy AVD obsługiwane przez Test Lab, uruchom to polecenie:
gcloud firebase test android models list --filter=virtual
Sprawdzone metody testowania aplikacji
Urządzenia wirtualne zwiększają zakres opcji podczas testowania aplikacji za pomocą Test Lab. Zalecamy stosowanie tych sprawdzonych metod testowania aplikacji na różnych etapach cyklu życia aplikacji:
Użyj emulatora Android Studio lub podłączonego urządzenia fizycznego.
Podczas tworzenia aplikacji użyj emulatora Android Studio lub podłączonego urządzenia fizycznego, aby sprawdzić każdą kompilację pod kątem wstępnej walidacji. Jeśli masz testy instrumentacji, możesz je też uruchomić w Android Studio na urządzeniach fizycznych lub wirtualnych udostępnionych przez Test Lab.
podczas pracy nad projektami współdzielonymi używać systemów CI do weryfikacji każdej zmiany kodu;
Jeśli pracujesz nad dużym projektem lub współtworzysz projekty udostępniane w GitHub lub podobnej witrynie, zalecamy korzystanie z systemów ciągłej integracji (CI). Testuj aplikacje na urządzeniach wirtualnych za każdym razem, gdy system CI jest uruchamiany, lub przed każdą prośbą o przechwycenie. Więcej informacji o korzystaniu z Test Lab w systemach CI znajdziesz w artykule Korzystanie z Test Lab na potrzeby Androida w systemach ciągłej integracji.
Przed opublikowaniem istotnych aktualizacji aplikacji przetestuj ją na urządzeniach fizycznych za pomocą Test Lab
Zanim opublikujesz aktualizacje aplikacji ze znaczącymi zmianami w interfejsie i funkcjonalności, zalecamy przetestowanie aplikacji na fizycznych urządzeniach za pomocą Test Lab. Dzięki temu aplikacja będzie stabilna i wydajna na wielu popularnych urządzeniach fizycznych. Testowanie na urządzeniach fizycznych zapewnia również pokrycie testami wszystkich funkcji aplikacji, które korzystają z funkcji urządzeń fizycznych, które nie są symulowane przez urządzenia wirtualne. Więcej informacji o tych funkcjach znajdziesz w artykule Znane ograniczenia.
Aktualizacje urządzenia wirtualnego
Zespół Androida okresowo dodaje nowe obrazy wirtualnych urządzeń, wycofuje stare i aktualizuje istniejące. Stosujemy te aktualizacje do naszych obrazów wirtualnych urządzeń, aby zapewnić Ci możliwość testowania najnowszych wersji Androida, które odpowiadają wrażeniam użytkowników.
W rzadkich przypadkach te aktualizacje mogą spowodować nieoczekiwane niepowodzenie testów. Jeśli pojawi się aktualizacja, która może spowodować problemy, Test Lab poda informacje o niej w informacjach o wersji. Zalecamy używanie ram testowych, np. Espresso, które są odporne na te zmiany. Jeśli nie jest to możliwe, zalecamy kierowanie na urządzenia wirtualne z procesorami ARM, które są aktualizowane rzadziej.
Znane ograniczenia
Niektóre funkcje urządzeń fizycznych nie są obecnie symulowane przez urządzenia wirtualne lub są symulowane z pewnymi ograniczeniami. W tabeli poniżej znajdziesz podsumowanie funkcji, które są obecnie niedostępne na urządzeniach wirtualnych lub są dostępne z pewnymi ograniczeniami:
Funkcja | Szczegóły |
Interfejsy binarne aplikacji (ABI) | Nie wszystkie urządzenia obsługują wszystkie ABI. Jeśli tworzysz aplikację za pomocą NDK na Androida, pamiętaj, aby wygenerować kod dla interfejsów ABI obsługiwanych przez urządzenia docelowe (patrz Dostępne urządzenia w Test Lab). Więcej informacji o zarządzaniu interfejsami ABI znajdziesz w artykule Interfejsy ABI na Androida.
Uwaga: jeśli test w matryce testów jest oznaczony jako nieprawidłowy, może to wynikać z tego, że aplikacja jest zależna od kodu natywnego, którego nie obsługuje ABI urządzenia. |
Wydajność grafiki | Urządzenia wirtualne Nexus i Pixel korzystają z renderowania grafiki za pomocą oprogramowania. Aplikacje wymagające dużej ilości grafiki mogą działać wolniej. Jeśli Twoja aplikacja jest obciążająca dla grafiki, rozważ użycie SmallPhone.arm, MediumPhone.arm lub urządzeń fizycznych. |
Interfejsy API grafiki | OpenGL ES 3.x nie jest obsługiwany na urządzeniach z poziomem interfejsu API niższym niż 29. Nowsze urządzenia nie są w 100% zgodne z interfejsami API OpenGL/Vulkan, dlatego możesz zauważyć niewielkie różnice w grafice. |
Aplikacja Sklep Google Play | Aplikacja Sklep Google Play nie jest obsługiwana na urządzeniach wirtualnych z procesorami ARM. |
Funkcja rzeczywistości rozszerzonej (AR) | Testowanie funkcji rzeczywistości rozszerzonej nie jest obsługiwane na urządzeniach wirtualnych. |
Starsze poziomy interfejsu API | Test Lab Urządzenia wirtualne z procesorem ARM nie obsługują poziomów interfejsu API poniżej 26. |