Mobile testing – dobór urządzeń w pięciu krokach

Od kilku tygodni biorę udział w projekcie tworzenia aplikacji hybrydowej na urządzenia mobilne. Aplikacja jest przeznaczona tylko na telefony. Na początku projektu stanęliśmy przez wyzwaniem wyboru urządzeń, na których będziemy wykonywać testy. W tym tekście dowiesz się jak można podejść do tego zagadnienia. Poniżej opiszę, jak ja ugryzłem ten temat, co nie znaczy, że jest to jedyna słuszna droga. Dodam jeszcze, że było to moje pierwsze zetknięcie z tym zagadnieniem, więc zakładam, że jest tu spore pole do usprawnień. Jeśli masz większe doświadczenie, to zachęcam do podzielenia się swoimi uwagami w komentarzu.

Narzucone

Wymagania odnośnie urządzeń, na których dana aplikacja ma działać, może być czasami narzucone z góry. Klient może to określić na początku projektu, podobnie jak technologie w jakiej aplikacja ma być wykonana.

W przypadku technologii możemy mieć do czynienia z:

  1. aplikacjami natywnymi, na konkretną platformę np. iOS, Android
  2. aplikacjami hybrydowymi np. w IONIC, które działają pod różnymi platformami bez wykorzystania przeglądarki
  3. aplikacjami wykorzystującymi przeglądarkę np. typu PWA (Progressive Web App), które wykorzystują przeglądarkę

Nie zdefiniowane

Często jednak możemy spotkać się z sytuacją, kiedy klient oczekuje, że sami zaproponujemy urządzenia, na których aplikacja będzie wspierana. W końcu kto ma to wiedzieć? To my jesteśmy SME (Subject Matter Expert). Jak zatem podejść do takiego zagadnienia?

Należy wziąć pod uwagę kilka rzeczy, które w części mogą zależeć od wybranej technologii:

  • system operacyjny, pod którym aplikacja ma działać – iOS, Android, Windows Phone
  • wersja systemu operacyjnego – tutaj zwłaszcza w przypadku Androida mamy sporo wersji, które wciąż mają spory udział w rynku
  • rozdzielczość ekranów – możemy mieć do czynienia z telefonami, tabletami, a nawet PC w przypadku PWA
  • marka urządzeń – w przypadku Androida, producenci urządzań wprowadzają pewnie zmiany w systemie, które mogą także wpływać na działanie naszej aplikacji
  • przeglądarki – to będzie miało znaczenie jeśli chodzi o aplikacje uruchamiane w przeglądarce. Z Androidem dostajemy Chrome, a z iOS mamy do czynienia z Safari, ale użytkownik urządzenia może zainstalować sobie inną przeglądarkę, co też warto rozważyć w strategii testów.

Pomocne statystyki

Jak sobie zatem poradzić z tymi wszystkimi punktami wymienionymi powyżej? Z pomocą przychodzą nam statystyki, które bez problemu znajdziemy w internecie. Dzięki nim możemy zbudować sobie świadomość o udziale w rynku poszczególnych parametrów wymienionych powyżej. Na bazie tej wiedzy można dobrać odpowiednią grupę urządzeń, na których warto przeprowadzić testy. A to pozwoli zmniejszyć ryzyko wysypania się aplikacji na najbardziej powszechnych konfiguracjach.

Krok 1. System

Zacznijmy od ustalenia systemu operacyjnego. W tym przypadku skorzystać można np. ze strony DeviceAtlas.com. Poniżej przykładowe wykresy dla Polski i UK. Na grafice poniżej zauważyć można sporą różnice w udziale w rynku poszczególnych systemów. Gdyby nasza aplikacja miała być używana w Polsce, to większy nacisk należałoby położyć na testy na Androidzie. W przypadku UK różnica jest dużo mniejsza, ale jednak iOS przeważa – to powinien być główny system, którym warto poświęcić więcej czasu. Ale co dalej?

Brak alternatywnego tekstu dla tego zdjęcia

Krok 2. Wersja systemu

Wiemy już, który system dominuje na interesującym nas rynku. Następnie należy rozważyć wersje poszczególnych systemów. Jak wiadomo, istnieje spora różnica w podejściu producentów dwóch dominujących na świecie OSów, czyli Androida i iOS. W przypadku Apple aktualizacje dostępne są na większość urządzeń bardzo szybko. Inaczej sprawa wygląda jeśli chodzi o Androida, gdzie tempo wypuszczania kolejnych wersji zależy od producentów telefonów. Tym jednak nie zawsze opłaca się wypuszczać nowszą wersję systemu. A wszystko w celu zachęty użytkowników do częstszej zmiany telefonów.

Tym razem skorzystałem ze strony gs.statcounter.com. Wybór odpowiedniej wersji iOS zwykle powinien być dość prostym zadaniem. Wystarczy zerknąć na wykres poniżej – lewa część. Mamy wersję 12.1, która ma ponad 78% udziału w rynku. W przypadku Androida – prawa część wykresu – już tak łatwo nie jest. Wskazanie wersji, na której warto testować jest trudniejsze i pewnie warto uwzględnić testy na kilku wersjach systemu.

Brak alternatywnego tekstu dla tego zdjęcia

Krok 3. Marka urządzenia

Kolejnym punktem do sprawdzenia jest popularność konkretnych modeli urządzeń. Ponownie skorzystałem ze strony deviceatlas.com. Jak widać poniżej, na rynku UK dominuje iPhone 7 z kilkuprocentową przewagą nad kolejnym modelem iPhone 6S. W Polsce trudniej wskazać faworyta, bo różnice nie są zbyt duże, choć i tym razem iPhone 7 jest pierwszy. Kolejne miejsca na podium jednak zajmują modele Samsunga – odpowiednio J5 i Galaxy S8.

Brak alternatywnego tekstu dla tego zdjęcia

Krok 4. Rozdzielczość

Następną rzeczą, którą należy uwzględnić, to rozdzielczość ekranów urządzeń, co przekłada się na wygląd aplikacji. Z wykresu poniżej widać, że na rynku UK mamy dwie dominujące rozdzielczości – 375×667 oraz 360×640 – w sumie około 44% udziału w rynku. W Polsce natomiast dominuje 360×640 z ponad 50%.

Brak alternatywnego tekstu dla tego zdjęcia

Krok 5. Przeglądarki

No to jeszcze pozostało nam zorientować się w popularności przeglądarek. W przypadku UK oczywiście bardziej popularne jest Safari, co wynika z większej popularności urządzeń spod znaku jabłuszka. W Polsce zaś dominuje zdecydowanie Chrome, co jest odzwierciedleniem znaczącej przewagi urządzeń z Androidem na rynku.

Ten krok może być także przydatny przy testach aplikacji webowych, niekoniecznie w kontekście urządzeń mobilnych.

Brak alternatywnego tekstu dla tego zdjęcia

Podsumowanie

Na podstawie różnych statystyk jesteśmy w stanie zidentyfikować urządzenia, na których warto sprawdzić zachowanie naszej aplikacji. Oczywiście nie jesteśmy w stanie przeprowadzić testów na wszystkich możliwych kombinacjach. Jednak przeanalizowanie tych danych może znacząco wpłynąć na minimalizację ryzyka poprzez dobranie najbardziej popularnych urządzeń oraz ich konfiguracji jak wersja systemu czy przeglądarka.

Rzeczywistość

Z powyższych statystyk może wynikać, że najlepiej by było naszą aplikacje sprawdzić na:

  • iPhone 7 z iOS w wersji 12.1 oraz
  • Samsungu J5 z Androidem w wersji 8.0, 7.0 oraz 6.0

Okazać się może jednak, że nie mamy w firmie dostępnych takich urządzeń. Zresztą dobierając tylko po jednym urządzeniu dla poszczególnych systemów, mamy bardzo ograniczoną możliwość sprawdzenia aplikacji na różnych wielkościach ekranu. W takim przypadku można też rozważyć użycie emulatorów (Android) oraz symulatorów (iOS). Warto jednak pamiętać, że nie są one w stanie odzwierciedlić w pełni zachowania aplikacji. Niektórych rzeczy w ogóle nie będziemy w stanie zweryfikować wykorzystując emulatory/symulatory. Konieczne jest zatem przeprowadzenie testów na fizycznych urządzeniach – to podstawa. Emulatory mogą być dodatkowo wykorzystane do niektórych testów. Wcześniej jednak należy być świadomym ich ograniczeń.

Farmy urządzeń mobilnych

W przypadku przeprowadzenia testów na urządzeniach mobilnych można także skorzystać z farm takich urządzeń. Takie rozwiązanie pozwala na poprawę dostępności telefonów lub tabletów. Oczywiście wiąże się to z dodatkowymi kosztami, ale przynajmniej nie musimy wydawać pieniędzy na urządzenia, które za kilka miesięcy nie będą już zbyt popularne. Tego tematu jednak nie zgłębiałem.

Jedna uwaga do wpisu “Mobile testing – dobór urządzeń w pięciu krokach

  1. Pingback: Mobile Testing – co warto sprawdzić? – Bugfree blog

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Wyloguj /  Zmień )

Zdjęcie na Google

Komentujesz korzystając z konta Google. Wyloguj /  Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Wyloguj /  Zmień )

Zdjęcie na Facebooku

Komentujesz korzystając z konta Facebook. Wyloguj /  Zmień )

Połączenie z %s