W tym dokumencie opisano urządzenia AVD dla Test Lab, w tym korzyści i znane ograniczenia. Przedstawiamy też zalecenia dotyczące testowania aplikacji na różnych etapach cyklu programistycznego. Test Lab Urządzenia AVD są podobne do urządzeń AVD w Android Studio, ale są zoptymalizowane pod kątem wydajności podczas testowania w chmurze, więc istnieją między nimi pewne różnice.
Test Lab Urządzenia 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 urządzeniami wirtualnymi Androida w Android Studio, aby zapewnić spójność
Akceleracja graficzna obsługiwana przez GPU
W tabeli poniżej opisano korzyści z używania urządzeń wirtualnych:
| Korzyść | Opis | Przypadki użycia |
| Wysoka dostępność | Podczas testowania na urządzeniach wirtualnych możesz szybciej przeprowadzać testy i uzyskiwać wyniki. Urządzenia wirtualne są tworzone na żądanie, więc testy rozpoczynają się niemal natychmiast, co pozwala szybko sprawdzić aplikację. | testowanie niewielkich aktualizacji aplikacji lub testowanie regresyjne; |
| 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ądzenia wirtualne to 1 USD za godzinę za każde urządzenie wirtualne używane do testowania aplikacji. | Codzienne testowanie przy użyciu systemów trybu ciągłej integracji lub przed sprawdzeniem kodu. Więcej informacji znajdziesz w artykule Poziomy wykorzystania, limity i ceny w 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. Urządzenia wirtualne do testów możesz wybrać podczas konfigurowania zestawu testów. Więcej informacji o przeprowadzaniu testów za pomocą Test Lab znajdziesz w artykule Pierwsze kroki z testowaniem 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. Zalecamy stosowanie tych sprawdzonych metod testowania aplikacji w trakcie jej cyklu życia:
Używanie emulatora Android Studio lub podłączonego urządzenia fizycznego
Podczas tworzenia aplikacji używaj emulatora Android Studio lub podłączonego urządzenia fizycznego, aby sprawdzić każdą kompilację pod kątem wstępnej weryfikacji. Jeśli masz testy z instrumentacją, możesz je też uruchamiać z Android Studio na urządzeniach fizycznych lub urządzeniach wirtualnych udostępnianych przez Test Lab.
Używanie systemów CI przy każdej zmianie kodu podczas pracy nad współdzielonymi projektami
Jeśli pracujesz nad dużym projektem lub uczestniczysz w projektach udostępnianych za pomocą GitHuba lub podobnej witryny, zalecamy korzystanie z systemów trybu ciągłej integracji (CI). Testuj aplikacje na urządzeniach wirtualnych za każdym razem, gdy system CI jest uruchamiany, lub przed każdym żądaniem pull. Więcej informacji o używaniu Test Lab z systemami CI znajdziesz w artykule Używanie Test Lab na Androida z systemami ciągłej integracji.
Przed opublikowaniem ważnych aktualizacji aplikacji przetestuj ją na urządzeniach fizycznych za pomocą Test Lab
Zanim opublikujesz aktualizacje aplikacji, które wprowadzają istotne zmiany w interfejsie i funkcjach, zalecamy przetestowanie aplikacji na urządzeniach fizycznych za pomocą Test Lab. 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 można symulować na urządzeniach wirtualnych. Więcej informacji o tych funkcjach znajdziesz w artykule Znane ograniczenia.
Aktualizacje urządzeń wirtualnych
Zespół Androida okresowo dodaje nowe obrazy urządzeń wirtualnych, wycofuje stare i aktualizuje istniejące. Stosujemy te aktualizacje do obrazów urządzeń wirtualnych, aby zapewnić, że testujesz aplikacje na aktualnych wersjach Androida, które odzwierciedlają wrażenia użytkowników.
W rzadkich przypadkach te aktualizacje mogą spowodować nieoczekiwane niepowodzenie testów. Jeśli znana jest potencjalnie niebezpieczna aktualizacja, Test Lab zamieści informacje o niej w informacjach o wersji. Zalecamy korzystanie z platform testowych, takich jak Espresso, które są odporne na te zmiany. Jeśli nie jest to możliwe, zalecamy kierowanie na urządzenia wirtualne Arm, które powinny być 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 interfejsy ABI. Jeśli programujesz za pomocą Android NDK, pamiętaj o wygenerowaniu kodu dla interfejsów ABI obsługiwanych przez urządzenia docelowe (zobacz Dostępne urządzenia w Test Lab). Więcej informacji o zarządzaniu interfejsami ABI znajdziesz w artykule o interfejsach ABI Androida.
Uwaga: jeśli test w zestawie testów jest oznaczony jako nieprawidłowy, może to oznaczać, że aplikacja jest zależna od kodu natywnego, który nie jest obsługiwany przez ABI urządzenia. |
| Wydajność grafiki | Urządzenia wirtualne Nexus i Pixel używają renderowania grafiki programowej. Aplikacje intensywnie korzystające z grafiki mogą działać wolniej. Jeśli aplikacja intensywnie korzysta z 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 interfejsem API na poziomie niższym 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 urządzeniach wirtualnych Arm. |
| funkcje rzeczywistości rozszerzonej (AR); | Testowanie funkcji rzeczywistości rozszerzonej (AR) nie jest obsługiwane na urządzeniach wirtualnych. |
| Starsze poziomy interfejsu API | Test Lab Urządzenia wirtualne z architekturą ARM nie obsługują poziomów interfejsu API niższych niż 26. |