Analizuj wyniki laboratorium testowego Firebase

Istnieje wiele sposobów używania Firebase Test Lab do uruchamiania testów aplikacji na Androida, w tym interfejs wiersza poleceń , Android Studio , interfejs użytkownika Test Lab w konsoli Firebase oraz Testing API . Niezależnie od tego, jak zdecydujesz się rozpocząć testy, wyniki będą przechowywane w określonym przez Ciebie projekcie Firebase. Możesz przeglądać wyniki za pomocą ToolResults API oprócz dowolnego z powyższych narzędzi. Na tej stronie opisano, jak przeglądać i analizować wyniki tych testów.

Kluczowe idee

Aby zobaczyć wyniki wszystkich poprzednich testów, wybierz Test Lab w lewym panelu nawigacyjnym projektu w konsoli Firebase. Na tej stronie są wyświetlane wszystkie uruchomienia testów z aplikacji, które przetestowałeś w swoim projekcie za pomocą Test Lab.

Aby przejrzeć wyniki testów, musisz najpierw zrozumieć trzy pojęcia:

Gdy przeprowadzasz test lub zestaw przypadków testowych na wybranych urządzeniach i konfiguracjach, Laboratorium testowe przeprowadza test dla Twojej aplikacji w partii, a następnie wyświetla wyniki jako macierz testów .

Urządzenia × Wykonywanie testów = Matryca testowa

Urządzenie
Urządzenie fizyczne lub wirtualne (tylko Android), na którym przeprowadzasz test, takie jak telefon, tablet lub urządzenie do noszenia. Urządzenia w macierzy testowej są identyfikowane według modelu urządzenia, wersji systemu operacyjnego, orientacji ekranu i ustawień regionalnych (znanych również jako ustawienia geograficzne i językowe).
Test, wykonanie testu
Test (lub zestaw przypadków testowych) do uruchomienia na urządzeniu. Możesz uruchomić jeden test na urządzenie lub opcjonalnie podzielić test i uruchomić jego przypadki testowe na różnych urządzeniach.
Matryca testowa
Zawiera statusy i wyniki testów dla wykonań testów. Jeśli wykonanie dowolnego testu w macierzy nie powiedzie się, nie powiedzie się cała macierz.

Poniższe sekcje wyjaśniają, jak poruszać się po wynikach testów.

Interpretuj wyniki historii testów

Gdy przejdziesz do wyników testów, wybierając Test Lab , zobaczysz wyniki dotychczas przeprowadzonych testów.

Historia testów jest pogrupowana według aplikacji. Dla każdej aplikacji wyświetlanych jest tylko pięć najnowszych macierzy testowych; jeśli dostępnych jest więcej, możesz kliknąć link Wszystkie macierze u dołu listy testów aplikacji, aby wyświetlić pełną listę dla tej aplikacji.

Zinterpretuj wyniki macierzy testowej

Rozpoczynając test za pomocą interfejsu użytkownika Test Lab , następuje przekierowanie do strony, na której można zobaczyć macierz testów i kliknąć konkretne wykonanie testu, aby wyświetlić wyniki testu. Android Studio i polecenie gcloud udostępniają również adres URL strony z wynikami macierzy testów.

W typowej macierzy testowej można przeprowadzić test na kilkunastu różnych urządzeniach. Każde wykonanie testu może mieć inny wynik. Możliwe wyniki wykonania dowolnego testu w macierzy testów obejmują:

  • PrzeszedłTest zaliczony : Nie napotkano błędów.
  • PrzegranyTest nieudany : Napotkano co najmniej jedną awarię.
  • NieprzekonywającyTest zaliczony : Wyniki testu były niejednoznaczne, prawdopodobnie z powodu błędu laboratorium testowego.
  • PominiętoTest zaliczony : Wybrane wartości wymiarów dla niektórych wykonań testów w macierzy były niezgodne. Dzieje się tak, gdy wybrane urządzenia są niezgodne z co najmniej jednym wybranym poziomem interfejsu API systemu Android.

Aby przejrzeć zagregowane wyniki testów dla wszystkich macierzy testowych dla danej aplikacji w projekcie Firebase, kliknij nazwę aplikacji, jak pokazano w poniższym przykładzie:

Przykładowa strona wyników macierzy testów z tylko czterema wykonaniami testów Wyniki macierzy testowej

Spowoduje to przejście do listy macierzy testów dla Twojej aplikacji, gdzie możesz kliknąć nazwę dowolnej macierzy testów, aby zobaczyć wyniki macierzy testów, i gdzie możesz kliknąć nazwę aplikacji (przedstawioną w czerwonym polu poniżej), aby wyświetlić listę macierzy testów dla innych aplikacji powiązanych z Twoim projektem Firebase.

Przykładowa strona z listą macierzy testowych Lista macierzy testowych

Macierz testowa może zaliczyć, zawieść lub być niejednoznaczna. Macierz testów jest pokazywana jako nieudana lub niejednoznaczna, jeśli jakiekolwiek wykonania testów w tej macierzy nie powiodły się lub są niejednoznaczne.

Interpretuj wyniki testu Robo

Jeśli przeprowadziłeś testy za pomocą Robo, oprócz zwykłych danych testowych wyniki obejmują filmy i zrzuty ekranu przedstawiające Robo indeksującego Twój interfejs użytkownika. Te filmy i zrzuty ekranu zawierają wizualne wskazania działań podejmowanych przez Robo podczas indeksowania, podobnie jak funkcja „Pokaż dotknięcia” w Androidzie. Możesz użyć wskazówek, aby śledzić postępy Robo i odtwarzać wszelkie błędy, które może odkryć.

Przykładowy film z wynikami testu Robo

Wyniki testu robota

Interpretuj wyniki z pojedynczego wykonania testu

Na stronie wyników macierzy testów kliknij jedno z wykonań testów, aby zobaczyć wynik wykonania tego konkretnego testu.

Przykładowa strona wyników wykonania testuWyniki wykonania testu

Na tej stronie możesz zobaczyć czas potrzebny na wykonanie każdego testu. Możesz również wyświetlić wyniki dla określonych przypadków testowych, które odpowiadają metodom w testowym pakiecie APK (w przypadku testów oprzyrządowania) oraz szczegółowe wyniki testów, w tym dzienniki testów, zrzuty ekranu i filmy. W przypadku testu Robo szczegółowe wyniki testu obejmują również mapę aktywności, która graficznie pokazuje ścieżki interfejsu użytkownika, które zostały odwiedzone przez test Robo.

Podzielone wyniki testów oprzyrządowania

Aby ułatwić interpretację wyników testów oprzyrządowanych, laboratorium testowe dzieli każdy test na własną szczegółową stronę raportu, zawierającą ślady stosu, dzienniki i filmy. Ta funkcja działa niezależnie od tego, czy używasz Android Orchestrator.

Przykładowa strona z wynikami przypadku testowego Wyniki testów

Interpretuj wyniki ułatwień dostępu

Testy Robo używają Android Accessibility Scanner do wykrywania problemów z ułatwieniami dostępu w Twojej aplikacji (pamiętaj, że możesz też uruchomić skanowanie lokalnie na swoim urządzeniu). Aby uzyskać instrukcje, jak przeglądać i interpretować wyniki ułatwień dostępu w teście Robo, zobacz Pierwsze kroki z Accessibility Scanner .

Aby uzyskać ogólne informacje o tym, jak poprawić dostępność aplikacji, zapoznaj się z dokumentacją dotyczącą ułatwień dostępu dla programistów aplikacji na Androida .

Wskaźniki wydajności

Testy przeprowadzane na urządzeniach fizycznych zwracają również metryki wydajności:

Metryczny Wymagana konfiguracja urządzenia
Czas uruchamiania aplikacji API 19+
użycie procesora API 21+
Zużycie pamięci
Aktywność sieci
Klatki na sekundę API 21+ i zawiera SurfaceView
Wydajność grafiki API 23+

Szczegóły wydajności grafiki

Raport wydajności grafiki zawiera statystyki dotyczące kilku kluczowych wskaźników graficznych:

  • Pominięta synchronizacja pionowa: liczba pominiętych zdarzeń synchronizacji pionowej podzielona przez liczbę klatek, których renderowanie trwało dłużej niż 16 ms.
  • Duże opóźnienie wejściowe: liczba zdarzeń wejściowych trwających dłużej niż 24 ms podzielona przez liczbę klatek, których renderowanie trwało dłużej niż 16 ms.
  • Powolny wątek interfejsu użytkownika: liczba przypadków, w których ukończenie wątku interfejsu użytkownika trwało dłużej niż 8 ms, podzielona przez liczbę klatek, których renderowanie trwało dłużej niż 16 ms.
  • Polecenia powolnego rysowania: ile razy wysyłanie poleceń rysowania do GPU zajęło ponad 12 ms, podzielone przez liczbę klatek, których renderowanie trwało dłużej niż 16 ms.
  • Powolne przesyłanie bitmapy: liczba przypadków, w których przesłanie mapy bitowej do GPU trwało dłużej niż 3,2 ms, podzielona przez liczbę klatek, których renderowanie trwało dłużej niż 16 ms.
  • Czas renderowania: rozkład czasów renderowania dla każdej klatki przebiegu testowego. Czasy renderowania większe niż 32 milisekundy powodują odczuwalne spowolnienie interfejsu użytkownika. Czasy renderowania 700+ wskazują zamrożone klatki. Dane renderowania są zbierane ze dumpsys graphicsstats .

Szczegółowe wyniki testów

Szczegółowe wyniki testu są dostępne przez 90 dni po jego uruchomieniu i są przechowywane w zasobniku Google Cloud Storage (ale są również widoczne w konsoli Firebase). Możesz wyświetlić szczegółowe wyniki testu w zasobniku Cloud Storage, klikając Wyświetl pliki źródłowe na stronie wyników wykonania testu. Gdy szczegółowe wyniki testów nie są już dostępne, nadal możesz zobaczyć, które testy zakończyły się powodzeniem lub niepowodzeniem.

Aby przechowywać szczegółowe wyniki testów przez dłużej niż 90 dni, musisz je wysłać do swojego zasobnika Cloud Storage, korzystając z opcji wiersza poleceń --results-bucket gcloud . Następnie możesz ustawić ustawienie Wiek , aby określić, jak długo wyniki są przechowywane w zasobniku Cloud Storage. Zobacz Warunki cyklu życia, aby uzyskać informacje o tym, jak zmienić ustawienie Wiek .