You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
`Firebase Test Lab` jest infrastrukturą opartą o chmurę (`cloud`) przeznaczoną do testowania aplikacji na wielu urządzeniach (rzeczywistych i wirtualnych) naraz. W rezultacie zwracane są wyniki w postaci logów, zrzutów ekranu i wideo. Testy przeprowadzane są w partiach zwanych macierzami testowymi (`test matrix`) w której aplikacja jest testowana dla wielu kombinacji konfiguracji urządzeń. Wykorzystanie platformy Test Lab spełnia realizację instrumentalnych testów jednostkowych wykonywanych na wielu poziomach testowania (testy jednostkowe, integracyjne, systemowe). Co więcej dzięki zastosowaniu trybu `demo mode` przetestowanie gier staje się znacząco ułatwione.
12
+
`Firebase Test Lab` jest infrastrukturą opartą o chmurę (`cloud`) przeznaczoną do testowania aplikacji na wielu urządzeniach (rzeczywistych i wirtualnych) naraz. W rezultacie zwracane są wyniki w postaci logów, zrzutów ekranu i wideo. Testy przeprowadzane są w partiach zwanych macierzami testowymi (`test matrix`) w której aplikacja jest testowana dla wielu kombinacji konfiguracji urządzeń (orientacja, język, urządzenia, wersja systemu itp). Wykorzystanie platformy Test Lab spełnia realizację instrumentalnych testów jednostkowych wykonywanych na wielu poziomach testowania (testy jednostkowe, integracyjne, systemowe). Co więcej dzięki zastosowaniu trybu `demo mode` przetestowanie gier staje się znacząco ułatwione.
Urządzenia są na bieżąco aktualizowane i konfigurowane oraz z uwagi na zachowanie prywatności i bezpieczeństwa użytkowników czyszczone po przeprowadzonych testach (usuwana jest aplikacja i jej dane). Ze względu na niższe koszty, dłuższy możliwy czas na przeprowadzenie testów, większą dostępność i szybsze zwracanie rezultatów jeśli to możliwe rekomendowane jest użycie w procesie deweloperskim urządzeń wirtualnych. Jednakże w przypadku wersji aplikacji przeznaczonych do wydania (`release`), wprowadzenia nowej funkcjonalności, wykorzystania cech sprzętowych czy zmian w interfejsie graficznym należy przeprowadzić testy w oparciu o urządzenia fizyczne. Zanim jednak aplikacja zostanie poddana testom w Test Lab warto sprawdzić poprawność testów najpierw na lokalnym urządzeniu lub emulatorze.
14
18
15
19
## Testowanie
16
-
Test Lab umożliwia wykonanie testów dla załączonego pliku `APK` lub kodu aplikacji na dwa sposoby: uruchamiając `testy instrumentalne` przy użyciu `Espresso` i `UI Automator` lub przygotowując je poprzez narzędzie `Robo test`. Następnie należy dokonać wyboru `macierzy` urządzeń testowych i konfiguracji. Testy można przeprowadzić nie tylko z konsoli Firebase (`Firebase console`), ale także z poziomu `Android Studio`, wiersza poleceń `gcloud CLI` oraz systemów ciągłej integracji (`CI`) takich jak m.in. `Jenkins`, `Bitrise` i `Circle CI`. W przypadku rozróżnienia fragmentów kodu ze względu na wykonanie przez Test Lab można posłużyć się poniższym kodem.
20
+
Test Lab umożliwia wykonanie testów dla załączonego pliku `APK` lub kodu aplikacji na dwa sposoby: uruchamiając `testy instrumentalne` przy użyciu `Espresso` i `UI Automator` lub przygotowując je poprzez narzędzie `Robo test`. Następnie należy dokonać wyboru `macierzy` urządzeń testowych i konfiguracji. Testy można przeprowadzić nie tylko z konsoli Firebase (`Firebase console`), ale także z poziomu `Android Studio`, wiersza poleceń `gcloud CLI` oraz systemów ciągłej integracji (`CI`) takich jak m.in. `Jenkins`, `Bitrise` i `Circle CI`. Wyniki przykładowych testów instrumentalnych dla zadanej macierzy w konsoli Firebase prezentują się następująco.
Widok szczegółów testów na danym urządzeniu dostarcza kompletnych informacji nt metod testowych, logów, rezultatów, a nawet nagranie wideo z przeprowadzonych testów.
`Robo test` jest narzędziem testowym zintegrowanym z Test Lab, który na podstawie analizy struktury interfejsu graficznego aplikacji automatycznie symuluje zachowanie użytkownika. Przeprowadza symulacje działań w tej samej kolejności dla danej konfiguracji i ustawień dzięki czemu możliwa jest weryfikacja poprawek i przeprowadzenie testów regresji. Dodatkowo załącza pliki logów, zrzuty ekranu i wideo co pomaga w znalezieniu błędów, a także podczas każdego testu rejestruje statystyki dotyczące podjętych działań i wywołanych ekranów. Dodanie `skryptów Robo` pozwala na przejęcie większej kontroli nad testami poprzez ręczne wprowadzenie działań. Należy mieć jednak na uwadzę, że testy Robo wykorzystują `Android API` do bezpośredniego wykonywania działań na widżetach interfejsu użytkownika. Jeśli testowany ekran nie używa `widżetów UI` wówczas testy przeprowadzane są zgodnie z zasadą małpki testowej (`Monkey Actions`), tzn. zachodzi symulacja dotknięć w losowych miejscach na ekranie. Aby temu zapobiec można użyć tryb `demo mode` oparty o mechanizm `Game Loop Test`.
27
-
28
-
## Urządzenia
29
-
Urządzenia są na bieżąco aktualizowane i konfigurowane oraz z uwagi na zachowanie prywatności i bezpieczeństwa użytkowników czyszczone po przeprowadzonych testach (usuwana jest aplikacja i jej dane). Ze względu na niższe koszty, dłuższy możliwy czas na przeprowadzenie testów, większą dostępność i szybsze zwracanie rezultatów jeśli to możliwe rekomendowane jest użycie w procesie deweloperskim urządzeń wirtualnych. Jednakże w przypadku wersji aplikacji przeznaczonych do wydania (`release`), wprowadzenia nowej funkcjonalności, wykorzystania cech sprzętowych czy zmian w interfejsie graficznym należy przeprowadzić testy w oparciu o urządzenia fizyczne. Zanim jednak aplikacja zostanie poddana testom w Test Lab warto sprawdzić poprawność testów najpierw na lokalnym urządzeniu lub emulatorze.
38
+
`Robo test` jest narzędziem testowym zintegrowanym z Test Lab, który na podstawie analizy struktury interfejsu graficznego aplikacji automatycznie symuluje zachowanie użytkownika. Przeprowadza symulacje działań w tej samej kolejności dla danej konfiguracji i ustawień dzięki czemu możliwa jest weryfikacja poprawek i przeprowadzenie testów regresji. Dodatkowo załącza pliki logów, zrzuty ekranu, wideo i diagramy przepływu akcji co pomaga w znalezieniu błędów, a także podczas każdego testu rejestruje statystyki dotyczące podjętych działań i wywołanych ekranów. Dodanie `skryptów Robo` pozwala na przejęcie większej kontroli nad testami poprzez ręczne wprowadzenie działań. Należy mieć jednak na uwadzę, że testy Robo wykorzystują `Android API` do bezpośredniego wykonywania działań na widżetach interfejsu użytkownika. Jeśli testowany ekran nie używa `widżetów UI` wówczas testy przeprowadzane są zgodnie z zasadą małpki testowej (`Monkey Actions`), tzn. zachodzi symulacja dotknięć w losowych miejscach na ekranie. Aby temu zapobiec można użyć tryb `demo mode` oparty o mechanizm pętli gry `Game Loop Test`.
0 commit comments