Analizowanie wyników Laboratorium Firebase

Za pomocą Laboratorium Firebase możesz przeprowadzać testy aplikacji na Androida na różne sposoby, m.in. za pomocą interfejsu wiersza poleceń, Android Studio, interfejsu Laboratorium w konsoli Firebase i interfejsu Testing API. Niezależnie od tego, jak rozpoczniesz testy, ich wyniki zostaną zapisane w podanym przez Ciebie projekcie Firebase. Wyniki możesz przeglądać za pomocą interfejsu ToolResults API lub dowolnego z powyższych narzędzi. Z tego artykułu dowiesz się, jak przeglądać i analizować wyniki testu.

Najważniejsze pojęcia

Aby wyświetlić wyniki wszystkich poprzednich testów, kliknij Laboratorium w lewym panelu użytkownika projektu w konsoli Firebase. Na tej stronie wyświetlane są wszystkie uruchomienia testów w aplikacjach, które zostały przez Ciebie przetestowane w projekcie w Laboratorium.

Aby sprawdzić wyniki testu, musisz najpierw zrozumieć 3 pojęcia:

Gdy uruchomisz test lub zbiór przypadków testowych na wybranych urządzeniach i konfiguracjach, Laboratorium uruchomi test z Twojej aplikacji w grupie, a potem wyświetli wyniki w postaci macierzy testów.

Urządzenia × Uruchomienia testów = Macierz testów

Urządzenie,
Urządzenie fizyczne lub wirtualne (tylko z Androidem), na którym przeprowadzasz test, np. telefon, tablet lub urządzenie do noszenia. Urządzenia w tabeli testów są identyfikowane na podstawie modelu urządzenia, wersji systemu operacyjnego, orientacji ekranu i języka (czyli ustawień geograficznych i języka).
Testuj, wykonując test
Test (lub zestaw przypadków testowych) do przeprowadzenia na urządzeniu. Możesz przeprowadzić jeden test na urządzenie lub opcjonalnie podzielić test i uruchomić przypadki testowe na różnych urządzeniach.
Zestaw testów
Zawiera stany i wyniki testów wykonanych podczas testów. Jeśli którekolwiek wykonanie testu w ramach macierzy się nie powiedzie, cała tablica zakończy się niepowodzeniem.

W sekcjach poniżej wyjaśniamy, jak poruszać się po wynikach testu.

Interpretowanie wyników historii testów

Gdy przejdziesz do wyników testów, klikając Laboratorium, zobaczysz wyniki przeprowadzonych do tej pory testów.

Historia testów jest grupowana według aplikacji. Dla każdej aplikacji wyświetlanych jest tylko pięć ostatnich macierzy testów. Jeśli dostępnych jest więcej, możesz kliknąć link Wszystkie macierzy u dołu listy testów aplikacji, aby wyświetlić pełną listę.

Zinterpretuj wyniki macierzy testów

Gdy rozpoczniesz test w interfejsie Laboratorium, przekierujemy Cię na stronę, na której możesz zobaczyć swój zestaw testów i kliknąć konkretne wykonanie testu, by wyświetlić jego wyniki. Android Studio i polecenie gcloud również zawierają adres URL strony wyników macierzy testów.

Typowa macierz testów pozwala wykonać test na kilkunastu urządzeniach. Każde wykonanie testu może przynieść inny wynik. Możliwe wyniki wykonania testu w ramach macierzy testów:

  • Powodzenie: Test zaliczony: nie wystąpiły błędy.
  • Niepowodzenie Test zakończony niepowodzeniem: wystąpił co najmniej 1 błąd.
  • Wynik niejednoznaczny (Test zaliczony): wyniki testu były niejednoznaczne, prawdopodobnie z powodu błędu w Laboratorium.
  • Pominięto Test zaliczony: wybrane wartości wymiaru w przypadku niektórych wykonań testu w tablicy były niezgodne. Dzieje się tak, gdy wybrane urządzenia są niezgodne z co najmniej jednym z wybranych poziomów interfejsu Android API.

Aby przejrzeć zbiorcze wyniki testów wszystkich macierzy testów dla danej aplikacji w projekcie Firebase, kliknij jej nazwę, tak jak w tym przykładzie:

Przykładowa strona z wynikami macierzy testów zawierającej tylko 4 wykonania testu Wyniki macierzy testów

Wyświetli się lista macierzy testów dla Twojej aplikacji, gdzie możesz kliknąć nazwę dowolnej macierzy testów, by wyświetlić wyniki, lub nazwę aplikacji (widoczną w czerwonym polu poniżej), by wyświetlić listę macierzy testów innych aplikacji powiązanych z Twoim projektem Firebase.

Strona z listą przykładowych macierzy testów Lista macierzy testów

Zestaw testów może zakończyć się pozytywnie, niezawiść lub być niejednoznaczny. Macierz testów jest oznaczona jako nieudana lub niejednoznaczna, jeśli jakiekolwiek uruchomienia testu w tej macierzy nie powiodą się lub są niejednoznaczne.

Zinterpretuj wyniki testu Robo

Jeśli testy zostały przeprowadzone przy użyciu Robo, oprócz standardowych danych testowych pojawią się filmy i zrzuty ekranu przedstawiające indeksowanie Twojego interfejsu przez Robo. Te filmy i zrzuty ekranu zawierają wizualne informacje o działaniach, które Robo wykonał podczas indeksowania, podobnie jak w przypadku funkcji „Pokaż dotknięcia” na Androidzie. Dzięki wskazówkom możesz śledzić postępy Robo i odtwarzać znalezione błędy.

Przykładowy film z wynikami testu Robo

Wyniki testu Robo

Zinterpretuj wyniki pojedynczego wykonania testu

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

Przykładowa strona z wynikami wykonania testu Wyniki wykonania testu

Na tej stronie znajdziesz informację o czasie wymaganym do wykonania każdego testu. Możesz też wyświetlić wyniki dotyczące konkretnych przypadków testowych, które odpowiadają metodom w testowym pakiecie APK (w przypadku testów z narzędziami), oraz szczegółowe wyniki testów, w tym dzienniki testowe, zrzuty ekranu i filmy. W przypadku testu Robo szczegółowe wyniki testu obejmują również mapę działań, która graficznie pokazuje ścieżki interfejsu użytkownika odwiedzone podczas testu Robo.

Wyniki testu z instrumentacją partycjonowaną

Aby ułatwić interpretację wyników z instrumentowanych testów, Laboratorium rozdziela każdy test na osobną stronę ze szczegółowym raportem zawierającą zrzuty stosu, dzienniki i filmy. Ta funkcja działa niezależnie od tego, czy używasz narzędzia Androidinteresor.

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

Interpretowanie wyników ułatwień dostępu

Testy Robo korzystają z Android Accessibility Scanner, aby wykrywać problemy z ułatwieniami dostępu w aplikacji (pamiętaj, że możesz też uruchomić skanowanie lokalnie na urządzeniu). Instrukcje dotyczące sprawdzania i interpretacji wyników testu ułatwień dostępu w teście Robo znajdziesz w artykule Pierwsze kroki z aplikacją Accessibility Scanner.

Ogólne informacje o poprawie ułatwień dostępu w aplikacji znajdziesz w dokumentacji ułatwień dostępu dla programistów aplikacji na Androida.

Dane skuteczności

Testy na urządzeniach fizycznych zwracają też dane o wydajności:

WskaźnikWymagana konfiguracja urządzenia
Czas uruchamiania aplikacjiInterfejs API w wersji 19 lub nowszej
Wykorzystanie procesoraInterfejs API w wersji 21 lub nowszej
Wykorzystanie pamięci
Aktywność sieci
Klatki na sekundęInterfejs API w wersji 21 lub nowszej i obejmuje SurfaceView
Wydajność grafikiInterfejs API w wersji 23 lub nowszej

Szczegóły dotyczące wydajności karty graficznej

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

  • Pominięte synchronizacje Vsync: liczba pominiętych zdarzeń Vsync podzielona przez liczbę klatek, których wyrenderowanie trwało ponad 16 ms.
  • Duże opóźnienie sygnału wejściowego: liczba zdarzeń związanych z sygnałami wejścia, których przesłanie trwało dłużej niż 24 ms, podzielona przez liczbę klatek, których wyrenderowanie trwało ponad 16 ms.
  • Powolny wątek UI: liczba przypadków, gdy wykonanie wątku UI trwało dłużej niż 8 ms, podzielona przez liczbę klatek, których wyrenderowanie trwało ponad 16 ms.
  • Powolne przesyłanie poleceń rysowania: pokazuje, ile razy przesłanie polecenia rysowania do GPU trwało dłużej niż 12 ms, podzielone przez liczbę klatek, których wyrenderowanie trwało ponad 16 ms.
  • Powolne przesyłanie bitmap: liczba przypadków, gdy przesłanie bitmapy do GPU trwało dłużej niż 3,2 ms, podzieloną przez liczbę klatek, których wyrenderowanie trwało dłużej niż 16 ms.
  • Czas renderowania: rozkład czasu renderowania każdej klatki w uruchomieniu testowym. Czas renderowania przekraczający 32 milisekundy powoduje zauważalne spowolnienie działania interfejsu użytkownika. Czas renderowania powyżej 700 oznacza zablokowane klatki. Dane renderowania są zbierane z metody dumpsys graphicsstats.

Szczegółowe wyniki testu

Szczegółowe wyniki testu są dostępne przez 90 dni po jego przeprowadzeniu i zapisane w zasobniku Google Cloud Storage (ale są też widoczne w konsoli Firebase). Szczegółowe wyniki testów możesz wyświetlić w zasobniku Cloud Storage, klikając Testuj wyniki na stronie z wynikami wykonania testu. Gdy szczegółowe wyniki testów nie są już dostępne, nadal możesz sprawdzać, które testy zostały zaliczone, a które niezaliczone.

Aby przechowywać szczegółowe wyniki testów przez ponad 90 dni, musisz wysłać je do należącego do Ciebie zasobnika Cloud Storage za pomocą opcji wiersza poleceń gcloud --results-bucket. Następnie możesz ustawić ustawienie Wiek, aby określić, jak długo wyniki mają być przechowywane w zasobniku Cloud Storage. Informacje o tym, jak zmienić ustawienie Wiek, znajdziesz w sekcji Warunki cyklu życia.