Testowanie aplikacji mobilnych: przykładowe przypadki testowe i scenariusze testowe
Częstym pytaniem naszych uczniów jest: Jak testować aplikacje mobilne? W tym samouczku przedstawiamy przykładowe scenariusze testowe/przypadki testowe do testowania aplikacji mobilnej.
Możesz wykonać niektóre lub wszystkie przypadki testowe w oparciu o wymagania dotyczące testów mobilnych. Przypadki testowe są zorganizowane w oparciu o typy testów mobilnych.
Testy funkcjonalne aplikacji mobilnej
Testy funkcjonalne aplikacji mobilnej to proces testowania funkcjonalności aplikacji mobilnych, takich jak interakcje z użytkownikami, a także testowanie transakcji, które użytkownicy mogą wykonywać. Głównym celem testów funkcjonalnych aplikacji mobilnych jest zapewnienie jakości, spełnienia określonych oczekiwań, ograniczenie ryzyka lub błędów oraz zadowolenie klienta.
Różne czynniki istotne w testowaniu funkcjonalnym to:
- Typ aplikacji w zależności od zastosowań funkcjonalności biznesowej (bankowość, gry, społecznościowe lub biznesowe)
- Target typ odbiorców (konsumenci, przedsiębiorstwa, edukacja)
- Kanał dystrybucji używany do rozpowszechniania aplikacji (np. Apple App Store, Google Play, dystrybucja bezpośrednia)
Najbardziej podstawowe scenariusze testowe w testach funkcjonalnych można uznać za:
- Aby sprawdzić, czy wszystkie wymagane pola obowiązkowe działają zgodnie z wymaganiami.
- Aby sprawdzić, czy pola obowiązkowe są wyświetlane na ekranie w inny sposób niż pola nieobowiązkowe.
- Aby sprawdzić, czy aplikacja działa zgodnie z wymaganiami przy każdym uruchomieniu/zatrzymaniu aplikacji.
- Aby sprawdzić, czy aplikacja przechodzi w tryb zminimalizowany po każdym przychodzącym połączeniu telefonicznym. Aby to sprawdzić, musimy użyć drugiego telefonu, aby zadzwonić na urządzenie.
- Aby sprawdzić, czy telefon może przechowywać, przetwarzać i odbierać SMS-y, gdy aplikacja jest uruchomiona. Aby to sprawdzić, musimy użyć drugiego telefonu i wysłać SMS na urządzenie, które jest testowane i na którym aktualnie działa testowana aplikacja.
- Aby sprawdzić, czy urządzenie jest w stanie spełnić wymagane wymagania dotyczące wielozadaniowości, ilekroć jest to konieczne.
- Aby sprawdzić, czy aplikacja udostępnia niezbędne opcje sieci społecznościowych, takie jak udostępnianie, publikowanie i nawigacja itp.
- Aby sprawdzić, czy aplikacja obsługuje dowolną transakcję za pośrednictwem bramki płatniczej, taką jak Visa, Mastercard, Paypal itp., zgodnie z wymaganiami aplikacji.
- Aby sprawdzić, czy scenariusze przewijania strony są włączone w aplikacji, jeśli to konieczne.
- Aby sprawdzić, czy nawigacja pomiędzy odpowiednimi modułami w aplikacji jest zgodna z wymaganiami.
- Aby sprawdzić, czy błędy obcięcia osiągnęły absolutnie akceptowalny limit.
- Aby sprawdzić, czy użytkownik otrzymuje odpowiedni komunikat o błędzie, np. „Błąd sieci. Spróbuj za jakiś czas” za każdym razem, gdy wystąpi błąd sieci.
- Aby sprawdzić, czy zainstalowana aplikacja umożliwia zadowalające działanie innych aplikacji i nie zajmuje pamięci innych aplikacji.
- Aby sprawdzić, czy aplikacja wznowi działanie od ostatniej operacji w przypadku twardego restartu lub awarii systemu.
- Aby sprawdzić, czy instalacja aplikacji może przebiegać sprawnie pod warunkiem posiadania przez użytkownika niezbędnych zasobów i nie powoduje ona żadnych istotnych błędów.
- Aby sprawdzić, czy aplikacja wykonuje funkcję automatycznego uruchamiania zgodnie z wymaganiami.
- Aby sprawdzić, czy aplikacja działa zgodnie z wymaganiami we wszystkich wersjach Mobile, czyli 2g, 3g i 4g.
- Występować Testy regresji odkrywanie nowych błędów oprogramowania w istniejących obszarach systemu po wprowadzeniu w nich zmian. Uruchom ponownie wcześniej wykonane testy, aby ustalić, czy zachowanie programu nie uległo zmianie w wyniku zmian.
- Aby sprawdzić, czy aplikacja udostępnia podręcznik użytkownika dla osób, które nie znają aplikacji
Przypadki testowe do testowania wydajności
Podstawowym celem tego typu testów jest zapewnienie akceptowalnego działania aplikacji przy określonych wymaganiach wydajnościowych, takich jak dostęp dużej liczby użytkowników lub usunięcie kluczowej części infrastruktury, takiej jak serwer bazy danych.
Ogólne scenariusze testowe dla testów wydajnościowych w aplikacji mobilnej to:
- Aby określić, czy aplikacja działa zgodnie z wymaganiami w różnych warunkach obciążenia.
- Aby określić, czy bieżący zasięg sieci jest w stanie obsłużyć aplikację przy szczytowym, średnim i minimalnym poziomie użytkowników.
- Aby określić, czy istniejąca konfiguracja klient-serwer zapewnia wymagany optymalny poziom wydajności.
- Identyfikacja różnych wąskich gardeł aplikacji i infrastruktury, które uniemożliwiają działanie aplikacji na wymaganym poziomie akceptowalności.
- Aby sprawdzić, czy czas reakcji aplikacji jest zgodny z wymaganiami.
- Ocena produktu i/lub sprzętu w celu ustalenia, czy wytrzyma przewidywaną wielkość obciążenia.
- Aby ocenić, czy żywotność baterii pozwoli aplikacji działać przy przewidywanym obciążeniu.
- Aby sprawdzić wydajność aplikacji po zmianie sieci na WIFI z 2G/3G i odwrotnie.
- Aby sprawdzić każdy z wymaganych cykli procesora, przeprowadzana jest optymalizacja
- Aby sprawdzić, czy zużycie baterii, wycieki pamięci, zasoby takie jak GPS i wydajność aparatu mieszczą się w wymaganych wytycznych.
- Aby sprawdzić trwałość aplikacji, gdy obciążenie użytkownika jest rygorystyczne.
- Aby sprawdzić wydajność sieci podczas poruszania się z urządzeniem.
- Aby sprawdzić wydajność aplikacji, gdy wymagane są tylko sporadyczne fazy łączności.
Przypadki testowe do testowania bezpieczeństwa
Podstawowym celem testów bezpieczeństwa jest zapewnienie, że wymagania aplikacji dotyczące bezpieczeństwa danych i sieci są spełnione zgodnie z wytycznymi.
Poniżej przedstawiono najważniejsze obszary sprawdzania bezpieczeństwa aplikacji mobilnych.
- Aby sprawdzić, czy aplikacja jest w stanie wytrzymać każdy atak siłowy, który jest zautomatyzowanym procesem prób i błędów używanym do odgadnięcia nazwy użytkownika, hasła lub numeru karty kredytowej danej osoby.
- Aby sprawdzić, czy aplikacja nie pozwala atakującemu na dostęp do poufnych treści lub funkcji bez odpowiedniego uwierzytelnienia.
- Aby sprawdzić, czy aplikacja ma silny system ochrony hasłem i czy nie pozwala atakującemu na uzyskanie, zmianę lub odzyskanie hasła innego użytkownika.
- Aby sprawdzić, czy aplikacja nie cierpi z powodu niewystarczającego wygaśnięcia sesji.
- Aby zidentyfikować zależności dynamiczne i podjąć środki uniemożliwiające osobie atakującej dostęp do tych luk.
- Aby zapobiec SQL ataki związane z wtryskiem.
- Aby zidentyfikować i odzyskać dane ze scenariuszy kodu niezarządzanego.
- Czy aplikacja implementuje przypinanie certyfikatów, czy nie, aby upewnić się, czy certyfikaty zostały zweryfikowane.
- Aby chronić aplikację i sieć przed atakami typu „odmowa usługi”.
- Aby przeanalizować wymagania dotyczące przechowywania i sprawdzania danych.
- Aby umożliwić zarządzanie sesją w celu zapobiegania nieautoryzowanym użytkownikom dostępu do niechcianych informacji.
- Aby sprawdzić, czy jakiś kod kryptograficzny nie jest uszkodzony i upewnić się, że zostanie naprawiony.
- Aby sprawdzić, czy implementacja logiki biznesowej jest zabezpieczona i nie jest podatna na ataki z zewnątrz.
- Aby przeanalizować interakcje z systemem plików, znajdź luki w zabezpieczeniach i napraw te problemy.
- Aby sprawdzić procedury obsługi protokołów, na przykład próbując ponownie skonfigurować domyślną stronę docelową aplikacji przy użyciu złośliwej ramki iframe.
- Aby chronić przed złośliwymi zastrzykami po stronie klienta.
- Aby chronić przed złośliwymi zastrzykami środowiska wykonawczego.
- Aby zbadać buforowanie plików i zapobiec wszelkim złośliwym możliwościom z tego powodu.
- Aby zapobiec niebezpiecznemu przechowywaniu danych w pamięci podręcznej klawiatury aplikacji.
- Aby zbadać pliki cookie i zapobiec wszelkim złośliwym działaniom związanym z plikami cookie.
- Aby zapewnić regularne audyty analizy ochrony danych.
- Zbadaj niestandardowe pliki i zapobiegaj wszelkim złośliwym działaniom wynikającym z niestandardowych plików.
- Aby zapobiec przepełnieniom bufora i uszkodzeniom pamięci.
- Aby analizować różne strumienie danych i zapobiegać związanym z nimi lukom w zabezpieczeniach.
Przypadki testowe do testowania użyteczności
Proces testowania użyteczności aplikacji mobilnej ma na celu uzyskanie szybkiej i łatwej aplikacji krokowej z mniejszą funkcjonalnością niż powolna i trudna aplikacja z wieloma funkcjami. Głównym celem jest zapewnienie, że otrzymamy łatwy w obsłudze, intuicyjny i podobny do powszechnie stosowanych w branży interfejsów.
- Dbamy o to, aby guziki miały wymagany rozmiar i były odpowiednie dla dużych palców.
- Aby upewnić się, że przyciski są umieszczone w tej samej części ekranu, aby uniknąć zamieszania dla użytkowników końcowych.
- Dbamy o to, aby ikony były naturalne i spójne z aplikacją.
- Aby mieć pewność, że przyciski posiadające tę samą funkcję powinny mieć ten sam kolor.
- Aby zapewnić walidację kranuping należy włączyć funkcje powiększania i pomniejszania.
- Aby zapewnić minimalizację wprowadzania danych z klawiatury w odpowiedni sposób.
- Aby upewnić się, że aplikacja zapewnia metodę cofania lub cofania akcji po dotknięciu niewłaściwego elementu w akceptowalnym czasie.
- Aby mieć pewność, że menu kontekstowe nie zostaną przeciążone, ponieważ trzeba z nich szybko korzystać.
- Zapewnienie, że tekst jest prosty i przejrzysty, aby był widoczny dla użytkowników.
- Aby zapewnić, że krótkie zdania i akapity będą czytelne dla użytkowników końcowych.
- Aby zapewnić, że rozmiar czcionki jest wystarczająco duży, by była czytelna, i nie za duży, ani nie za mały.
- Aby sprawdzić poprawność aplikacji, użytkownik jest monitowany za każdym razem, gdy użytkownik rozpoczyna pobieranie dużej ilości danych, co może nie sprzyjać wydajności aplikacji.
- Aby sprawdzić, czy zamknięcie aplikacji odbywa się z różnych stanów i sprawdzić, czy ponownie otwiera się w tym samym stanie.
- Aby mieć pewność, że wszystkie ciągi znaków zostaną przekonwertowane na odpowiednie języki, gdy tylko dostępna będzie funkcja tłumaczenia językowego.
- Aby zapewnić, że elementy aplikacji będą zawsze zsynchronizowane zgodnie z działaniami użytkownika.
- Aby zapewnić użytkownikowi końcowemu instrukcję obsługi, która pomoże mu zrozumieć i obsługiwać aplikację, nawet jeśli nie jest zaznajomiony z jej procedurami.
Testowanie użyteczności jest zwykle przeprowadzane przez użytkowników manualnych, ponieważ tylko ludzie są w stanie zrozumieć wrażliwość i komfort innych użytkowników.
Przypadki testowe do testowania zgodności
Testy kompatybilności na urządzeniach mobilnych przeprowadza się, aby upewnić się, że skoro urządzenia mobilne mają różny rozmiar, rozdzielczość, ekran, wersję i sprzęt, dlatego aplikacja powinna zostać przetestowana na wszystkich urządzeniach, aby upewnić się, że działa zgodnie z oczekiwaniami.
Poniżej przedstawiono najważniejsze obszary testowania zgodności.
- Aby sprawdzić, czy interfejs użytkownika aplikacji jest zgodny z rozmiarem ekranu urządzenia, żaden tekst/kontrolka nie jest częściowo niewidoczna lub niedostępna.
- Aby zapewnić, że tekst będzie czytelny dla wszystkich użytkowników aplikacji.
- Aby mieć pewność, że funkcja połączeń/alarmu jest włączona za każdym razem, gdy aplikacja jest uruchomiona. Aplikacja jest minimalizowana lub zawieszana w przypadku połączenia, a następnie po każdym zakończeniu połączenia aplikacja jest wznawiana.
Przypadki testowe do testowania odtwarzalności
- Odzyskiwanie po awarii i przerwy w transakcjach
- Weryfikacja skutecznej sytuacji odzyskiwania aplikacji po nieoczekiwanych scenariuszach zakłóceń/awarii.
- Weryfikacja jak aplikacja radzi sobie z transakcją w przypadku braku prądu (np. wyczerpanie baterii lub nagłe ręczne wyłączenie urządzenia)
- Walidacja procesu, w przypadku gdy połączenie zostaje zawieszone, system musi zostać ponownie ustanowiony w celu odzyskania danych, na które bezpośrednio wpływa zawieszone połączenie. Korzystanie z prawa narzędzia do testowania urządzeń mobilnych może pomóc zapewnić bezproblemowy proces odzyskiwania.
Ważna lista kontrolna
- Testy instalacji (czy aplikację można zainstalować w rozsądnym czasie i przy spełnieniu wymaganych kryteriów)
- Testy deinstalacyjne (czy aplikację da się odinstalować w rozsądnym czasie i przy spełnieniu wymaganych kryteriów)
- Przypadki testowe sieci (weryfikacja, czy sieć działa pod wymaganym obciążeniem, czy nie, czy sieć jest w stanie obsłużyć wszystkie niezbędne aplikacje podczas procedur testowych)
- Sprawdź Niezmapowane klucze
- Sprawdź ekran powitalny aplikacji
- Ciągłe wprowadzanie klawiatury podczas przerwań i innych sytuacji, takich jak problemy z siecią
- Metody zajmujące się wychodzeniem z aplikacji
- Efekt ładowarki, gdy aplikacja działa w tle
- Niski poziom naładowania baterii i wysokie wymagania dotyczące wydajności
- Wyjmowanie baterii podczas wykonywania aplikacji
- Zużycie baterii według aplikacji
- Sprawdź skutki uboczne aplikacji



