Sytuacja kobiet w IT w 2024 roku
3.03.20205 min
Krzysztof Jadczyk

Krzysztof JadczykOwnerBugfree

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

Sprawdź, jak odpowiednio dobrać urządzenie do przetestowania swojej aplikacji.

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 przed 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 się 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ć, mogą 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ę

Niezdefiniowane

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ądzeń wprowadzają pewne 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óżnicę 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?

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.

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 kilku-procentową 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.

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 x 667 oraz 360 x 640 - w sumie około 44% udziału w rynku. W Polsce natomiast dominuje 360 x 640 z ponad 50%.

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.

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ą aplikację 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.

<p>Loading...</p>