pasjaonline.pl
TestyMobilne_logo
TestyMobilne_logo
TestyMobilne_logo
TestyMobilne_logo
Testy mobilne
autor

d9k

date

Urządzenia mobilne szturmem wdarły się w nasze życie i nic nie wskazuje na to, aby ten trend miał się zmienić. Coraz więcej instytucji decyduje się na stworzenie dedykowanej aplikacji na urządzenia mobilne. Jak testować tego typu oprogramowanie?

Testowanie funkcjonalności i sprawdzenie, jak aplikacja wyświetla się w różnych rozdzielczościach to nie wszystko. Warto skupić się także na paru kwestiach specyficznych dla mobilnego świata.

Warto pamiętać, że na aplikację mobilną działają czynniki niespotykane w środowisku dekstopowym. Poza obsługą testowanej aplikacji, urządzenie nadal zajmuje się pozostałymi swoimi funkcjami (dzwonienie, odbieranie smsów). W zależności od platformy, tego typu zdarzenia są obsługiwane w różny sposób – aplikacja może zostać zawieszona, uśpiona itp. Można posłużyć się schematem stanów dla danej platformy i szczegółowo zapoznać się, co oznacza każdy stan i co dokładnie dzieje się, gdy aplikacja przechodzi z jednego stanu w drugi.

Android application life cycle

Rys. 1: Cykl życia aplikacji Android

ios lifecycle

Rys. 2: Cykl życia aplikacji iOS

windows phone lifecycle

Rys. 3: Cykl życia aplikacji Windows Phone

 

Przykładowo w Windows Phone, w danej chwili może być wykonywana tylko jedna aktywność. Pozostałe aplikacje są zamrażane. Nie ma w tym systemie takiego stanu jak „praca w tle”. Warto przetestować, czy wstrzymywanie i wznawianie aplikacji działa poprawnie. Co stanie się, gdy na przykład przed wstrzymaniem wykonywane było żądanie pobrania zasobów – z sieci, GPS?

Jakie sytuacje mogą przerwać działanie aplikacji (w zależności od platformy)?

  • telefon (dzwonienie, powiadomienia z sieci, sms, mms…)
  • kliknięcie przycisku wstecz
  • komunikaty systemowe
  • powiadomienia push
  • wyłączenie/zablokowanie ekranu
  • przełączenie się na inną aplikację
  • brak dostępu do zasobów z powodu fizycznego ich braku lub chwilowej niedostępności (sieci komórkowej, internetu, WIFI, GPS, plików, aparatu, żyroskopu itd.)
  • wyczerpująca się bateria
  • wyłączenie urządzenia
  • zawieszenie się urządzenia, itd.

Warto także zwrócić uwagę na przeciwną sytuację – jak aplikacja wpływa na system?

  • zużycie baterii (bardzo ważna kwestia!)
  • zbyt częste odpytywanie GPS (wiąże się z dużym zużyciem baterii)
  • zbędne zużycie transferu internetowego
  • używane zasoby procesora, pamięci operacyjnej i stałej. Aplikacje mobilne powinny być możliwie lekkie.

Jeżeli aplikacja jest powiązana z innymi składnikami systemu lub aplikacjami, istotne jest sprawdzenie powiązań – nawigacji między nimi, udostępniania zasobów. Co stanie się w przypadku, gdy powiązana aplikacja z jakiegoś powodu nie odpowiada?

Urządzenia mobilne, poza typowymi funkcjami takimi jak wpisanie tekstu czy naciśnięcie elementu, dostarczają dodatkowych akcji:

  • obrót ekranu
  • przesuwanie
  • rozciąganie (w celu przybliżenia fragmentu)
  • scrollowanie (szybkie lub powolne)
  • wciśnięcie elementu na dłuższy czas itp.

Kolejną kwestią jest testowanie instalacji i aktualizacji. W obecnych czasach oprogramowanie wytwarzane jest iteracyjnie, co wiąże się z częstym wydawaniem nowych wersji aplikacji. Czy po aktualizacji aplikacja poprawnie przechowuje wprowadzone wcześniej dane? Co dzieje się w przypadku nieudanej instalacji?

We wstępie wspominałam o testowaniu pod kątem różnych wersji urządzeń. O ile w przypadku aplikacji iOS czy Windows Phone sytuacja jest w miarę prosta – ilość wariacji jest raczej niewielka (np. Windows Phone: zaledwie pięć wersji systemu: 7.0, 7.5, 7.8, 8.0, 8.1), to rynek androidowy stanowi pewne wyzwanie. Mnogość producentów, sprzętu, wymiarów ekranu, wersji systemu Android powoduje, że nie jest raczej wykonalne fizyczne przetestowanie aplikacji na wszystkich możliwych urządzeniach. Na szczęście z pomocą przychodzą takie rozwiązania jak np. firmy SauceLabs. Po opłaceniu dostępu, otrzymujemy dostęp do chmury urządzeń, na których wykonane zostaną testy automatyczne.

 

Źródła:

Więcej o cyklu życia aplikacji Windows Phone:Wikipedia, MSDN
Cykl życia aplikacji iOS
Multitasking w Windows Phone
Zdjęcie: dave patten na licencji Creative Commons

  • Pingback: Artykuł w PasjaOnline: Testy mobilne | Mój skrawek Sieci()

  • Dawidek

    Czy macie tą stronę w dupie czy mi się wydaje

    • http://pasjaonline.pl PasjaOnline.pl

      Fakt, ostatnio na blogu widać spory zastój ale u nas praca pełną parą – już niedługo wszystko znów ruszy – szykujemy całkowitą przebudowę bloga :)