Testy aplikacji na Androida w Firebase Test Lab można uruchamiać na kilka sposobów, m.in. za pomocą interfejsu wiersza poleceń, Android 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 Firebase. Oprócz wymienionych wyżej narzędzi możesz też analizować 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 nawigacyjnym 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 macierzy testowej 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 interfejsie Test Lab, przekierujemy Cię na stronę, na której zobaczysz macierz testową. Możesz na niej kliknąć konkretne wykonanie testu, aby wyświetlić jego wyniki. Android Studio i polecenie gcloud również udostępniają adres URL strony z wynikami macierzy testowej.
W typowej macierzy testowej 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 macierzy testów to:
- Zakończono
: nie wykryto żadnych błędów.
- Nie udało się
: wystąpiła co najmniej jedna awaria.
- Niejednoznaczny
: wyniki testu były niejednoznaczne, prawdopodobnie z powodu błędu Test Lab.
- Pominięto
: 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 macierzy testowych danej aplikacji w projekcie Firebase, kliknij nazwę aplikacji, jak pokazano w tym przykładzie:
Przykładowa strona wyników macierzy testowej z tylko 4 wykonaniami testu
Spowoduje to przejście do listy macierzy testów aplikacji, na której możesz kliknąć nazwę dowolnej macierzy testów, aby wyświetlić jej wyniki, oraz kliknąć nazwę aplikacji (widoczną w czerwonym polu poniżej), aby wyświetlić listę macierzy testów innych aplikacji powiązanych z Twoim projektem Firebase.
Przykładowa strona z listą zestawów testów
Zestaw testów może zakończyć się powodzeniem, niepowodzeniem lub wynikiem niejednoznacznym. Macierz testów jest oznaczana jako nieudana lub niejednoznaczna, jeśli którekolwiek wykonanie testu w tej macierzy zakończy się niepowodzeniem lub będzie niejednoznaczne.
Interpretowanie wyników testu Robo
Jeśli testy zostały przeprowadzone za pomocą robota Robo, wyniki obejmują filmy i zrzuty ekranu przedstawiające działanie robota 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 robota 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
Interpretowanie wyników pojedynczego wykonania testu
Na stronie wyników macierzy testów kliknij jeden z przeprowadzonych testów, aby zobaczyć wynik tego konkretnego testu.
Przykładowa strona wyników 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 użytkownika 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
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 pod kątem ułatwień 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:
Dane | Wymagana konfiguracja urządzenia |
---|---|
Czas uruchamiania aplikacji | API 19+ |
Wykorzystanie procesora | API 21+ |
Wykorzystanie pamięci | |
Aktywność sieciowa | |
Klatki na sekundę | API w wersji 21 lub nowszej, które 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 przez okres dłuższy niż 90 dni, możesz wysłać je do Cloud Storagenależącego do Ciebie zasobnika 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.