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. Sprawdza się, na jakim rynku ma działać, w jakiej branży, jaka jest grupa docelowa odbiorców oraz doprecyzowuje się budżet oraz ilość 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. 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.:
Farmy urządzeń pozwalają także tworzyć zrzuty ekranu z każdego miejsca w aplikacji. To pozwala 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.