Testowanie aplikacji mobilnych [Cześć 1]

Sty 16, 2021

O tym, jak ważną rolę odrywania testowanie w całym procesie wytwórczym, nie trzeba już dzisiaj nikogo przekonywać. Ostatnio bardzo dotkliwie brak odpowiedniej jakości testów doświadczyli twórcy gry „CyberPunk 2077”. Długo wyczekiwana światowa premiera gry nie wypadła zbyt pomyślnie. Ogromna liczba błędów, bugów znacznie wpłynęła na całościowy odbiór produktu, a także doprowadziła do sytuacji, w której to światowi dystrybutorzy gier, postanowili usunąć ją czasowo ze swoich sklepów. Każda aplikacja niezależenie od typu, platformy, zastosowania powinna przejść proces testowy, tak aby zminimalizować ryzyko wystąpienia błędów, szczególnie tych poważnych, krytycznych.

Proces testowy i sposób jego realizacji zależy mocno od typu aplikacji, jaką mamy za zadanie przetestować. Aplikacje mobilne  będą wymagały innych testów niż aplikacje webowe czy desktopowe. Jest to oczywiście mocno związane z samą budową oraz zastosowaniem różnych typów aplikacji. W dzisiejszym materiale postaram się szczegółowo opisać testowanie aplikacji mobilnych. Szerokie zastosowanie urządzeń mobilnych w szczególności smartfonów spopularyzowała aplikacje mobilne, które już dzisiaj są najpopularniejszymi aplikacjami na rynku. W kolejnych latach prognozowany jest jeszcze bardziej dynamiczny wzrost liczby aplikacji mobilnych, co oznacza, że ten rynek stanie się naprawdę potężny. Wniosek jest prosty: „testowanie aplikacji mobilnych ma przed sobą świetlaną przyszłość”.

Na samym początku przedstawiam definicję aplikacji mobilnej:

Przykładami aplikacji mobilnych są np:

  • aplikacje bankowości internetowej:

iPKO, PeoPay, Alior Mobile

  • aplikacje rozrywkowe

Spotify Mobile, YouTube Mobile

  • komunikatory

Whatsapp, Twitter Mobile

Trzy największe systemy mobile (Android, iOS, Windows Phone) – mają swoje własne platformy sprzedażowe, na których udostępniają/sprzedają aplikacje mobilne:

Typy Aplikacji

Aplikacje mobilne dzielą się na trzy główne typy:

Aplikacje internetowe, aplikacje natywne, aplikacje hybrydowe.

Mobilne aplikacje internetowe to tak naprawdę strona internetowa uruchamiana z urządzenia mobilnego z wykorzystaniem przeglądarki mobilnej.

Natywna aplikacja to rodzaj aplikacji mobilnej, stworzonej specjalnie na konkretny system mobilny (np. iOS, Android, Windows Mobile).

Aplikacja Hybrydowa to po prostu połączenie mobilnej aplikacji internetowej z aplikacją natywną.

Nie ma jednego najlepszego typu aplikacji. Każdy ma swoje plusy i minusy. Wybór typu aplikacji zależy od naszych wymagań, oczekiwań i możliwości budżetowych.

Testy aplikacji mobilnych

Teraz kiedy wiemy już, czym są aplikacje mobilne, jakie są ich typy oraz poznaliśmy ich mocne i słabsze strony, możemy przejść w końcu do omawiania zagadnienia testów.
Wiemy już, że aplikacje mobilne możemy testować na urządzeniach mobilnych. Musicie jednak wiedzieć, że do testów możemy również wykorzystać emulatory urządzeń mobilnych (oprogramowanie, które symuluje pracę urządzenia mobilnego). Jest to często dużo tańsza opcja wykorzystywana do testów, jednak testy na prawdziwych urządzeniach mobilnych mają znacznie więcej zalet od testów na emulatorach.

Zalety testów na prawdziwych urządzeniach mobilnych:

• Wysoka dokładność wyniku testu
• Prosta replikacja błędów
• Punkty takie jak rozładowanie baterii, geolokalizacja, powiadomienia push, wbudowane czujniki urządzeń są łatwe do przetestowania
• Możliwość testowania aplikacji mobilnej w rzeczywistym środowisku i warunkach

Wady testów na prawdziwych urządzeniach mobilnych:

• Ogromna liczba często używanych urządzeń
• Dodatkowe wydatki na konserwację urządzeń
• Ograniczony dostęp do urządzeń często używanych w innych krajach

Wykorzystanie rzeczywistych urządzeń z punktu widzenia testów jest najlepszą opcją, ale również najdroższą, gdyż trzeba posiadać dużą farmę urządzeń, które przecież nie należą do najtańszych. Dlatego w celu optymalizacji kosztów, można wykorzystywać emulatory urządzeń, ale trzeba mieć również świadomość ich ograniczeń czy wad.

Zalety wykorzystania emulatorów do testowania aplikacji mobilnej:

  • Prosta konfiguracja
  • Szybka praca
  • Ekonomiczne

Wady korzystania z emulatorów do testowania aplikacji mobilnej:

  • Sprzęt urządzenia nie jest brany pod uwagę.
  • Możliwe są fałszywe alarmy
  • Niekompletne dane wyników symulacji, co utrudnia pełną analizę wyników badań.

Rozwiązania chmurowe

Istnieje jeszcze jedno, można powiedzieć łączone rozwiązanie, czyli testowanie aplikacji mobilnych z wykorzystaniem chmury oraz farm urządzeń.

Testowanie aplikacji mobilnych za pomocą narzędzi chmurowych wydaje się być często optymalnym wyborem. Może pomóc przezwyciężyć wady prawdziwych urządzeń i symulatorów.

Główne zalety rozwiązań chmurowych do testów aplikacji mobilnych:

  • Łatwa dostępność
  • Możliwość uruchamiania urządzeń mobilnych w wielu systemach i sieciach.
  • Możliwość nie tylko testowania, ale także aktualizowania i zarządzania aplikacjami w chmurze.
  • Ekonomiczne.
  • Wysoka skalowalność.
  • Ten sam skrypt można uruchomić równolegle na kilku urządzeniach.

Główne wady rozwiązań chmurowych do testów aplikacji mobilnych:

  • Mniej kontroli
  • Nie ma tak wysokiego poziomu bezpieczeństwa.
  • Zależność połączenia internetowego

Popularne usługi chmurowe, które posiadają swoje bogate farmy urządzeń to np. https://saucelabs.com czy https://www.browserstack.com.

W kolejnej części omówię dokładnie jakie typy testów przeprowadza się na aplikacjach mobilnych, z jakich narzędzi możemy korzystać oraz na co szczególnie należy zwrócić uwagę wykonując testy aplikacji mobilnych.

Autor: Tomasz Stelmach

Pozostałe:

Selenium WebDriver VS Cypress

Z pewnością Cypress miał mocne wejście w świat automatyzacji testów. Jednak od jego debiutu minęło już sporo czasu. Zamiast rozpychać się na rynku - Cypress widocznie mocno spuścił z tonu.Nie oznacza to jednak, że przestał się rozwijać, gdyż cały...

WOŚP 2021 – Twoje udostępnienie to nasza wpłata!

Od laika do Automatyka - największy w Polsce kurs online o automatyzacji testów, szkolenia, konsulting, doradztwo, usługi audytowe i wdrożeniowe. Dołącz do akcji wsparcia WOŚP Zapraszamy Cię do dołączenia do akcji wspierającej Wielką Orkiestrę Świątecznej Pomocy- 29...

Testowanie aplikacji mobilnych [Część 2]

W poprzednim materiale szczegółowo przedstawiłem aplikacje mobilne, ich typy, wady oraz zalety. Powiedziałem również nieco o testowaniu aplikacji mobilnych na urządzeniach rzeczywistych, emulatorach oraz w chmurze. Dzisiaj chciałbym skupić się stricte na etapach...

Testowanie manualne vs testowanie automatyczne

Aby jasno i konkretnie opisać korelacje oraz różnice miedzy testami manualnymi a testami automatycznymi, musimy przypomnieć sobie czym konkretnie są te dwie czynności. Testowanie manualne (inaczej ręczne) jest formą testowania oprogramowania, w której testy są...