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 testów, jakim możemy poddać aplikację mobilną.
Testy manualne i automatyczne
Jak w przypadku każdego rodzaju aplikacji, tak również aplikacje mobilne możemy zarówno testować manualnie, jak i automatycznie z wykorzystaniem dedykowanych narzędzi i rozwiązań.
Decyzja czy należy testować manualnie, czy automatycznie powinna być podejmowana na podstawie dogłębnych analiz i przemyśleń. Zarówno testy ręczne, jak i automatyczne mają swoje lepsze i słabsze strony. Moim zdaniem optymalnym wyborem jest umiejętne połączenie tych dwóch typów testów.
Główne zalety ręcznego testowania aplikacji mobilnych:
- Bardziej opłacalne w krótszej perspektywie czasowej
- Niższy próg wejścia w testy manualne niż w testy automatyczne
- Testowanie ręczne jest bardziej elastyczne
- Lepsza symulacja działań użytkownika
Główne wady ręcznego testowania aplikacji mobilnych:
- Manualne przypadki testowe nie są reużywalne
- Mało efektywne wykonywanie powtarzalnych zadań
- Testowanie manualne jest wolne
- Niektórych przypadków testowych nie można wykonać ręcznie (testowanie wydajności)
Główne zalety testów automatyzacji aplikacji:
- Testy są szybkie
- W dłuższej perspektywie czasowej są bardzo opłacalne (jeśli są odpowiednio wykorzystywane)
- Możliwa duża reużywalność
- Jedyna opcja w przypadku np. testów wydajnościowych
- Wyniki testów można łatwo udostępniać
Główne wady testowania automatyzacji aplikacji:
- Zautomatyzowane narzędzia do testów mobilnych mają pewne ograniczenia
- Czasochłonny proces
- Wysoki próg wejścia w automatyzację testów
- Często niezbędne są spore zmiany w podejściu całej organizacji
Najważniejsze etapy testowania aplikacji mobilnych

- Testowanie dokumentacji
Testowanie dokumentacji jest pierwszym, startowym etapem testowania aplikacji mobilnych. Ten etap poprzedza wszystkie inne właściwe etapy testowania aplikacji. Jest to etap, który znajduje się nawet przed etapami tworzenia aplikacji przez developerów. Testom, przeglądom, weryfikacją podlegają takie artefakty testowe jak: specyfikacja, plan testów, scenariusze testowe, przypadki testowe. Dokumenty sprawdzane są pod kątem poprawności, spójności, kompletności, logiki i szacowania.
2. Testy funkcjonalne
Testy funkcjonalne mają na celu weryfikację, czy aplikacji działa zgodnie z przyjętymi wymaganiami. Testowanie funkcjonalnie koncentruje się na weryfikacji tego, co robi program, na jego funkcjach, które ma za zadanie realizować.
Możemy w dużym uproszczeniu przyjąć trzy główne weryfikacje, jakie należy przeprowadzić w ramach testów funkcjonalnych na aplikacji mobilnej:
Instalowanie i uruchamianie aplikacji
Weryfikacja czy aplikacje można bez przeszkód pobrać na urządzenie, zainstalować oraz uruchomić na różnych konfiguracjach urządzeń mobilnych. Warto w tym miejscu również sprawdzić, czy aplikacja jest poprawnie opisana, czy dostępna jest instrukcja obsługi, instalacji, wymagań sprzętowych.
Testowanie pól i przycisków
Weryfikacja czy pola i przyciski działają poprawnie. Chodzi o to, by sprawdzić ich podstawowe funkcje, a więc klikanie, wpisywanie tekstu.
Testowanie funkcji biznesowych
Weryfikacja głównych, podstawowych funkcji biznesowych, takich jak: wyszukanie produktu, dodanie do koszyka, zamówienie, kanały płatności.
Testowanie przerw w dostępie do aplikacji
Przerwy działania aplikacji mogą wynikać z wielu sytuacji, które mogą zaistnieć na urządzeniu mobilnym:
- Połączenia przychodzące i wychodzące
- Wiadomości przychodzące i wychodzące
- Utrata dostępu do sieci
- Ładowanie urządzenia
Testowanie aktualizacji
Weryfikacje czy aktualizacje instalują się poprawnie, działają i są kompatybilne z różnymi wersjami systemów operacyjnych.
Testowanie zasobów urządzenia
Weryfikacje pod kątem zasobów urządzenia, np.:
- Brak miejsca na instalację
- Wycieki pamięci
- Ewentualne kolidacje z innymi zainstalowanymi aplikacjami
- Brak niektórych standardowych funkcji jak np. brak przedniej kamery
3. Testowanie użyteczności
Weryfikacja użyteczności aplikacji pod kątem wygody użytkowania przez użytkownika końcowego. Badane są tutaj przede wszystkim takie cechy aplikacji jak: intuicyjność korzystania, zadowolenie użytkownika, wydajność, skuteczność działania aplikacji.
- Weryfikacje, jakie na tym etapie testów są przeprowadzane w kontekście testów użyteczności to np.:
- Weryfikacja czy zastosowane w aplikacji czcionki są wyraziste, czytelne, o odpowiednim rozmiarze
- Weryfikacja nawigacji po aplikacji, czy jest intuicyjna, łatwo dostępna
- Weryfikacja szybkości reakcji na działania użytkownika, czy jest wystarczająco szybka, czy spełnia oczekiwania użytkownika
4. Testowanie interfejsu użytkownika
Weryfikacja interfejsu graficznego użytkownika (GUI), pod kątem tego, że spełnia wymagania końcowego użytkownika.
Przykłady testów:
- Weryfikacja GUI na różnych rozdzielczościach i wielkościach ekranu
- Weryfikacja responsywności aplikacji
- Weryfikacja orientacji poziomej i pionowej
5. Testowanie zgodności (konfiguracji)
Weryfikacja pod kątem poprawnego działania aplikacji na różnych urządzeniach, biorąc po uwagę różne konfiguracje sprzętowe, rozdzielczość ekranu, wersje systemu, konfigurację sieci, czy bazy danych itp.
6. Testowanie wydajności
Weryfikacje pod kątem poprawnego działania aplikacji w różnym stopniu obciążenia oraz wykorzystania zasobów sprzętowych. Wyróżniamy tutaj różne typy testów:
Testy wydajnościowe, obciążeniowe, przeciążeniowe, testy stabilności, testowanie współbieżności.
7. Testy bezpieczeństwa
Weryfikacja aplikacji pod kątem jej bezpieczeństwa. Weryfikacja potencjalnych ryzyk, luk, które mogą wpłynąć na nieuprawiony dostęp do aplikacji osób trzecich, czy też ataków celowych, np. wykonanych przez hakerów.
Przykłady testów, które możemy wykonać na tym etapie w ramach testów bezpieczeństwa:
- Weryfikacja czy hasła, loginy, dane wrażliwe np. numery kart kredytowych są poprawnie chronione, szyfrowane przed dostępem osób nieuprawnionych.
- Weryfikacja czy komunikacja krytyczna odbywa się poprzez chronione, zaszyfrowane protokoły komunikacyjne
- Weryfikacja uprawnień i ról użytkownika
- Weryfikacja bezpiecznego przechowywania informacji
- Weryfikacja mechanizmów zapobiegających atakom np. SQL injection czy DoS
8. Test regeneracji
Weryfikacja czy aplikacja jest w stanie przywrócić swoje prawidłowe działanie, po niepożądanych przerwach, awariach czy braku dostępności zasobów sprzętowych.
9. Testowanie lokalizacji
Weryfikacja adaptacji aplikacji pod kontem określone grupy docelowej
Przykłady weryfikacji:
- Weryfikacja różnych języków dostępnych z poziomu aplikacji
- Weryfikacja tłumaczeń na inne dostępne języki
- Weryfikacja formatu czasu i daty
0 komentarzy