Baza wiedzy
Aplikacja mobilna jest typem oprogramowania działającego na urządzeniach przenośnych. Według najnowszych badań prawie 80% Polaków w wieku 18 – 60 lat posiada smartfon.
Liderem polskiego rynku jest firma Samsung, która w 2020 roku wydała 9 modeli w 41 konfiguracjach (w sumie jest ich ponad 1 000). W poprzednim roku sprzedano prawie 1,3 mld smartfonów. Weryfikacja pod kątem poprawnego działania wytwarzanej aplikacji na różnych urządzeniach, biorąc pod uwagę różne konfiguracje sprzętowe, rozdzielczość ekranu, wersje systemu czy konfigurację sieci, jest kluczowa dla jej sukcesu.
Urządzenia do testowania dobiera się pod potrzeby klienta - na jakim rynku działa, w jakiej branży, jaka jest grupa docelowa użytkowników, budżet i ile jest czasu na wytworzenie i przetestowanie aplikacji. W takiej analizie przydatne są statystki, np. na stronie Statcounter Global Stats można sprawdzić udział w rynku producentów czy systemów operacyjnych dla interesującego nas regionu, kraju, przedziału czasu.
Mało która firma może sobie pozwolić na własne laboratorium urządzeń mobilnych, czyli zebranie grupy urządzeń w jednym miejscu i umożliwienie pracy na nich zespołowi deweloperskiemu (tak zrobił m.in. Facebook i Google). W takiej sytuacji, najpopularniejszym i najtańszym rozwiązaniem są testy na emulatorach. Przykładowo, narzędzie do budowania aplikacji mobilnych Android Studio umożliwia podejrzenie i testowanie aplikacji na różnych emulatorach, które reprezentują fizyczne urządzenia. Można wybrać istniejący model lub skonfigurować własny wybierając pamięć RAM, wielkość ekranu, wersję systemu, procent naładowania baterii, itd. Jednak emulatory nie do końca odwzorowują interakcję, jaką byśmy mieli na urządzeniu rzeczywistym. Trudno zbadać skanowanie kodu, zmianę orientacji czy połączenie z innym urządzeniem np. słuchawkami Bluetooth.
O wiele lepszym, ale drogim rozwiązaniem są farmy urządzeń mobilnych np. Browserstack lub Amazon Device Farm. Są to rozwiązania chmurowe, umożliwiające sprawdzenie aplikacji dla systemu Android i iOS na prawdziwych, fizycznych telefonach i tabletach. Browserstack ma ponad 2000 urządzeń. Oprócz podstawowych funkcjonalności możemy testować m.in.:
- geolokalizację - symulację urządzenia w określonej lokalizacji GPS lub IP;
- lokalizację – przetestowanie aplikacji w różnych ustawieniach językowych i regionalnych;
- powiadomienia push;
- symulację sieci – umożliwia testowanie wydajności i zachowania aplikacji poprzez symulację warunków sieciowych urządzenia;
- możliwość zainstalowania aplikacji z App Store lub Play Store i przetestowania ich
- wpływu na naszą (warto to zrobić dla najbardziej popularnych);
- płatności Google Pay.
Oprócz testów, farmy urządzeń pozwalają także tworzyć zrzuty ekranu z każdego miejsca w aplikacji, dzięki czemu można ocenić czy aplikacja poprawnie wygląda na każdym typie telefonu i ekranu.
Jest jeszcze kilka obszarów w testowaniu aplikacji mobilnych, które są dla niego specyficzne. Warto sprawdzić, jak zachowuje się aplikacja w zależności od poziomu naładowania baterii - czy działa prawidłowo w trybie oszczędzania energii albo podczas ładowania urządzenia. Jak się zachowuje, gdy smartfon przełącza się między sieciami np. z LTE na WiFi lub podczas przychodzącego połączenia.
Należy pamiętać o tym, jak bardzo ważne jest pierwsze wrażenie użytkownika. Na rynku jest tak duży wybór aplikacji, łatwość ich pobrania, ale również usunięcia ze smartfona, że często decydują pierwsze minuty po jej zainstalowaniu. Aplikacja powinna być atrakcyjna wizualnie, intuicyjna, szybka i niezawodna. Jeżeli chcemy przed publikacją ostatecznej wersji mieć feedback od użytkowników, warto udostępnić aplikację do beta testów. Każdy korzysta ze smartfona i aplikacji na swój własny sposób, a to pozwala wykryć nowe błędy.
Po publikacji ostatecznej wersji, warto korzystać z automatycznego raportowania błędów. Pozwoli to na szybkie wyłapanie problemów jeszcze zanim zgłoszą je użytkownicy.
Na działanie aplikacji mobilnych wpływa bardzo dużo czynników, które nieustannie się zmieniają. Każda nowa wersja systemu czy nowy model telefonu może spowodować jej niepożądane zachowanie. Nie da się przewidzieć wszystkiego, ale można dobrze zaplanować testy i rozpocząć je jak najwcześniej, by do końcowego odbiorcy trafił produkt jak najwyższej jakości.
Zainteresował Cię ten wpis?
Chcesz dowiedzieć się więcej?
Justyna Pogorzelska Hinc
Pracuje na stanowisku Młodszy Tester. W Dziale Produkcji Oprogramowania odpowiedzialna za testy manualne.
justyna.pogorzelska.hinc@monolit-it.pl
Zobacz wszystkie artykuły danego autora »