Istnieje wiele sposobów używania Firebase Test Lab do uruchamiania testów aplikacji na Androida, w tym interfejs wiersza poleceń , Android Studio , interfejs użytkownika Test Lab w konsoli Firebase oraz Testing API . Niezależnie od tego, jak zdecydujesz się rozpocząć testy, wyniki będą przechowywane w określonym przez Ciebie projekcie Firebase. Możesz przeglądać wyniki za pomocą ToolResults API oprócz dowolnego 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 Test Lab w lewym panelu nawigacyjnym projektu w konsoli Firebase. Na tej stronie są wyświetlane wszystkie uruchomienia testów z aplikacji, które przetestowałeś w swoim projekcie za pomocą Test Lab.
Aby przejrzeć wyniki testów, musisz najpierw zrozumieć trzy pojęcia:
Gdy przeprowadzasz test lub zestaw przypadków testowych na wybranych urządzeniach i konfiguracjach, Laboratorium testowe przeprowadza test dla Twojej aplikacji w partii, a następnie wyświetla wyniki jako macierz testów .
Urządzenia × Wykonywanie testów = Matryca testowa
- Urządzenie
- Urządzenie fizyczne lub wirtualne (tylko Android), na którym przeprowadzasz test, takie jak telefon, tablet lub urządzenie do noszenia. Urządzenia w macierzy testowej są identyfikowane według modelu urządzenia, wersji systemu operacyjnego, orientacji ekranu i ustawień regionalnych (znanych również jako ustawienia geograficzne i językowe).
- Test, wykonanie testu
- Test (lub zestaw przypadków testowych) do uruchomienia na urządzeniu. Możesz uruchomić jeden test na urządzenie lub opcjonalnie podzielić test i uruchomić jego przypadki testowe na różnych urządzeniach.
- Matryca testowa
- Zawiera statusy i wyniki testów dla wykonań testów. Jeśli wykonanie dowolnego testu w macierzy nie powiedzie się, nie powiedzie się cała macierz.
Poniższe sekcje wyjaśniają, jak poruszać się po wynikach testów.
Interpretuj wyniki historii testów
Gdy przejdziesz do wyników testów, wybierając Test Lab , zobaczysz wyniki dotychczas przeprowadzonych testów.
Historia testów jest pogrupowana według aplikacji. Dla każdej aplikacji wyświetlanych jest tylko pięć najnowszych macierzy testowych; jeśli dostępnych jest więcej, możesz kliknąć link Wszystkie macierze u dołu listy testów aplikacji, aby wyświetlić pełną listę dla tej aplikacji.
Zinterpretuj wyniki macierzy testowej
Rozpoczynając test za pomocą interfejsu użytkownika Test Lab , następuje przekierowanie do strony, na której można zobaczyć macierz testów i kliknąć konkretne 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 macierzy testowej można przeprowadzić test na kilkunastu różnych urządzeniach. Każde wykonanie testu może mieć inny wynik. Możliwe wyniki wykonania dowolnego testu w macierzy testów obejmują:
- Przeszedł
: Nie napotkano błędów.
- Przegrany
: Napotkano co najmniej jedną awarię.
- Nieprzekonywający
: Wyniki testu 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 wybranym poziomem interfejsu API systemu Android.
Aby przejrzeć zagregowane wyniki testów dla wszystkich macierzy testowych 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, i gdzie możesz kliknąć nazwę aplikacji (przedstawioną w czerwonym polu poniżej), aby wyświetlić listę macierzy testów dla innych aplikacji powiązanych z Twoim projektem Firebase.
Przykładowa strona z listą macierzy testowych
Macierz testowa może zaliczyć, zawieść lub być niejednoznaczna. Macierz testów jest pokazywana jako nieudana lub niejednoznaczna, jeśli jakiekolwiek wykonania testów w tej macierzy nie powiodły się lub są niejednoznaczne.
Interpretuj wyniki testu Robo
Jeśli przeprowadziłeś testy za pomocą Robo, oprócz zwykłych danych testowych wyniki obejmują filmy i zrzuty ekranu przedstawiające Robo indeksującego Twój interfejs użytkownika. Te filmy i zrzuty ekranu zawierają wizualne wskazania działań podejmowanych przez Robo 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 odkryć.
Przykładowy film z wynikami testu Robo
Interpretuj wyniki z pojedynczego wykonania testu
Na stronie wyników macierzy testów kliknij jedno z wykonań testów, aby zobaczyć wynik wykonania tego konkretnego testu.
Przykładowa strona wyników wykonania testu
Na tej stronie możesz zobaczyć czas potrzebny na wykonanie każdego testu. Możesz również wyświetlić wyniki dla określonych przypadków testowych, które odpowiadają metodom w testowym pakiecie APK (w przypadku 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 pokazuje ścieżki interfejsu użytkownika, które zostały odwiedzone przez test Robo.
Podzielone wyniki testów oprzyrządowania
Aby ułatwić interpretację wyników testów oprzyrządowanych, laboratorium testowe dzieli każdy test na własną szczegółową stronę raportu, zawierającą ślady stosu, dzienniki i filmy. Ta funkcja działa niezależnie od tego, czy używasz Android Orchestrator.
Przykładowa strona z wynikami przypadku testowego
Interpretuj wyniki ułatwień dostępu
Testy Robo używają Android Accessibility Scanner do wykrywania problemów z ułatwieniami dostępu w Twojej aplikacji (pamiętaj, że możesz też uruchomić skanowanie lokalnie na swoim urządzeniu). Aby uzyskać instrukcje, jak przeglądać i interpretować wyniki ułatwień dostępu w teście Robo, zobacz Pierwsze kroki z Accessibility Scanner .
Aby uzyskać ogólne informacje o tym, jak poprawić dostępność aplikacji, zapoznaj się z dokumentacją dotyczącą ułatwień dostępu dla programistów aplikacji na 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ść sieci | |
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ęta synchronizacja pionowa: liczba pominiętych zdarzeń synchronizacji pionowej 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 trwających 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, w których ukończenie wątku interfejsu użytkownika trwało dłużej niż 8 ms, podzielona przez liczbę klatek, których renderowanie trwało dłużej niż 16 ms.
- Polecenia powolnego rysowania: ile razy wysyłanie poleceń rysowania do GPU zajęło ponad 12 ms, podzielone przez liczbę klatek, których renderowanie trwało dłużej niż 16 ms.
- Powolne przesyłanie bitmapy: liczba przypadków, w których przesł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 testowego. Czasy renderowania większe niż 32 milisekundy powodują odczuwalne spowolnienie interfejsu użytkownika. Czasy renderowania 700+ wskazują zamrożone klatki. Dane renderowania są zbierane ze
dumpsys graphicsstats
.
Szczegółowe wyniki testów
Szczegółowe wyniki testu są dostępne przez 90 dni po jego uruchomieniu i są przechowywane w zasobniku Google Cloud Storage (ale są również widoczne w konsoli Firebase). Możesz wyświetlić szczegółowe wyniki testu w zasobniku Cloud Storage, klikając Wyświetl pliki źródłowe na stronie wyników wykonania testu. Gdy szczegółowe wyniki testów nie są już dostępne, nadal możesz zobaczyć, które testy zakończyły się powodzeniem lub niepowodzeniem.
Aby przechowywać szczegółowe wyniki testów przez dłużej niż 90 dni, musisz je wysłać do swojego zasobnika Cloud Storage, korzystając z opcji wiersza poleceń --results-bucket gcloud . Następnie możesz ustawić ustawienie Wiek , aby określić, jak długo wyniki są przechowywane w zasobniku Cloud Storage. Zobacz Warunki cyklu życia, aby uzyskać informacje o tym, jak zmienić ustawienie Wiek .