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ł
: Nie napotkano żadnych awarii.
- Przegrany
: Wystąpił co najmniej jeden błąd.
- Nieprzekonywający
: Wyniki testów były niejednoznaczne, prawdopodobnie z powodu błędu laboratorium testowego.
- Pominięto
: 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
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
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
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 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
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 .