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.

Chociaż AVD Test Lab są podobne do AVD dla Android Studio , istnieje między nimi kilka różnic. Na przykład urządzenia AVD w laboratorium testowym mają emulowane połączenie danych, a nie połączenie Wi-Fi.

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

Używanie AVD z przyrostkiem .arm lub (Arm) zapewnia następujące zalety w porównaniu z innymi typami urządzeń fizycznych:

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 Testy na urządzeniach fizycznych są ograniczone do czasu trwania testu na każdym urządzeniu wynoszącego 45 minut. Urządzenia wirtualne obsługują czas testu do 60 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. Po prostu wybierz urządzenia wirtualne po wybraniu wymiarów testowych, aby skonfigurować macierz testową. 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 skorzystanie z najlepszych praktyk opisanych w tej sekcji, aby przetestować aplikację w całym cyklu 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 usługi, 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 które są dostępne z pewnymi ograniczeniami.

Funkcja Detale
Interfejsy binarne aplikacji (ABI) Nie wszystkie urządzenia obsługują wszystkie interfejsy ABI. Jeśli programujesz za pomocą zestawu Android NDK, pamiętaj o wygenerowaniu kodu dla interfejsów ABI obsługiwanych przez docelowe urządzenia. Aby uzyskać więcej informacji, zobacz sekcję Dostępne urządzenia w laboratorium testowym . Aby dowiedzieć się więcej o zarządzaniu ABI, zobacz sekcję Interfejsy ABI systemu Android . Aby dowiedzieć się, które interfejsy ABI są obsługiwane przez urządzenie, zobacz Sprawdź dostępne urządzenia testowe .

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 będą miały niższą wydajność. Jeśli Twoja aplikacja intensywnie wykorzystuje grafikę, użyj modeli SmallPhone.arm i MediumPhone.arm lub urządzeń fizycznych.
Nagrywanie ekranu Nagrywanie ekranu na urządzeniach Nexus i Pixel odbywa się z szybkością 1 klatki na sekundę.
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.

Następne kroki