Analizowanie wyników Laboratorium Firebase

Testy aplikacji na Androida możesz uruchamiać w Firebase Test Lab na kilka sposobów, m.in. za pomocą interfejsu wiersza poleceń, Androida Studio, interfejsu Test Lab w konsoli Firebase oraz interfejsu Testing API. Niezależnie od tego, jak rozpoczniesz testy, wyniki będą przechowywane w określonym przez Ciebie projekcie w Firebase. Oprócz powyższych narzędzi możesz też przeglądać wyniki za pomocą interfejsu ToolResults API. Na tej stronie opisujemy, jak sprawdzać i analizować wyniki testów.

Kluczowe pojęcia

Aby wyświetlić wyniki wszystkich poprzednich testów, w panelu użytkownika po lewej stronie projektu w konsoli Firebase kliknij Test Lab. Na tej stronie wyświetlane są wszystkie przebiegi testów z aplikacji, które zostały przetestowane w Twoim projekcie za pomocą Test Lab.

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

Gdy uruchomisz test lub zestaw przypadków testowych na wybranych urządzeniach i konfiguracjach, Test Lab przeprowadzi test na Twojej aplikacji w partii, a następnie wyświetli wyniki w postaci macierzy testowej.

Urządzenia × wykonania testów = macierz testów

Urządzenie
Urządzenie fizyczne lub wirtualne (tylko Android), na którym przeprowadzasz test, np. telefon, tablet lub urządzenie do noszenia. Urządzenia w zestawie testów są identyfikowane na podstawie modelu urządzenia, wersji systemu operacyjnego, orientacji ekranu i ustawień regionalnych (znanych też jako ustawienia geograficzne i językowe).
Test, wykonanie testu
Test (lub zestaw przypadków testowych) do uruchomienia na urządzeniu. Możesz przeprowadzić 1 test na urządzenie lub opcjonalnie podzielić test na części i uruchomić jego przypadki testowe na różnych urządzeniach.
Zestaw testów
Zawiera stany i wyniki wykonania testów. Jeśli wykonanie któregokolwiek testu w macierzy zakończy się niepowodzeniem, cała macierz zakończy się niepowodzeniem.

W sekcjach poniżej znajdziesz informacje o tym, jak poruszać się po wynikach testu.

Interpretowanie wyników historii testów

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

Historia testów jest pogrupowana według aplikacji. W przypadku każdej aplikacji wyświetlanych jest tylko 5 ostatnich macierzy testowych. Jeśli jest ich więcej, możesz kliknąć link Wszystkie macierze u dołu listy testów aplikacji, aby wyświetlić pełną listę dla danej aplikacji.

Interpretowanie wyników zestawu testów

Gdy rozpoczniesz test w Test Labinterfejsie, przekierujemy Cię na stronę, na której zobaczysz zestaw testów. Możesz na niej kliknąć konkretne wykonanie testu, aby wyświetlić wyniki. Android Studiopolecenie gcloud również udostępniają adres URL strony wyników zestawu testów.

W typowym zestawie testów możesz przeprowadzić test na kilkunastu różnych urządzeniach. Każde wykonanie testu może mieć inny wynik. Możliwe wyniki każdego wykonania testu w zestawie testów to:

  • Zakończono z wynikiem pozytywnym: Test zaliczony nie napotkano żadnych błędów.
  • Nie udało się Test zakończony niepowodzeniem: wystąpiła co najmniej 1 awaria.
  • Niepewne Test zaliczony: wyniki testu były niepewne, prawdopodobnie z powodu błędu Test Lab.
  • Pominięto Test zaliczony: wybrane wartości wymiarów w przypadku niektórych wykonań testów w macierzy były niezgodne. Ten komunikat pojawia się, gdy wybrane urządzenia są niezgodne z co najmniej jednym wybranym poziomem interfejsu API Androida.

Aby sprawdzić zbiorcze wyniki testów wszystkich zestawów testów danej aplikacji w projekcie w Firebase, kliknij nazwę aplikacji, jak pokazano w przykładzie poniżej:

Przykładowa strona wyników zestawu testów z tylko 4 wykonaniami testu Wyniki zestawu testów

Spowoduje to przejście do listy zestawów testów aplikacji, na której możesz kliknąć nazwę dowolnego zestawu testów, aby wyświetlić jego wyniki, oraz kliknąć nazwę aplikacji (widoczną w czerwonym polu poniżej), aby wyświetlić listę zestawów testów innych aplikacji powiązanych z projektem w Firebase.

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

Zestaw testów może zakończyć się powodzeniem, niepowodzeniem lub wynikiem niejednoznacznym. Zestaw testów jest oznaczony jako nieudany lub niejednoznaczny, jeśli którekolwiek z wykonań testów w tym zestawie zakończy się niepowodzeniem lub będzie niejednoznaczne.

Interpretowanie wyników testu Robo

Jeśli testy zostały przeprowadzone za pomocą Robo, wyniki obejmują filmy i zrzuty ekranu przedstawiające działanie Robo w interfejsie, a także zwykłe dane testowe. Te filmy i zrzuty ekranu zawierają wizualne wskazówki dotyczące działań podjętych przez Robo podczas indeksowania, podobnie jak funkcja „Pokaż dotknięcia” na Androidzie. Wskazówki pomogą Ci śledzić postępy Robo i odtworzyć ewentualne błędy, które wykryje.

Film z przykładem wyników testu Robo

Wyniki testu Robo

Interpretowanie wyników pojedynczego wykonania testu

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

Przykładowa strona wyników wykonania testu Wyniki wykonania testu

Na tej stronie możesz sprawdzić czas potrzebny na wykonanie każdego testu. Możesz też wyświetlić wyniki konkretnych przypadków testowych, które odpowiadają metodom w pliku APK testu (w przypadku testów instrumentacji), oraz szczegółowe wyniki testów, w tym dzienniki testów, zrzuty ekranu i filmy. W przypadku testu Robo szczegółowe wyniki testu zawierają też mapę aktywności, która graficznie pokazuje ścieżki interfejsu, które zostały odwiedzone przez test Robo.

Wyniki testu z instrumentacją podzielone na partycje

Aby ułatwić Ci interpretację wyników testów z instrumentacją, Test Lab dzieli każdy test na osobną stronę szczegółowego raportu, zawierającą zrzuty stosu, logi i filmy. Ta funkcja działa niezależnie od tego, czy używasz Android Orchestratora.

Przykładowa strona wyników testu Wyniki przypadków testowych

Interpretowanie wyników dotyczących ułatwień dostępu

Testy Robo korzystają z Accessibility Scanner na Androida, aby wykrywać problemy z dostępnością w aplikacji (pamiętaj, że możesz też przeprowadzić skanowanie lokalnie na urządzeniu). Instrukcje dotyczące sprawdzania i interpretowania wyników testu Robo związanych z ułatwieniami dostępu znajdziesz w artykule Pierwsze kroki z aplikacją Accessibility Scanner.

Ogólne informacje o tym, jak zwiększyć dostępność aplikacji, znajdziesz w dokumentacji ułatwień dostępu przeznaczonej dla programistów aplikacji na Androida.

Wskaźniki dotyczące skuteczności

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

DaneWymagana konfiguracja urządzenia
Czas uruchamiania aplikacjiAPI 19+
Wykorzystanie procesoraAPI 21+
Wykorzystanie pamięci
Aktywność sieciowa
Klatki na sekundęAPI w wersji 21 lub nowszej, który zawiera SurfaceView.

Szczegółowe wyniki testu

Szczegółowe wyniki testu są dostępne przez 90 dni od jego przeprowadzenia i są przechowywane w Google Cloud Storage zasobniku (ale są też widoczne w konsoli Firebase). Szczegółowe wyniki testu możesz wyświetlić w Cloud Storage zasobniku, klikając Wyniki testu na stronie wyników wykonania testu. Gdy szczegółowe wyniki testów nie są już dostępne, nadal możesz sprawdzić, które testy zostały zaliczone, a które nie.

Jeśli chcesz zachować szczegółowe wyniki testów dłużej niż 90 dni, możesz wysłać je do Cloud Storagezasobnika, którego jesteś właścicielem, za pomocą opcji wiersza poleceń gcloud --results-bucket. Następnie możesz ustawić opcję Wiek, aby określić, jak długo wyniki będą przechowywane w zasobniku Cloud Storage. Więcej informacji o tym, jak zmienić ustawienie Wiek, znajdziesz w artykule Warunki cyklu życia.

Jeśli podczas przeprowadzania testu pojawi się błąd does not have storage.objects.create access to the Google Cloud Storage object. Permission 'storage.objects.create' denied on resource (or it may not exist).., podmiot wykonujący test może nie mieć odpowiednich uprawnień w projekcie. Domyślnie Firebase tworzy dla Ciebie zasobnik w Google Cloud Storage, ale wymaga, aby podmiot wykonujący test miał rolę „roles/editor”, która jest rolą o szerokich uprawnieniach. Jeśli nie możesz przyznać tej roli podmiotowi, możesz użyć opcji wiersza poleceń gcloud --results-bucket.