Każdy projekt informatyczny powinien być dobrze przetestowany. W przypadku aplikacji mobilnych testy zyskują na znaczeniu, bowiem na rynku dostępne są już tysiące, jeśli nie dziesiątki tysięcy różnych wersji telefonów, tabletów i phabletów. Charakteryzują się one różnymi parametrami technicznymi, które często mają wpływ na działanie aplikacji. W szczególności są to:
- Wersja systemu operacyjnego – w kolejnych systemach pojawiają się często nowe funkcje lub zmienia się ich działanie.
- Rozdzielczość ekranu – aplikacja powinna poprawnie działać na różnych rozdzielczościach ekranu – od 320×480 do 1440×2560
- Wielkość dostępnej pamięci – współczesne telefony mają zwykle od 1GB do 4GB pamięci, choć zdarzają się też starsze modele z 512 MB RAM
- Moc obliczeniowa procesora – jeśli aplikacja dokonuje dużo obliczeń to moc procesora będzie miała istotny wpływ na szybkość działania
- Moc obliczeniowa układu graficznego – aplikacje dokonujące wielu przekształceń na grafice, gry wyświetlające obiekty 3D potrzebują zwykle duże mocy procesora graficznego
- Możliwości dodatkowe potrzebne do realizacji konkretnych funkcji aplikacji: np. obsługa NFC, kamera o dużej rozdzielczości, żyrokompas itd. Tego ostatniego punktu nie będę brał pod uwagę w poniższych zestawieniach, bo jest ściśle zależny od konkretnego przypadku aplikacji.
Czy testy na rzeczywistych urządzeniach można zastąpić testami na emulatorach? Naszym zdaniem nie. Dlaczego? Emulatory nie bazują na komponentach sprzętowych telefonu, tylko na oprogramowaniu działającym na komputerze. W przypadku rzeczywistych urządzeń możemy sprawdzić realne warunki użytkowania – wpływ na nie ma m.in. szybkość połączenia internetowego, inne aplikacje działające w tle, konkretne implementacje poszczególnych funkcji stosowane przez różnych producentów.
Projektując aplikację powinniśmy wziąć pod uwagę zarówno możliwości jak i ograniczenia stawiane przez dostępne na rynku urządzenia. Co z tego, że wymyślimy super-innowacyjny projekt interfejsu jeśli będzie on nieużywalny na ekranach phabletów o większym rozmiarze ekranu (np. 6.5 cala)? Z kolei duża aplikacja dająca użytkownikowi szereg korzyści nie będzie mogła być uruchomiona na urządzeniach z mniej niż 2 GB ramu.
Równie ważną zmienną jest popularność danego modelu. Samsung Galaxy S6 będzie miał podobne parametry co LG G5, ale ten pierwszy jest znacznie bardziej popularny na rynku. Jeśli mamy ograniczony budżet na sprzęt, to lepiej testować na bardziej popularnych urządzeniach. Dlaczego ? bo jest ich więcej i mamy większe prawdopodobieństwo, że przetestowana aplikacja działa u dużej liczby użytkowników.
Jak zatem dobrać telefony, żeby zapewnić sobie w miarę dokładne testy ? Poniżej kilka propozycji dla projektu mobilnej aplikacji na telefony iOS/Android uzależnionych od budżetu. Naszym celem jest zapewnienie dużego pokrycia pod względem rozdzielczości ekranowych, wydajności oraz wersji systemów operacyjnych. W przypadku iPhone sytuacja jest trochę prostsza bowiem nowe wersje OS-ów są szybko aktualizowane przez użytkowników. Wg. szacunków 80% użytkowników ma u siebie najnowszą dostępną wersję iOS-a. W przypadku telefonów Android producenci nie są już tak chętni do udostępniania aktualizacji i szacuje się że tylko 1% posiadaczy telefonów ma wgraną najnowszą dostępną na rynku wersje systemu Android.
Cena | Rozdzielczość | Pamięć RAM | System | |
---|---|---|---|---|
iPhone 6 | 1600 | 1334×750 | 1GB | iOS 10.2 |
iPhone 5S | 1000 | 1136×640 | 1GB | iOS 9 |
Xiaomi redmi 4 Pro | 680 | 1920×1080 | 3GB | Android 6 |
Samsung Galaxy J3 | 600 | 1280×720 | 1.5GB | Android 5.1 |
Samsung Galaxy S4 | 480 | 1920×1080 | 2GB | Android 4.2.2 |
Samsung Galaxy Young 2 | 370 | 480×320 | 512MB | Android 4.4.2 |
LG K3 | 300 | 854×480 | 1GB | Android 6 |
W cenie 5000 zł kupimy tylko kilka urządzeń. Ponad połowę budżetu pochłoną nam 2 iPhone’y. Jednak jeśli chcemy mieć jakkolwiek przetestowaną apkę to powinniśmy mieć co najmniej 2 urządzenia z logo jabłka na pokładzie – w tym przypadku z IOS 9 i 10.2. Za pozostałe 2430 zł proponujemy kupić kilka niedrogich Androidów. Nie będą to najbardziej topowe telefony Android, bo ich zakup szybko wyczerpał by nasze fundusze. Zamiast tego proponujemy zakup mniej zaawansowanych komórek takich marek jak Samsung, LG i Xiaomi. Dobór urządzeń pokryje nam rozdzielczości od 480×320 do 1920×1080 pikseli oraz systemy od Android 4.2 do 6.
Cena | Rozdzielczość | Pamięć RAM | System | |
---|---|---|---|---|
iPhone 7 Plus | 3350 | 1920×10180 | 3GB | iOS 10.3 |
iPhone 6 | 1600 | 1334×750 | 1GB | iOS 10.2 |
iPhone 5S | 1000 | 1136×640 | 1GB | iOS 9 |
LG G4 | 860 | 2560×1440 | 3GB | Android 5.1 |
Motorola G4 | 800 | 1920×1080 | 2GB | Android 6 |
Samsung Galaxy J3 | 600 | 1280×720 | 1.5GB | Android 5.1 |
Sony Xperia M4 Aqua | 550 | 1280×720 | 2GB | Android 5.0 |
Samsung Galaxy S4 | 480 | 1920×1080 | 2GB | Android 4.2.2 |
Samsung Galaxy Young 2 | 370 | 480×320 | 512MB | Android 4.4.2 |
LG K3 | 300 | 854×480 | 1GB | Android 6 |
10 tys. zł to już spora kwota na testy. Jeśli nasz team testowy i developerski nie jest duży to powinno wystarczyć nam urządzeń. Za dodatkowe 5000 zł proponujemy dokupić iPhone 7 Plus oraz zainwestować w dodatkowe 3 telefony Android: LG G4 z rozdzielczością 2560×1440 oraz tańsze Xperia M4 i Motorola G4. Według zapowiedzi z bloga motoroli G4 ma dostać update do android 7, więc ten telefon przyda nam się też w przyszłości.
Cena | Rozdzielczość | Pamięć RAM | System | |
---|---|---|---|---|
iPhone 7 Plus | 3350 | 1920×10180 | 3GB | iOS 10.3 |
Samsung Galaxy S7 | 2000 | 2560×1440 | 4GB | Android 6 |
Google Nexus 6P | 2000 | 2560×1440 | 3GB | Android 7.1.1 |
iPhone 6 | 1600 | 1334×750 | 1GB | iOS 10.2 |
iPhone SE | 1600 | 1136×640 | 2GB | iOS 10.2 |
iPhone 5S | 1000 | 1136×640 | 1GB | iOS 9 |
HTC One M9 | 1000 | 1920×1080 | 3GB | Android 5.0 |
Huawei P9 Lite | 900 | 1920×1080 | 2GB | Android 6 |
Samsung Galaxy J5 | 720 | 1280×720 | 2GB | Android 6 |
Xiaomi Redmi 4 pro | 680 | 1920×1080 | 3GB | Android 6 |
LG G3 | 620 | 2560×1440 | 2GB | Android 4.4.2 |
Samsung Galaxy J3 | 600 | 1280×720 | 1.5GB | Android 5.1 |
LG K10 | 180 | 1280×720 | 1.5GB | Android 6 |
Sony Xperia M4 Aqua | 550 | 1280×720 | 2GB | Android 5.0 |
Samsung Galaxy S4 | 480 | 1920×1080 | 2GB | Android 4.2.2 |
Sony Xperia Z | 400 | 1920×1080 | 2GB | Android 4.1.2 |
Sony Xperia E3 | 400 | 854×480 | 1GB | Android 4.4 |
Huawei Y | 380 | 854×480 | 1GB | Android 5.1 |
Samsung Galaxy Young 2 | 370 | 480×320 | 512MB | Android 4.4.2 |
Samsung Galaxy S3 Mini | 320 | 800×480 | 1GB | Android 4.1 |
Alcaltel Pixi 4 | 320 | 854×480 | 1GB | Android 6 |
LG K3 | 300 | 854×480 | 1GB | Android 6 |
Podwojenie kwoty na sprzęt testowy da nam już spore możliwości w zakresie testowania aplikacji mobilnych. 4 różne iPhone’y i 17 telefonów Android zapewni duże pokrycie w testach. Do zestawu dodaliśmy kilka najtańszych Androidów takich jak Huawei Y oraz Alcatel Pixi 4. Z kolei Nexus 6P i Samsung Galaxy S7 zagwarantują nam na dłużej dostępność najnowszych aktualizacji systemu Android Nougat. Dobrany zestaw pozwala nam na testowanie aplikacji dla rozdzielczości od 480×320 do 2560×1440 pikseli na systemach od Android 4.1 do 7.1
Jeśli nie chcemy sami wydawać kasy na sprzęt to skorzystajmy z testów oferowanych przez software house. Tam zwykle mają sporą bazę urządzeń. Można też skorzystać z usług dostępnych w sieci. Tam wyspecjalizowane firmy udostępniają specjalne konsole dzięki którym aplikację można wgrać przez Internet do różnych telefonów i tabletów a następnie przetestować.