Analizuj wyniki laboratorium testowego Firebase

Istnieje wiele sposobów używania Firebase Test Lab do przeprowadzania testów aplikacji na Androida, w tym interfejs wiersza poleceń , Android Studio , interfejs Test Lab w konsoli Firebase oraz Testing API . Niezależnie od tego, jak zdecydujesz się rozpocząć testy, wyniki są przechowywane w określonym przez Ciebie projekcie Firebase. Możesz przeglądać wyniki za pomocą interfejsu API ToolResults oprócz któregokolwiek 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 opcję Test Lab w lewym panelu nawigacyjnym projektu w konsoli Firebase. Na tej stronie są wyświetlane wszystkie przebiegi testów z aplikacji, które zostały przetestowane w projekcie przy użyciu narzędzia Test Lab.

Aby przejrzeć wyniki testu, musisz najpierw zrozumieć trzy pojęcia:

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

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

Urządzenie
Fizyczne lub wirtualne urządzenie (tylko Android), na którym uruchamiasz test, takie jak telefon, tablet lub urządzenie do noszenia. Urządzenia w macierzy testów są identyfikowane na podstawie modelu urządzenia, wersji systemu operacyjnego, orientacji ekranu i ustawień regionalnych (nazywanych również ustawieniami geograficznymi i językowymi).
Testuj, testuj wykonanie
Test (lub zestaw przypadków testowych) do uruchomienia na urządzeniu. Możesz uruchomić jeden test na każde urządzenie lub opcjonalnie podzielić test na fragmenty i uruchomić jego przypadki testowe na różnych urządzeniach.
Macierz testowa
Zawiera stany i wyniki testów dla wykonań testów. Jeśli jakiekolwiek wykonanie testu w macierzy zakończy się niepowodzeniem, cała macierz zakończy się niepowodzeniem.

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

Zinterpretuj wyniki historii testów

Gdy przejdziesz do wyników testów, wybierając opcję Laboratorium , zobaczysz wyniki dotychczas przeprowadzonych testów.

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

Zinterpretuj wyniki macierzy testów

Podczas rozpoczynania testu za pośrednictwem interfejsu użytkownika laboratorium testowego następuje przekierowanie do strony, na której można wyświetlić macierz testów i kliknąć określone 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 matrycy testów możesz przeprowadzić test na kilkunastu różnych urządzeniach. Każde wykonanie testu może mieć inny wynik. Możliwe wyniki dowolnego wykonania testu w macierzy testów obejmują:

  • PrzeszedłTest zaliczony : Nie napotkano żadnych awarii.
  • PrzegranyTest nieudany : Wystąpił co najmniej jeden błąd.
  • NieprzekonywającyTest zaliczony : Wyniki testów 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 z wybranych poziomów interfejsu API systemu Android.

Aby przejrzeć zagregowane wyniki testów dla wszystkich macierzy testów 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, oraz gdzie możesz kliknąć nazwę aplikacji (pokazaną w czerwonym polu poniżej), aby wyświetlić lista macierzy testów dla innych aplikacji powiązanych z Twoim projektem Firebase.

Przykładowa strona z listą macierzy testów Lista macierzy testów

Macierz testów może zakończyć się pomyślnie, niepowodzeniem lub być niejednoznaczna. Macierz testów jest pokazywana jako zakończona niepowodzeniem lub niejednoznaczna, jeśli jakiekolwiek wykonanie testu w tej macierzy kończy się niepowodzeniem lub jest niejednoznaczne.

Zinterpretuj wyniki testu Robo

Jeśli przeprowadziłeś testy z Robo, Twoje wyniki obejmują filmy i zrzuty ekranu przedstawiające Robo indeksującego Twój interfejs użytkownika, oprócz zwykłych wskaźników testowych. Te filmy i zrzuty ekranu zawierają wizualne wskazania działań, które Robo wykonał 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 wykryć.

Przykładowy film z wynikami testu Robo

Wyniki testów robota

Interpretuj wyniki pojedynczego wykonania testu

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

Przykładowa strona wyników wykonania testuWyniki wykonania testu

Na tej stronie możesz zobaczyć czas wymagany do wykonania każdego testu. Możesz także zobaczyć wyniki dla konkretnych przypadków testowych, które odpowiadają metodom w twoim testowym pakiecie APK (do 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 przedstawia ścieżki interfejsu użytkownika odwiedzone przez test Robo.

Wyniki testów oprzyrządowania podzielonego na partycje

Aby pomóc w interpretacji wyników testów oprzyrządowanych, Test Lab rozdziela każdy test na osobną stronę szczegółowego raportu, wraz ze śladami stosu, dziennikami i filmami. Ta funkcja działa niezależnie od tego, czy używasz programu Android Orchestrator.

Przykładowa strona z wynikami przypadków testowych Wyniki testów

Interpretuj wyniki dostępności

Testy Robo wykorzystują narzędzie Android Accessibility Scanner do wykrywania problemów z ułatwieniami dostępu w Twojej aplikacji (pamiętaj, że możesz również uruchomić skanowanie lokalnie na swoim urządzeniu). Instrukcje dotyczące przeglądania i interpretowania wyników testu Robo dotyczące ułatwień dostępu można znaleźć na stronie Wprowadzenie do narzędzia Accessibility Scanner .

Ogólne informacje o tym, jak poprawić dostępność aplikacji, znajdziesz w dokumentacji ułatwień dostępu programisty 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ść sieciowa
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ęte Vsync: liczba pominiętych zdarzeń Vsync 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, których wyrenderowanie trwało 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, gdy wątek interfejsu użytkownika trwał dłużej niż 8 ms, podzielona przez liczbę klatek, których renderowanie trwało dłużej niż 16 ms.
  • Powolne polecenia rysowania: liczba przypadków, w których wysłanie poleceń rysowania do GPU trwało dłużej niż 12 ms, podzielona przez liczbę klatek, których renderowanie trwało dłużej niż 16 ms.
  • Powolne przesyłanie map bitowych: liczba przypadków, gdy przesył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 testu. Czas renderowania dłuższy niż 32 milisekundy powoduje zauważalne spowolnienie interfejsu użytkownika. Czasy renderowania 700+ wskazują na zamrożone klatki. Dane renderowania są zbierane z dumpsys graphicsstats .

Szczegółowe wyniki testów

Szczegółowe wyniki testów są dostępne przez 90 dni po przeprowadzeniu testu i są przechowywane w zasobniku Google Cloud Storage (ale są też widoczne w konsoli Firebase). Możesz wyświetlić szczegółowe wyniki testów w zasobniku Cloud Storage, klikając Wyniki testów na stronie wyników wykonywania testów. Gdy szczegółowe wyniki testów nie są już dostępne, nadal możesz zobaczyć, które testy zakończyły się pomyślnie, a które nie.

Aby przechowywać szczegółowe wyniki testów przez ponad 90 dni, musisz wysłać te wyniki do własnego zasobnika Cloud Storage za pomocą opcji wiersza poleceń --results-bucket gcloud . Następnie możesz ustawić Wiek , aby określić, jak długo wyniki mają być przechowywane w zasobniku Cloud Storage. Zobacz Warunki cyklu życia , aby uzyskać informacje o zmianie ustawienia Wiek .