Rozpocznij testowanie za pomocą urządzeń wirtualnych z systemem Android

W tym dokumencie opisano AVD dla laboratorium testowego, w tym korzyści i znane ograniczenia. Zapewniamy również zalecenia dotyczące testowania aplikacji na każdym etapie jej rozwoju. Testery AVD w laboratorium testowym są podobne do AVD dla Android Studio, ale są zoptymalizowane pod kątem wydajności podczas testowania w chmurze, więc istnieje między nimi kilka różnic.

Urządzenia AVD firmy Test Lab z przyrostkiem .arm lub (Arm) to zaawansowane emulatory, które zapewniają następujące korzyści:

  • Szybszy czas wykonania testu

  • Rozmiary i gęstość ekranu dostosowane do AVD Android Studio w celu zapewnienia spójności

  • Obsługiwana przez GPU akcelerowana grafika

Poniższa tabela opisuje zalety korzystania z urządzeń wirtualnych:

Korzyść Opis Przypadków użycia)
Duża dostępność Testując na urządzeniach wirtualnych, możesz uruchamiać testy i szybciej uzyskiwać ich wyniki. Ponieważ urządzenia wirtualne są tworzone na żądanie, testy rozpoczynają się niemal natychmiast, zapewniając szybką weryfikację aplikacji. Testowanie małych aktualizacji aplikacji lub testy regresyjne.
Dłuższy czas trwania testu Urządzenia wirtualne obsługują czas testu do 60 minut. Testy na urządzeniach fizycznych są ograniczone do czasu trwania testu na każdym urządzeniu wynoszącego 45 minut. Przeprowadzanie dłuższych testów
Niższe koszty Ceny urządzeń wirtualnych wynoszą 1 USD za godzinę za każde urządzenie wirtualne używane do testowania aplikacji. Codzienne testowanie przy użyciu systemów ciągłej integracji lub przed sprawdzeniem kodu. Aby dowiedzieć się więcej, zobacz Poziomy wykorzystania, limity i ceny Laboratorium testowego .

Przetestuj swoją aplikację na urządzeniach wirtualnych

Możesz testować swoją aplikację na urządzeniach wirtualnych w taki sam sposób, w jaki testujesz ją na urządzeniach fizycznych. Możesz wybrać urządzenia wirtualne do testów podczas konfigurowania macierzy testów. Aby dowiedzieć się więcej o uruchamianiu testów w laboratorium testowym, zobacz Rozpoczęcie testowania systemu Android w laboratorium testowym Firebase .

Zobacz obsługiwane modele i interfejsy API

Aby wyświetlić modele AVD i interfejsy API obsługiwane przez Laboratorium testowe, uruchom następującą komendę:

gcloud firebase test android models list --filter=virtual

Najlepsze praktyki testowania aplikacji

Urządzenia wirtualne zwiększają zakres opcji podczas testowania aplikacji w laboratorium testowym. Zalecamy stosowanie następujących sprawdzonych metod testowania aplikacji na każdym etapie jej tworzenia:

Użyj 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 weryfikacji. Jeśli masz testy oprzyrządowania, możesz także uruchomić te testy z Android Studio na urządzeniach fizycznych lub wirtualnych dostarczonych przez Laboratorium testowe.

Podczas pracy nad współdzielonymi projektami korzystaj z systemów CI przy każdej zmianie kodu

Jeśli pracujesz nad dużym projektem lub uczestniczysz w projektach udostępnianych za pomocą GitHuba lub podobnej witryny, zalecamy korzystanie z systemów ciągłej integracji (CI). Testuj swoje aplikacje na urządzeniach wirtualnych przy każdym uruchomieniu systemu CI lub przed każdym żądaniem ściągnięcia. Aby dowiedzieć się więcej na temat korzystania z Laboratorium testowego z systemami CI, zobacz temat Korzystanie z Laboratorium testowego dla systemu Android z systemami ciągłej integracji .

Zanim opublikujesz istotne aktualizacje aplikacji, przetestuj swoją aplikację na urządzeniach fizycznych w laboratorium testowym

Przed wydaniem aktualizacji aplikacji zawierających istotne zmiany w interfejsie użytkownika i funkcjonalności zalecamy skorzystanie z Laboratorium testowego w celu przetestowania aplikacji na urządzeniach fizycznych. Pomoże to zapewnić stabilność i wydajność Twojej aplikacji na wielu popularnych urządzeniach fizycznych. Testowanie na urządzeniach fizycznych zapewnia również pokrycie testami dowolnej funkcjonalności aplikacji, która opiera się na funkcjach urządzenia fizycznego, które nie są symulowane przez urządzenia wirtualne. Aby dowiedzieć się więcej o tych funkcjach, zobacz Znane ograniczenia .

Aktualizacje urządzeń wirtualnych

Okresowo zespół Androida dodaje nowe obrazy urządzeń wirtualnych, wycofuje stare i aktualizuje istniejące. Stosujemy te aktualizacje do obrazów naszych urządzeń wirtualnych, aby mieć pewność, że przeprowadzasz testy na aktualnych wersjach Androida, które odzwierciedlają doświadczenia Twoich użytkowników.

W rzadkich przypadkach te aktualizacje mogą spowodować nieoczekiwane niepowodzenie testów. W przypadku pojawienia się aktualizacji, która może spowodować uszkodzenie, Laboratorium Testowe umieści tę informację w uwagach do wydania . Jako najlepszą praktykę zalecamy używanie frameworków testowych – na przykład Espresso – które, jeśli to możliwe, są odporne na te zmiany. Jeśli nie jest to możliwe, zalecamy kierowanie na urządzenia wirtualne ARM, których aktualizacje można spodziewać się rzadziej.

Znane ograniczenia

Niektóre funkcje urządzeń fizycznych nie są obecnie symulowane przez urządzenia wirtualne lub są symulowane z pewnymi ograniczeniami. W poniższej tabeli podsumowano funkcje, które są obecnie niedostępne na urządzeniach wirtualnych lub są dostępne z pewnymi ograniczeniami:

Funkcja Detale
Interfejsy binarne aplikacji (ABI) Nie wszystkie urządzenia obsługują wszystkie interfejsy ABI. Jeśli tworzysz przy użyciu zestawu Android NDK, pamiętaj o wygenerowaniu kodu dla interfejsów ABI obsługiwanych przez docelowe urządzenia (zobacz Dostępne urządzenia w laboratorium testowym). Aby dowiedzieć się więcej o zarządzaniu ABI, zobacz sekcję Interfejsy ABI systemu Android .

Uwaga: jeśli test w macierzy testów jest oznaczony jako Nieprawidłowy, może się to zdarzyć, ponieważ Twoja aplikacja jest zależna od kodu natywnego nieobsługiwanego przez ABI urządzenia.

Wydajność grafiki Urządzenia wirtualne Nexus i Pixel korzystają z renderowania grafiki programowej. Aplikacje intensywnie korzystające z grafiki mogą charakteryzować się niższą wydajnością. Jeśli Twoja aplikacja intensywnie korzysta z grafiki, rozważ użycie SmallPhone.arm, MediumPhone.arm lub urządzeń fizycznych.
API graficzne OpenGL ES 3.x nie jest obsługiwany na urządzeniach poniżej poziomu API 29. Nowsze urządzenia nie są w 100% kompatybilne z API OpenGL/Vulkan, 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.
Funkcjonalność rozszerzonej rzeczywistości (AR). Testowanie funkcjonalności rzeczywistości rozszerzonej (AR) nie jest obsługiwane na urządzeniach wirtualnych.
Starsze poziomy API Urządzenia wirtualne Test Lab Arm nie obsługują poziomów API niższych niż 26.

Następne kroki