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 testów | 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. | Dłuższe testy |
Niższe koszty | Urządzenia wirtualne są płatne w cenie 1 USD za godzinę za każde urządzenie wirtualne używane do testowania aplikacji. | Codzienne testy z użyciem 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
Możesz testować aplikację na urządzeniach wirtualnych tak samo 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świetl obsługiwane modele i interfejsy 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 do testowania aplikacji w całym cyklu jej tworzenia:
Używanie 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 wnosisz udział w projektach udostępnianych przez GitHuba lub podobną witrynę, 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 używaniu Test Lab z systemami CI znajdziesz w artykule Używanie Test Lab na Androidzie z systemami 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 sekcji Znane ograniczenia.
Aktualizacje urządzeń wirtualnych
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ą nieoczekiwanie spowodować niepowodzenie testów. W przypadku znanej aktualizacji, która może powodować awarię, Test Lab umieszcza informacje 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 reklam 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 prowadzisz prace programistyczne z Android NDK, 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 Androida.
Uwaga: jeśli test w macierzy testów jest oznaczony jako nieprawidłowy, może to być spowodowane tym, że aplikacja jest zależna od kodu natywnego nieobsługiwanego przez interfejs 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 wymaga dużej ilości grafiki, rozważ użycie SmallPhone.arm, MediumPhone.arm lub urządzeń fizycznych. |
Interfejsy API związane z grafiką | 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 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 Arm nie obsługują poziomów API mniejszych niż 26. |