W dzisiejszym materiale przedstawię 7 najpopularniejszych błędów, jakie popełniają testerzy oprogramowania podczas testów aplikacji mobilnych. Znając szczegóły tych błędów, będziesz mógł poprawić swój warsztat testowania aplikacji mobilnych i będziesz wiedział jak takich błędów unikać. Najlepiej uczyć się na błędach innych, więc przechodzimy od razu do konkretów.
Najczęściej popełniane błędy podczas testowania aplikacji mobilnych:
1. Traktowanie aplikacji mobilnych tak samo, jak aplikacji webowych
Poważnym błędem jest podchodzenie do testów aplikacji mobilnych tak samo, jak do testowania aplikacji webowych. Jest to duży błąd i często popełniany przez testerów oprogramowania, którzy wcześniej testowali popularną „webówkę”. Należy wiedzieć, jakie są główne różnice budowy, architektury, zastosowania i przeznaczania typu aplikacji, jaką testujemy. Ma to bardzo istotne znaczenie właśnie w przypadku aplikacji mobilnych, gdyż ten rodzaj aplikacji jest narażony na wyjątkowe czynniki około aplikacyjne. Trzeba pamiętać, że aplikacja będzie wykorzystywana na urządzeniu mobilnym (smartfonie, tablecie itp.), który z natury może być narażony na różne mniej czy bardziej wyjątkowe sytuacje takie jak: czasowe zaniki zasięgu internetowego, ograniczone zasoby sprzętowe, działanie „w trybie oszczędzania energii”, czy chociażby sytuacje takie jak połączenia przychodzące/wychodzące. Wszystkie tego rodzaju sytuacje charakterystyczne dla aplikacji mobilnych należy brać pod uwagę podczas testowania aplikacji. Nie możemy zatem testować aplikacji mobilnej tak samo, jak aplikacji webowej czy desktopowej. Typy i rodzaje testów muszą być dobrane ściśle do typu testowanej aplikacji. O typach testów aplikacji mobilnych można przeczytać w poprzednim moim artykule: https://odlaikadoautomatyka.pl/testowanie-aplikacji-mobilnych-czesc-2/
2. Testowanie na jednym urządzeniu (wąskiej grupie urządzeń)
Testowanie na jednym urządzeniu bądź na wąskiej grupie urządzeń jest jednym z najczęściej popełnianych błędów podczas testowania aplikacji mobilnych. Dzieje się tak z dwóch kluczowych powodów:
– brak świadomości i wiedzy
Niestety często nadal spotykamy się z sytuacjami, że osoby testujące bądź ich przełożeni nie mają świadomości i wiedzy technicznej, że aplikacja, która działa na jednym urządzeniu, może nie działać bądź działać niepoprawnie na innym urządzeniu o innej konfiguracji. Modeli samych smartfonów są setki, a każdy z nich jest podzielony zwykle na kilka konfiguracji (inne zasoby sprzętowe, różne wersje systemów operacyjnych itp.) co daje nam tysiące różnych konfiguracji.
Aplikacja mobilna poprawnie działająca na jednym urządzeniu w konkretnej konfiguracji może nie działać / działać nieco inaczej na innym urządzeniu. Dlatego, też musimy mieć świadomość tego, że testy należy wykonywać na różnych urządzeniach w różnych konfiguracjach.
– ograniczenia projektowe (czas i pieniądze)
Oczywiście testując aplikację, musimy odpowiednio zarządzać ryzykiem, gdyż wiadome jest, że nie przetestujemy aplikacji na wszystkich dostępnych na rynku urządzeniach mobilnych, z powodu ograniczeń budżetowych. Aby zoptymalizować finanse w kontekście testów aplikacji mobilnych, warto korzystać np. z rozwiązań chmurowych (nie trzeba kupować do testów urządzeń fizycznych – możemy skorzystać z urządzeń dostępnych w chmurze, wykupując do nich czasowy dostęp). Więcej o rozwiązaniach chmurowych do testów pisałem w tym artykule: https://odlaikadoautomatyka.pl/testowanie-aplikacji-mobilnych-czesc-1/
3. Skupianie testów tylko na warstwie wizualnej (frontendu)
Testowanie aplikacji mobilnych to nie tylko test warstwy GUI. Warstwa wizualna jest bardzo istotna, ale nie jest to jedyna warstwa, która bezdyskusyjnie wymaga testów. Podczas testów powinniśmy wziąć pod uwagę również warstwy backendu, nie zapominając o bazach danych i integracyjnej warstwie API.
Warto wiedzieć, że bardzo ważna w kontekście użytkowania aplikacji mobilnej jest jej wydajność ( tym bardziej, przy ograniczonych zasobach sprzętowych urządzeń mobilnych). Koniecznie powinniśmy zwrócić uwagę na bazę danych ( zwykle wykorzystywane w „mobilkach” są bazy SQLLitowe, które są bardzo lekkie, zajmują mało miejsca, ale zwykle są mało wydajne i wolne) – dlatego tym bardziej ważna jest ich poprawna optymalizacja. Aplikacje mobilne zwykle również integrują się z innymi aplikacjami, rozwiązaniami więc testowanie np. API jest również kluczową kwestią, którą należy zweryfikować.
4. Brak testów aktualizacji / instalacji
W przypadku natywnych czy hybrydowych aplikacji mobilnych ( o typach aplikacji mobilnych możesz poczytać tutaj: https://odlaikadoautomatyka.pl/testowanie-aplikacji-mobilnych-czesc-1/) bardzo ważne są testy instalacji, które mają za zadanie zweryfikować czy aplikacja instaluje się poprawnie na różnych urządzeniach mobilnych. Są to krytyczne weryfikacje, gdyż bez popranie przeprowadzonej instalacji, korzystanie z takiej aplikacji jest niemożliwe. Należy również zwrócić uwagę na testy aktualizacji aplikacji oraz systemu, gdyż w przypadku urządzeń mobilnych dzieje się to stosunkowo często.
5. Brak testów bezpieczeństwa
Należy pamiętać, iż w dzisiejszych czasach nasz smartfon ma zastosowanie na bardzo wielu płaszczyznach, również tych krytycznych. Mówię tu o chociażby wykorzystywaniu smartfonu do płatności internetowych czy stacjonarnych. Na smartfonach przechujemy również wiele prywatnych plików, zdjęć, dokumentów. Dlatego tak bardzo ważne jest to, aby każda instalowana na naszym smartfonie aplikacji była bezpieczna i pozbawiona luk, z wykorzystaniem których osoby trzecie mogłyby przejąć dostęp do naszego smartfonu. Niestety często testy bezpieczeństwa są pomijane, bądź są mocno ograniczone czasowo. Zadaniem dobrego testera oprogramowania powinno być budowanie takiej świadomość wśród wszystkich osób w zespole.
6.. Testowane wszystkiego bez priorytetu
Jak w przypadku wszystkich typów aplikacji (nie tylko mobilnych) musimy mieć jakiś konkretny plan na przeprowadzenie testów. Nie powinniśmy robić testów „na hura” i tylko testów eksploracyjnych. Każdy proces testowy powinien mieć swój plan oraz priorytety. Oczywiście priorytety powinny być ustalane indywidualnie na podstawie konkretnej aplikacji i wymagań. Niemniej jednak powinniśmy zwykle uwzględnić takie typy testów jak:
- Testowanie dokumentacji
- Testy funkcjonalne
- Testowanie użyteczności
- Testowanie interfejsu użytkownika
- Testowanie zgodności (konfiguracji)
- Testowanie wydajności
- Testy bezpieczeństwa
- Test regeneracji
- Testowanie lokalizacji
- Testowanie sieciowe
7. Brak testów sieciowych
Często w procesie testowym aplikacji mobilnych zapomina się przeprowadzić testów typowych dla „mobilek”, czyli testów sieciowych. Jest to duży błąd, gdyż jak wiemy urządzenia mobilne narażone są na różne stany sieciowe: czasowy brak zasięgu, zasięg LTE, zasięg 5G, 3G, Hotspot, WI-FI.
Autor: Tomasz Stelmach
0 komentarzy