Testowanie aplikacji mobilnych

Od 2009 roku udział komputerów PC w globalnym korzystaniu z Internetu (przeglądanie www) zaczął regularnie spadać na korzyść urządzeń mobilnych. W roku 2015 udziały te się zrównały i utrzymują się na podobnym poziomie (52% dla mobile). Tendencja wzrostu popularności urządzeń mobilnych nieco spowolniła ze względu na zmianę stylu życia spowodowaną COVID. Na samych urządzeniach mobilnych w oficjalnych sklepach dostępne jest około 4,5 miliona aplikacji. W Polsce średnio instalujemy 25 apek rocznie, a około 10 z nich używamy codziennie (30 miesięcznie).

 

Jest to wystarczający argument by stosować podejście „Mobile First”. Analizując swój biznes należy w pierwszej kolejności skupić się na adresowaniu doświadczeń użytkownika (User Experience) w oparciu o rozwiązania mobilne. W tym modelu budujemy najbardziej funkcjonalny i prosty interfejs tak by zaadresować podstawowe cele biznesowe, a w drugiej kolejności rozbudowujemy interfejs desktopowy.

 

Przykładowy zakres testowy:

Zakres testowy jest wynikową celu jaki jest do osiągnięcia w całym procesie. Może on zależeć od charakteru aplikacji, oczekiwań jakościowych interesariuszy, czy użytkowników. W każdym projekcie trzeba go przeanalizować i dopasować do danego produktu/rozwiązania.

Przykładowy zakres może wyglądać następująco:

  1. Testy wydajności aplikacji:
    • zużycie pamięci
    • wykorzystanie baterii
    • łączność sieciowa
    • działanie w tle
    • przełączanie się pomiędzy aplikacjami
    • wycieki pamięci
  2. Testowanie stabilności aplikacji
    Sprawdzenie jak aplikacja reaguje na przerwanie działania i powracanie do poprzedniego stanu (np. odebranie połączenia telefonicznego, wiadomości, powiadomień, niski poziom baterii, wielogodzinne działanie itp.)
  3. Testowanie użyteczności
    Przeprowadzone w celu sprawdzenia, czy aplikacja jest łatwa w użyciu i zrozumiała dla użytkownika końcowego.
  4. Instalacja i testowanie uruchamiania
    Testowanie instalacji ma na celu wykrycie, czy występują jakieś problemy podczas procesu instalacji, dezinstalacji i aktualizacji. Po zainstalowaniu aplikacji sprawdzany jest również proces uruchamiania.
  5. Testy funkcjonalne
    Wszystkie funkcje i cechy aplikacji będą testowane w celu sprawdzenia, czy działają zgodnie ze specyfikacją.
  6. Testowanie bezpieczeństwa
    Testy bezpieczeństwa w celu znalezienia luk w aplikacji i zapobiegania naruszeniom danych.
  7. Testy zgodności
    Przeprowadzane w celu upewnienia się, że aplikacja działa zgodnie z oczekiwaniami na urządzeniach mobilnych które mają inny rozmiar, rozdzielczość, ekran, wersję i sprzęt.
  8. Testy potwierdzenia
    Wykonanie testów potwierdzających, że dana funkcjonalność działa poprawnie, a która na poprzedniej wersji programowania wykazywała problemy
  9. Testy regresji
    Ponowne wykonanie testów, które zostały wykonane przed zmianą kodu. Ich celem jest weryfikacja, czy nowa lub poprawiona funkcjonalność nie wpłynęła negatywnie  na działanie oprogramowania.

 

Czy da się sprawdzić wszystko?

Testowanie aplikacji mobilnych w podobnym zakresie i przy ogromnej różnorodności urządzeń niesie ze sobą konieczność sprawdzenia testowanego produktu w wielu wariantach poszczególnych składowych wpływających na zachowanie aplikacji, np.:

  • Typ:
    • mobilne aplikacje internetowe - strona internetowa uruchamiana z poziomu przeglądarki urządzenia mobilnego
    • natywne aplikacje - aplikacje stworzone specjalnie pod danych typ systemu operacyjnego, wykorzystujące specyficzne cechy tych systemów
    • aplikacje hybrydowe - połączenie obu aplikacji powyższych
  • Tryby pracy:
    • online - wymagane jest połączenie Internetowe, np. przeglądanie zdjęć, czat z użytkownikami
    • offline - do działania nie wymagane jest połączenie Internetowe, np. gra mobilna, która podczas instalacji ściąga wszystkie potrzebne dane działania pliki
    • hybrydowym - do prawidłowego działania nie jest wymagane połączenie internetowe, ale od czasu do czasu trzeba wysłać dane z aplikacji na serwer

 

Każda składowa będzie powodować multiplikację przypadków testowych (Test Case). Przetestowanie 100% możliwości nie jest możliwe w praktyce, dlatego najlepszym podejściem jest określenie kluczowych person użytkowników i zdefiniowanie w ich profilu najczęstszych wariantów. Dobrym podejściem (i często wystarczającym) jest podejście statystyczne i zawężenie do najpopularniejszych wariantów:

  • systemy operacyjne w wielu wersjach: iOS (<9% udziału rynku z wersją 14.7 i 15.0), Android (91% udziału rynku z wersją 10 i 11)
  • różnice interfejsu graficznego dostawcy sprzętu (nakładki UX): Samsung 32%, Xiaomi 22%, Huawai 17%, itp.
  • rozmiary ekranów – 5 najpopularniejszych rozdzielczości adresuje połowę rynku

Dane z 2021 (źródło: https://gs.statcounter.com/)

Profesjonalne rozwiązania i testowanie także zróżnicują głębsze parametry jak np. konfiguracje sprzętowe 32 i 64bits, czy w przypadku aplikacji online zdolności sieciowe: WiFi 2.4GHz, 5GHz i sieci komórkowe.

 

Ile razy testować?

Ilość przebiegów testowych nie jest z góry zdefiniowana i zależy nie tylko od planu testów, ale także od analizy wyników podczas i po zakończeniu. Testowanie także może być elementem backlogu sprintu wytwarzania oprogramowania i zakres można rozłożyć lub podzielić na etapy. Warto jednak wyznaczyć moment w którym wykona się przebieg kompletny (wg test planu) na wersji oprogramowania traktowanej jako pierwsze produkcyjne wydanie (nie koniecznie komercyjne). Każde kolejne wydanie nowych funkcjonalności lub poprawek może być testowane przebiegiem dostosowanym do błędów zidentyfikowanych wcześniej lub zakresu zmian w oprogramowaniu (confirmation, regression testing).

Potrzebujesz testów?

Zapoznaj się z nasza ofertą testowania oprogramowania.

Skontaktuj się