Istnieje wiele sposobów korzystania z usługi Firebase Test Lab do przeprowadzania testów aplikacji na Androida, m.in. interfejs wiersza poleceń, Android Studio, interfejs Test Lab w konsoli Firebase i Testing API. Niezależnie od tego, jak rozpoczniesz testy, wyniki będą przechowywane w określonym przez Ciebie projekcie w Firebase. Oprócz wymienionych wyżej narzędzi możesz też użyć interfejsu ToolResults API. Na tej stronie opisujemy, jak sprawdzać i analizować wyniki tych testów.
Kluczowe pojęcia
W konsoli Firebase możesz zobaczyć wyniki wszystkich poprzednich testów, klikając DevOps i zaangażowanie > Test Lab. Na tej stronie wyświetlane są wszystkie szczegółowe wyniki testów aplikacji, które zostały przetestowane w projekcie za pomocą Test Lab.
Aby sprawdzić wyniki testu, musisz najpierw poznać 3 pojęcia:
Gdy uruchomisz test lub zestaw elementów testowania na wybranych urządzeniach i konfiguracjach, Test Lab przeprowadzi test na Twojej aplikacji w ramach zbioru, a następnie wyświetli wyniki w postaci zestawu testów.
Urządzenia × wykonania testu = zestaw 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 według modelu, wersji systemu operacyjnego, orientacji ekranu i ustawień regionalnych (czyli ustawień geograficznych i językowych).
- test, wykonanie testu
- Test (lub zestaw elementów testowania) do uruchomienia na urządzeniu. Możesz przeprowadzić jeden test na urządzenie lub podzielić go na fragmenty i uruchomić elementy testowania na różnych urządzeniach.
- Zestaw testów
- Zawiera stany i wyniki wykonanych testów. Jeśli którekolwiek wykonanie testu w macierzy się nie powiedzie, 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, wybierając Test Lab, zobaczysz wyniki testów, które zostały do tej pory przeprowadzone.
Historia testów jest pogrupowana według aplikacji. W przypadku każdej aplikacji wyświetlanych jest tylko 5 ostatnich zestawów testów. Jeśli jest ich więcej, możesz kliknąć link Wszystkie zestawy u dołu listy testów aplikacji, aby wyświetlić pełną listę dla danej aplikacji.
Interpretowanie wyników zestawu testów
Po rozpoczęciu testu w interfejsie Test Lab nastąpi przekierowanie na stronę, na której możesz zobaczyć zestaw testów i kliknąć konkretne wykonanie testu, aby wyświetlić wyniki. Android Studio i polecenie gcloud również podają 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 wykonania testu w zestawie testów:
- Wynik pozytywny
: nie wykryto żadnych błędów. - Niepowodzenie
: wystąpił co najmniej 1 błąd. - Niejednoznaczne
: wyniki testu były niejednoznaczne, prawdopodobnie z powodu błędu Test Lab. - Pominięto
: wybrane wartości wymiarów w przypadku niektórych wykonań testu w macierzy były niezgodne. Dzieje się tak, gdy wybrane urządzenia są niezgodne z co najmniej 1 wybranym poziomem interfejsu API Androida.
Aby sprawdzić zbiorcze wyniki testów dla wszystkich zestawów testów danej aplikacji w projekcie Firebase, kliknij nazwę aplikacji, jak pokazano w tym przykładzie:
Przykładowa strona wyników zestawu testów z tylko 4 wykonaniami testu

Spowoduje to przejście do listy zestawów testów aplikacji, gdzie możesz kliknąć nazwę dowolnego zestawu testów, aby zobaczyć jego wyniki. Możesz też kliknąć nazwę aplikacji (pokazaną 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

Zestaw testów może zakończyć się powodzeniem, niepowodzeniem lub wynikiem niejednoznacznym. Zestaw testów jest oznaczany jako nieudany lub niejednoznaczny, jeśli którekolwiek wykonanie testu w tym zestawie nie powiedzie się lub będzie niejednoznaczne.
Interpretowanie wyników testu Robo
Jeśli testy zostały przeprowadzone za pomocą Robo, wyniki oprócz zwykłych danych testowych będą zawierać filmy i zrzuty ekranu przedstawiające Robo skanującego interfejs. Te filmy i zrzuty ekranu zawierają wizualne wskazówki dotyczące działań, które Robo wykonał podczas indeksowania, podobnie jak funkcja „Pokaż dotknięcia” na Androidzie. Możesz użyć tych wskazówek, aby śledzić postępy testu Robo i odtworzyć błędy, które może on wykryć.
Przykładowy film z wynikami testu Robo

Interpretowanie wyników pojedynczego wykonania testu
Na stronie wyników zestawu testów kliknij jedno z wykonań testu, aby zobaczyć jego wynik.
Przykładowa strona wyników wykonania testu

Na tej stronie możesz sprawdzić czas potrzebny na wykonanie każdego testu. Możesz też zobaczyć wyniki konkretnych elementów testowania, które odpowiadają metodom w testowym pliku APK (w przypadku testów z instrumentacją), oraz szczegółowe wyniki testów, w tym dzienniki testów, zrzuty ekranu i filmy. W przypadku testu Robo szczegółowe wyniki obejmują też mapę aktywności, która graficznie przedstawia ścieżki interfejsu odwiedzone przez test Robo.
Wyniki testu z instrumentacją z podziałem na partycje
Aby ułatwić Ci interpretację wyników testów z instrumentacją, Test Lab rozdziela każdy test na osobną stronę raportu szczegółowego, na której znajdują się zrzuty stosu, logi i filmy. Ta funkcja działa niezależnie od tego, czy używasz Android Orchestratora.
Przykładowa strona wyników przypadku testowego

Interpretowanie wyników dotyczących ułatwień dostępu
Testy Robo używają Accessibility Scannera na Androida do wykrywania problemów z ułatwieniami dostępu w aplikacji (pamiętaj, że możesz też przeprowadzić skanowanie lokalnie na urządzeniu). Instrukcje dotyczące sprawdzania i interpretowania wyników testu Robo pod kątem ułatwień dostępu znajdziesz w artykule Pierwsze kroki z aplikacją Accessibility Scanner.
Ogólne informacje o tym, jak poprawić dostępność aplikacji, znajdziesz w dokumentacji ułatwień dostępu dla deweloperów aplikacji na Androida.
Wskaźniki dotyczące skuteczności
Testy przeprowadzane na urządzeniach fizycznych zwracają też wskaźniki skuteczności:
| Wskaźnik | Wymagana konfiguracja urządzenia |
|---|---|
| Czas uruchamiania aplikacji | API 19+ |
| Wykorzystanie procesora | API 21+ |
| Wykorzystanie pamięci | |
| aktywność sieciowa, | |
| Klatki na sekundę | API 21 lub nowszy i zawiera SurfaceView |
Szczegółowe wyniki testu
Szczegółowe wyniki testów są dostępne przez 90 dni od ich przeprowadzenia i są przechowywane 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 Wyniki testów 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 przez ponad 90 dni, możesz wysłać je do zasobnika Cloud Storage, którego jesteś właścicielem, za pomocą opcji wiersza poleceń gcloud --results-bucket. Następnie możesz ustawić Wiek, aby określić, jak długo wyniki mają być przechowywane w zasobniku Cloud Storage. Informacje o tym, jak zmienić ustawienie Wiek, znajdziesz w artykule o warunkach 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 zabezpieczeń wykonujący test może nie mieć odpowiednich uprawnień w projekcie. Domyślnie Firebase tworzy 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 zabezpieczeń, możesz użyć opcji wiersza poleceń gcloud --results-bucket.