Ten dokument opisuje AVD w przypadku Test Lab, w tym korzyści i znane ograniczenia. Podajemy też rekomendacje dotyczące testowania aplikacji na różnych etapach jej tworzenia. Test Lab AVD są podobne do AVD w Android Studio, ale zoptymalizowane pod kątem wydajności w testach 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:
Krótszy czas wykonywania testów
Rozmiary i gęstości ekranu zgodne z wirtualnymi urządzeniami z Androidem w Android Studio, co zapewnia spójność.
Akceleracja grafiki obsługiwana przez GPU
W tabeli poniżej opisujemy korzyści z używania urządzeń wirtualnych:
Korzyść | Opis | Przypadki użycia |
Wysoka dostępność | Testy na urządzeniach wirtualnych pozwalają szybciej przeprowadzać testy i uzyskiwać wyniki. Urządzenia wirtualne są tworzone na żądanie, więc testy rozpoczynają się niemal natychmiast, co pozwala szybko zweryfikować aplikację. | testowanie niewielkich aktualizacji aplikacji lub testowanie regresji; |
Dłuższy czas trwania testu | Urządzenia wirtualne obsługują testy trwające do 60 minut. Testy na urządzeniach fizycznych są ograniczone do 45 minut na każdym urządzeniu. | Przeprowadzanie dłuższych testów |
Niższe koszty | Cena za urządzenie wirtualne wynosi 1 USD za godzinę za każde urządzenie wirtualne użyte do testowania aplikacji. | Codzienne testowanie za pomocą systemów ciągłej integracji lub przed zatwierdzeniem kodu. Więcej informacji znajdziesz w artykule Poziomy wykorzystania, limity i ceny 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 testowej możesz wybrać urządzenia wirtualne do testów. Więcej informacji o przeprowadzaniu testów za pomocą Test Lab znajdziesz w artykule Rozpoczynanie testowania na Androidzie za pomocą Firebase Test Lab.
Wyświetlanie obsługiwanych modeli i interfejsów API
Aby wyświetlić modele i interfejsy API 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. Aby przetestować aplikację w trakcie całego cyklu jej tworzenia, zalecamy stosowanie tych sprawdzonych metod:
Użyj emulatora Android Studio lub podłączonego urządzenia fizycznego.
Podczas tworzenia aplikacji używaj emulatora Android Studio lub podłączonego urządzenia fizycznego, aby sprawdzać każdą kompilację pod kątem wstępnej weryfikacji. Jeśli masz testy instrumentacyjne, możesz je też uruchamiać w Android Studio na urządzeniach fizycznych lub wirtualnych udostępnianych przez Test Lab.
Korzystaj z systemów CI przy każdej zmianie kodu podczas pracy nad udostępnionymi projektami.
Jeśli pracujesz nad dużym projektem lub współtworzysz projekty udostępniane w GitHubie 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 uruchamia się lub przed każdą prośbą o scalenie. Więcej informacji o korzystaniu z Test Lab w systemach CI znajdziesz w artykule Korzystanie z Test Lab na Androidzie w systemach ciągłej integracji.
Testuj aplikację na urządzeniach fizycznych za pomocą Test Lab przed opublikowaniem ważnych aktualizacji
Zanim opublikujesz aktualizacje aplikacji ze znacznymi zmianami w interfejsie i funkcjonalności, zalecamy użycie Test Lab do przetestowania aplikacji na urządzeniach fizycznych. Pomoże to zapewnić stabilność i wydajność aplikacji na wielu popularnych urządzeniach fizycznych. Testowanie na urządzeniach fizycznych zapewnia też pokrycie testami wszystkich funkcji aplikacji, które korzystają z funkcji urządzenia fizycznego, których nie symulują urządzenia wirtualne. Więcej informacji o tych funkcjach znajdziesz w artykule Znane ograniczenia.
Aktualizacje urządzeń wirtualnych
Okresowo zespół Androida dodaje nowe obrazy urządzeń wirtualnych, wycofuje stare i aktualizuje istniejące. Wprowadzamy te aktualizacje do obrazów urządzeń wirtualnych, aby zapewnić Ci możliwość testowania najnowszych wersji Androida, które odzwierciedlają wrażenia użytkowników.
W rzadkich przypadkach te aktualizacje mogą spowodować nieoczekiwane niepowodzenie testów. Jeśli pojawi się znana aktualizacja, która może spowodować problemy, Test Lab umieści informacje w informacjach o wersji. Zalecamy, aby w miarę możliwości korzystać z platform testowych, np. Espresso, które są odporne na te zmiany. Jeśli nie jest to możliwe, zalecamy kierowanie reklam na wirtualne urządzenia z architekturą Arm, które są rzadziej aktualizowane.
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 interfejsy ABI. Jeśli tworzysz aplikację za pomocą Android NDK, wygeneruj kod dla interfejsów ABI obsługiwanych przez urządzenia, na których ma działać aplikacja (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 testowej jest oznaczony jako nieprawidłowy, może to być spowodowane tym, że aplikacja jest zależna od kodu natywnego, który nie jest obsługiwany przez interfejs ABI urządzenia. |
Wydajność grafiki | Wirtualne urządzenia Nexus i Pixel korzystają z programowego renderowania grafiki. Aplikacje wymagające dużej mocy obliczeniowej mogą działać wolniej. Jeśli Twoja aplikacja jest wymagająca pod względem grafiki, rozważ użycie zamiast tego urządzeń SmallPhone.arm, MediumPhone.arm lub urządzeń fizycznych. |
Interfejsy API grafiki | OpenGL ES 3.x nie jest obsługiwany na urządzeniach z interfejsem API w wersji niższej niż 29. Nowsze urządzenia nie są w 100% zgodne z interfejsami API OpenGL/Vulkan, więc możesz zauważyć niewielkie różnice w grafice. |
Aplikacja Sklep Google Play | Aplikacja Sklep Google Play nie jest obsługiwana na wirtualnych urządzeniach z procesorem 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 Wirtualne urządzenia z architekturą Arm nie obsługują poziomów API niższych niż 26. |