Rozpocznij testowanie z urządzeniami wirtualnymi z systemem Android

Urządzenia wirtualne z systemem Android (AVD) dla laboratorium Firebase Test Lab to wysokiej jakości symulacje urządzeń z systemem Android. AVD w laboratorium testowym mają najwyższą dostępność i są najbardziej przydatne do codziennego programowania lub ciągłego testowania integracji. Są one podobne do AVD dla Android Studio , ale są zoptymalizowane pod kątem wydajności z testowaniem w chmurze, więc istnieje kilka różnic między nimi (na przykład AVD w Test Lab mają emulowane połączenie danych, a nie połączenie Wi-Fi).

Dlaczego warto korzystać z urządzeń wirtualnych?

Urządzenia wirtualne mają następujące zalety w porównaniu z urządzeniami fizycznymi:

  • Wysoka dostępność: możesz uruchamiać testy i szybciej uzyskiwać wyniki testów podczas testowania z urządzeniami wirtualnymi. Ponieważ urządzenia wirtualne są tworzone na żądanie, Twoje testy rozpoczynają się niemal natychmiast, zapewniając szybką weryfikację Twojej aplikacji. Dzięki temu urządzenia wirtualne są idealne do testowania małych aktualizacji aplikacji lub do testowania regresji.
  • Dłuższe czasy trwania testów: Testy na urządzeniach fizycznych są ograniczone do 45 minut na każdym urządzeniu. Urządzenia wirtualne obsługują czas trwania testu do 60 minut, dzięki czemu nadają się do przeprowadzania dłuższych testów, a zwłaszcza do mierzenia wydajności aplikacji.
  • Niższy koszt: urządzenia wirtualne kosztują 1 USD za godzinę za każde urządzenie wirtualne używane do testowania Twojej aplikacji. Ponieważ są niedrogie, urządzenia wirtualne dobrze nadają się do codziennego testowania przy użyciu systemów ciągłej integracji lub przed zaewidencjonowaniem kodu. Aby dowiedzieć się więcej, zobacz Rozliczenia za laboratorium testowe .

Jak przetestować swoją aplikację na urządzeniach wirtualnych

Możesz przetestować swoją aplikację na urządzeniach wirtualnych w taki sam sposób, jak testujesz ją na urządzeniach fizycznych. Po prostu wybierz urządzenia wirtualne podczas wybierania wymiarów testowych, aby skonfigurować macierz testową.

Najlepsze praktyki testowania aplikacji

Urządzenia wirtualne zwiększają zakres opcji podczas testowania aplikacji za pomocą Test Lab. Zalecamy następujące podejście do testowania aplikacji w całym cyklu jej tworzenia:

  • W Android Studio: podczas tworzenia aplikacji użyj emulatora Android Studio lub podłączonego urządzenia fizycznego, aby sprawdzić każdą kompilację pod kątem wstępnej weryfikacji. Jeśli masz testy oprzyrządowania, możesz również uruchomić te testy z Android Studio na urządzeniach fizycznych lub wirtualnych dostarczonych przez Test Lab.
  • Korzystaj z laboratorium testowego z ogólnym urządzeniem wirtualnym o średniej rozdzielczości (MDPI) o niskiej rozdzielczości (MDPI): Możesz uruchamiać testy Robo i testy oprzyrządowania w swojej aplikacji szybciej za pomocą ogólnego urządzenia wirtualnego telefonu MDPI o niskiej rozdzielczości w laboratorium testowym niż w przypadku innych urządzeń wirtualnych. Wirtualne urządzenie MDPI jest dostępne na poziomach API 23 i wyższych. Aby używać tego urządzenia z poziomu interfejsu wiersza poleceń gcloud, użyj identyfikatora modelu NexusLowRes .
  • Użyj systemów ciągłej integracji (CI) przy każdej zmianie kodu podczas pracy nad udostępnionymi projektami: Jeśli pracujesz nad dużym projektem lub jeśli współtworzysz projekty, które są udostępniane za pomocą GitHub lub podobnych witryn, zalecamy korzystanie z ciągłej integracji (CI) systemów i testuj swoje aplikacje na urządzeniach wirtualnych za każdym razem, gdy działa system CI lub przed każdym żądaniem ściągnięcia. Aby dowiedzieć się więcej o korzystaniu z laboratorium testowego z systemami CI, zobacz Korzystanie z laboratorium testowego dla systemu Android z systemami ciągłej integracji .
  • Przed opublikowaniem istotnych aktualizacji aplikacji: zalecamy skorzystanie z laboratorium testowego w celu przetestowania aplikacji na urządzeniach fizycznych przed wydaniem aktualizacji aplikacji z istotnymi zmianami w interfejsie użytkownika i funkcjonalności. Pomoże to zapewnić, że Twoja aplikacja będzie działać dobrze na wielu popularnych urządzeniach fizycznych, a także zapewni pokrycie testowe wszelkich funkcji aplikacji, które opierają się na funkcjach urządzeń fizycznych, które nie są symulowane przez urządzenia wirtualne. Aby dowiedzieć się więcej o tych funkcjach, zobacz Znane ograniczenia .

Znane ograniczenia

Niektóre funkcje urządzeń fizycznych nie są obecnie symulowane przez urządzenia wirtualne lub są symulowane z pewnymi ograniczeniami. Poniższa tabela zawiera podsumowanie tych funkcji, które są obecnie niedostępne na urządzeniach wirtualnych lub które są dostępne z pewnymi ograniczeniami:

Funkcja Detale
Interfejsy binarne aplikacji inne niż x86 (ABI) Urządzenia wirtualne obsługują tylko x86 ABI. Jeśli programujesz za pomocą Android NDK, upewnij się, że generujesz kod dla zestawu instrukcji x86. Aby dowiedzieć się więcej, zobacz Zarządzanie ABI .

Uwaga: jeśli niektóre testy w macierzy testów są oznaczone jako nieważne , może to być spowodowane tym, że Twoja aplikacja opiera się na natywnym kodzie ARM.
Kodowanie i dekodowanie wideo Obecnie na urządzeniach wirtualnych obsługiwane jest tylko dekodowanie wideo H264. Kodowanie wideo nie jest obsługiwane.

Uwaga: filmy z testów urządzeń wirtualnych są obecnie uruchamiane z szybkością jednej klatki na sekundę, co sprawia, że ​​są mniej płynne niż filmy z testów urządzeń fizycznych.
OpenGL ES 3.x Biblioteki graficzne OpenGL ES 3.x i nowsze nie są dostępne na urządzeniach wirtualnych.
Kamera HAL v3 Aby dowiedzieć się więcej o Android Camera HAL v3.0, zobacz Omówienie Camera HAL v3 .
Wirtualna sieć prywatna (VPN) Obecnie korzystanie z VPN nie jest obsługiwane na urządzeniach wirtualnych.