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 AVDs dla Androida Studio , ale są zoptymalizowane pod kątem wydajności z testów w chmurze, więc istnieje kilka różnic między nimi (na przykład AVDs w teście laboratorium mają emulowane transmisji danych zamiast połączenia WiFi).

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żna uruchomić testy i uzyskać wyniki testów szybciej podczas testowania z urządzeń wirtualnych. 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ższy czas trwania próby: Próby fizycznych urządzeń jest ograniczona do czasu trwania testu 45 minut w 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.
  • Koszt niższy: Urządzenia wirtualne są w cenie 1 $ za godzinę dla każdego urządzenia wirtualnego, używany do testowania 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 rozliczeń Test Lab .

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. Wystarczy wybrać urządzenia wirtualne podczas wybierania wymiarów testowych w celu skonfigurowania macierzy testowej.

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: Przy opracowywaniu aplikacji, należy skorzystać z emulatora Androida Studio lub podłączone urządzenie fizyczne zbadać każdy build dla wstępnej walidacji. 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.
  • Zastosowanie testu Lab z generic średniej niskiej rozdzielczości DPI (MDPI) urządzenia wirtualnego: Można uruchomić testy Robo i testów oprzyrządowania w swojej aplikacji szybciej z ogólnym niskiej rozdzielczości MDPI telefonu urządzenia wirtualnego laboratorium testowego niż w przypadku innych urządzeń wirtualnych. Urządzenie wirtualne MDPI jest dostępne na poziomach API 23 i wyższych. Aby skorzystać z urządzenia z interfejsu linii poleceń gcloud użyj NexusLowRes identyfikator modelu.
  • Użyj ciągłej integracji (CI) systemów na każdej zmianie kodu podczas pracy nad wspólnymi projektami: Jeśli pracujesz na dużym projekcie, lub jeśli przyczyniają się do projektów, które są wspólne użyciu GitHub lub podobnych witryn, zalecamy użycie Integration Continuous (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 na temat korzystania z laboratorium testowego z systemami CI, zobacz Korzystanie z laboratorium testowego dla Androida z ciągłym Systems Integration .
  • Przed zwolnieniem znaczące aktualizacje aplikacji: Zalecamy stosowanie laboratorium testowego, aby przetestować aplikację na urządzeniach fizycznych przed zwolnieniem aktualizacje aplikacji z istotnych zmian w interfejsie 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 na temat tych funkcji można znaleźć 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 ABI Zarządzanie .

Uwaga: W przypadku niektórych testów w swojej matrycy testowanego oznaczone są nieważne, ponieważ mogłoby to być Twoja aplikacja korzysta z natywnego kodu 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 testów urządzeń wirtualnych aktualnie prowadzony w jednej klatki na sekundę, co czyni je 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 v3.0 Aparat HAL, patrz przegląd v3 Camera HAL .
Wirtualna sieć prywatna (VPN) Obecnie korzystanie z VPN nie jest obsługiwane na urządzeniach wirtualnych.