Istnieje wiele sposobów korzystania z Firebase Test Lab do przeprowadzania testów aplikacji na Androida, w tym 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 dowiesz się, 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ą narzędzia 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 aplikacji w trybie wsadowym, a następnie wyświetli wyniki w formie 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 uruchomić 1 test na urządzenie lub opcjonalnie podzielić test na fragmenty i uruchomić jego elementy testowania na różnych urządzeniach.
- Zestaw testów
- Zawiera stany i wyniki wykonania testów. Jeśli którekolwiek wykonanie 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, 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. - Niejednoznaczny
: wyniki testu były niejednoznaczne, prawdopodobnie z powodu błędu Test Lab. - Pominięto
: wybrane wartości wymiarów dla 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 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 dla Twojej aplikacji, gdzie możesz kliknąć nazwę dowolnego zestawu testów, aby zobaczyć jego wyniki, lub kliknąć nazwę aplikacji (pokazaną w czerwonym polu poniżej), aby wyświetlić listę zestawów testów dla innych aplikacji powiązanych z Twoim projektem w Firebase.
Przykładowa strona z listą zestawów testów

Zestaw testów może zakończyć się powodzeniem, niepowodzeniem lub niejednoznacznym wynikiem. Zestaw testów jest oznaczony jako nieudany lub niejednoznaczny, jeśli którekolwiek wykonanie testu w tym zestawie nie powiodło się lub jest 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 z procesu indeksowania interfejsu przez Robo. 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 Robo i odtworzyć błędy, które może 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 wymagany do wykonania 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 testów z instrumentacją podzielone 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 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 swojego zasobnika Cloud Storage, używając 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 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 zabezpieczeń wykonujący test może nie mieć odpowiednich uprawnień do projektu. 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 przypisać tej roli podmiotowi zabezpieczeń, możesz użyć opcji wiersza poleceń gcloud --results-bucket.