Testowanie aplikacji mobilnych: przykładowe przypadki testowe i scenariusze testowe

⚡ Inteligentne podsumowanie

Testowanie aplikacji mobilnych obejmuje kontrolę funkcjonalności, wydajności, bezpieczeństwa, użyteczności, zgodności i możliwości odzyskiwania danych. Każdy typ testów generuje odrębny zestaw przykładowych scenariuszy testowych, które zespoły wykorzystują ponownie podczas walidacji nowej kompilacji.

  • 🔘 Najpierw funkcjonalność: Przede wszystkim potwierdź pola obowiązkowe, instalację, zachowanie podczas uruchamiania i zatrzymywania, płatności i nawigację.
  • ️ Przerwy mają znaczenie: Połączenia, wiadomości i ponowne uruchomienia muszą pozostawić aplikację w stanie umożliwiającym jej odzyskanie.
  • ✅ Ograniczenia wydajności: Pomiar czasu reakcji, zużycia baterii, wycieków pamięci i zachowania podczas przełączania sieci.
  • 🧪 Głębokość bezpieczeństwa: Obejmują uwierzytelnianie, wygasanie sesji, przypinanie certyfikatów, ataki typu injection i niezabezpieczone przechowywanie lokalne.
  • 🛠️. Zasady użyteczności: Dotykowe cele, spójne ikony, czytelny tekst i wyraźna ścieżka cofania decydują o tym, czy aplikacja jest szybka.
  • 📊 Zasięg urządzenia: Rozmiar ekranu, rozdzielczość i wersja systemu operacyjnego mają wpływ na wynik, dlatego zgodność dotyczy całej matrycy urządzeń.

Testowanie aplikacji mobilnych – przykładowe przypadki testowe i scenariusze testowe

Nasi kursanci często pytają, jak testować aplikacje mobilne. Poniżej znajdują się przykładowe scenariusze testowe i przypadki testowe dla aplikacji mobilnej.

Możesz wykonać niektóre lub wszystkie z tych przypadków testowych w zależności od swoich potrzeb. testy mobilne Wymagania. Przypadki są uporządkowane według typu testów mobilnych.

Testy funkcjonalne aplikacji mobilnej

Testowanie funkcjonalne aplikacji mobilnej to proces testowania jej funkcjonalności, w tym interakcji z użytkownikiem i transakcji, które może on wykonywać. Jego celem jest zapewnienie jakości, spełnienie określonych oczekiwań, ograniczenie ryzyka błędów i utrzymanie zadowolenia klientów.

Różne czynniki mające znaczenie w testowaniu funkcjonalnym to:

  1. Typ aplikacji w zależności od zastosowań funkcjonalności biznesowej (bankowość, gry, społecznościowe lub biznesowe)
  2. Target typ odbiorców (konsumenci, przedsiębiorstwa, edukacja)
  3. Kanał dystrybucji, który służy do rozpowszechniania aplikacji (np. Apple App Store, Google Gra, dystrybucja bezpośrednia)

Jak pokazuje diagram, czynniki te decydują o głębokości każdego z poniższych obszarów.

Testowanie funkcjonalne aplikacji mobilnej obejmujące interakcje i transakcje użytkowników

Najbardziej podstawowe scenariusze testowe w testowaniu funkcjonalnym można rozpatrywać jako:

  1. Aby sprawdzić, czy wszystkie wymagane pola obowiązkowe działają zgodnie z wymaganiami.
  2. Aby sprawdzić, czy pola obowiązkowe są wyświetlane na ekranie w sposób odróżniający się od pól nieobowiązkowych.
  3. Aby sprawdzić, czy aplikacja działa zgodnie z wymaganiami przy każdym uruchomieniu lub zatrzymaniu.
  4. Aby sprawdzić, czy aplikacja przechodzi w tryb minimalizacji przy każdym połączeniu przychodzącym. Aby to sprawdzić, należy zadzwonić na urządzenie z drugiego telefonu. To jest sedno testowanie przerwań.
  5. Aby sprawdzić, czy telefon może przechowywać, przetwarzać i odbierać SMS-y, gdy aplikacja jest uruchomiona. Aby to sprawdzić, użyj drugiego telefonu do wysłania SMS-a na testowane urządzenie, na którym aktualnie działa testowana aplikacja.
  6. Aby sprawdzić, czy urządzenie jest w stanie wykonywać wymaganą wielozadaniowość zawsze, gdy jest to konieczne.
  7. Aby sprawdzić, czy aplikacja umożliwia korzystanie z niezbędnych funkcji społecznościowych, takich jak udostępnianie, publikowanie i nawigacja.
  8. Aby sprawdzić, czy aplikacja obsługuje transakcje za pośrednictwem bramki płatniczej takiej jak Visa, Mastercard lub PayPal, zgodnie z wymaganiami aplikacji.
  9. Aby sprawdzić, czy scenariusze przewijania stron są włączone w aplikacji, gdy jest to konieczne.
  10. Aby sprawdzić, czy nawigacja pomiędzy odpowiednimi modułami w aplikacji jest zgodna z wymaganiami.
  11. Aby sprawdzić, czy błędy obcinania utrzymują się na rozsądnym poziomie.
  12. Aby sprawdzić, czy użytkownik otrzyma odpowiedni komunikat o błędzie, taki jak „Błąd sieciowy. Spróbuj ponownie później”, za każdym razem, gdy wystąpi błąd sieciowy.
  13. Aby sprawdzić, czy zainstalowana aplikacja umożliwia innym aplikacjom prawidłowe działanie i nie powoduje nadmiernego wykorzystania ich pamięci.
  14. Aby sprawdzić, czy aplikacja wznowi działanie od ostatniej operacji w przypadku twardego restartu lub awarii systemu.
  15. Aby sprawdzić, czy instalacja aplikacji może przebiegać bezproblemowo, pod warunkiem, że użytkownik ma niezbędne zasoby, i czy nie spowoduje to żadnych poważnych błędów.
  16. Aby sprawdzić, czy aplikacja uruchamia się automatycznie zgodnie z wymaganiami.
  17. Aby sprawdzić, czy aplikacja działa zgodnie z wymaganiami we wszystkich generacjach sieci komórkowych, tj. 3G, 4G i 5G.
  18. Występować Testy regresji Aby wykryć nowe błędy oprogramowania w istniejących obszarach systemu po wprowadzeniu w nich zmian. Należy również ponownie uruchomić wcześniej przeprowadzone testy, aby upewnić się, że zachowanie programu nie uległo zmianie w wyniku wprowadzonych zmian.
  19. Aby sprawdzić, czy aplikacja udostępnia podręcznik użytkownika osobom, które nie znają aplikacji

Przypadki testowe do testowania wydajności

Gdy funkcje działają prawidłowo, pojawia się pytanie, czy wytrzymają obciążenie.

Podstawowym celem tego typu testów jest sprawdzenie, czy aplikacja działa akceptowalnie przy spełnieniu określonych wymagań wydajnościowych, na przykład przy dostępie dużej liczby użytkowników lub usunięciu kluczowej części infrastruktury, np. serwera bazy danych.

Ogólne scenariusze testowe dla test wydajności w aplikacji mobilnej są to:

  1. Aby określić, czy aplikacja działa zgodnie z wymaganiami w różnych warunkach obciążenia.
  2. 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.
  3. Aby określić, czy istniejąca konfiguracja klient-serwer zapewnia wymagany optymalny poziom wydajności.
  4. Aby zidentyfikować różnego rodzaju wąskie gardła w aplikacjach i infrastrukturze, które uniemożliwiają działanie aplikacji na wymaganym poziomie akceptowalności.
  5. Aby sprawdzić, czy czas reakcji aplikacji jest zgodny z wymaganiami.
  6. Ocena produktu i/lub sprzętu w celu ustalenia, czy wytrzyma przewidywaną wielkość obciążenia.
  7. Aby ocenić, czy żywotność baterii pozwoli na obsługę aplikacji przy przewidywanym obciążeniu.
  8. Aby sprawdzić wydajność aplikacji po zmianie sieci z 4G/5G na Wi-Fi i odwrotnie.
  9. Aby sprawdzić, czy każdy z wymaganych cykli procesora jest zoptymalizowany.
  10. Aby sprawdzić, czy zużycie baterii, wycieki pamięci i zasoby, takie jak GPS i wydajność aparatu, mieszczą się w wymaganych normach.
  11. Aby sprawdzić trwałość aplikacji, gdy obciążenie użytkownika jest rygorystyczne.
  12. Aby sprawdzić wydajność sieci podczas poruszania się z urządzeniem.
  13. Aby sprawdzić wydajność aplikacji, gdy dostępne są jedynie okresowe fazy łączności.

Przypadki testowe do testowania bezpieczeństwa

Wydajność i bezpieczeństwo zachodzą na siebie: atakujący odczytuje najpierw dane z lokalnej pamięci masowej, które przyspieszają działanie aplikacji.

Testy bezpieczeństwa sprawdzają bezpieczeństwo aplikacji mobilnych, obejmujące ochronę danych, pamięci masowej i sieci.

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 przedstawiamy najważniejsze obszary sprawdzania bezpieczeństwa aplikacji mobilnych.

  1. Aby sprawdzić, czy aplikacja jest w stanie wytrzymać atak siłowy, czyli zautomatyzowany proces prób i błędów mający na celu odgadnięcie nazwy użytkownika, hasła lub numeru karty kredytowej danej osoby.
  2. Aby sprawdzić, czy aplikacja nie pozwala atakującemu na dostęp do poufnych treści lub funkcjonalności bez odpowiedniego uwierzytelnienia.
  3. Aby sprawdzić, czy aplikacja ma silny system ochrony haseł i czy nie pozwala atakującemu na uzyskanie, zmianę lub odzyskanie hasła innego użytkownika.
  4. Aby sprawdzić, czy aplikacja nie cierpi z powodu niewystarczającego wygaśnięcia sesji.
  5. Aby zidentyfikować zależności dynamiczne i podjąć działania uniemożliwiające atakującym dostęp do tych luk.
  6. Aby zapobiec SQL ataki związane z wtryskiem.
  7. Aby zidentyfikować i odzyskać dane ze scenariuszy kodu niezarządzanego.
  8. Aby upewnić się, że certyfikaty są zweryfikowane i sprawdzić, czy aplikacja implementuje przypinanie certyfikatów.
  9. Aby chronić aplikację i sieć przed atakami typu „odmowa usługi”.
  10. Aby przeanalizować wymagania dotyczące przechowywania i sprawdzania danych.
  11. Aby umożliwić zarządzanie sesjami i zapobiec dostępowi nieautoryzowanych użytkowników do niechcianych informacji.
  12. Aby sprawdzić, czy jakiś kod kryptograficzny nie jest uszkodzony i upewnić się, że zostanie naprawiony.
  13. Aby sprawdzić, czy implementacja logiki biznesowej jest bezpieczna i nie jest podatna na ataki z zewnątrz.
  14. Aby przeanalizować interakcje z systemem plików, znajdź luki w zabezpieczeniach i napraw te problemy.
  15. Aby sprawdzić poprawność obsługi protokołu, na przykład próbując zmienić konfigurację domyślnej strony docelowej aplikacji przy użyciu złośliwej ramki iframe.
  16. Aby chronić przed złośliwymi zastrzykami po stronie klienta.
  17. Aby chronić przed złośliwymi zastrzykami środowiska wykonawczego.
  18. Aby zbadać buforowanie plików i zapobiec wszelkim złośliwym możliwościom z tego powodu.
  19. Aby zapobiec niebezpiecznemu przechowywaniu danych w pamięci podręcznej klawiatury aplikacji.
  20. Aby zbadać pliki cookie i zapobiec wszelkim szkodliwym działaniom z ich wykorzystaniem.
  21. Aby zapewnić regularne audyty analizy ochrony danych.
  22. Aby zbadać pliki utworzone przez użytkownika i zapobiec wszelkim szkodliwym działaniom wynikającym z ich użycia.
  23. Aby zapobiec przepełnieniom bufora i uszkodzeniom pamięci.
  24. Aby analizować różne strumienie danych i zapobiegać powstawaniu luk w zabezpieczeniach.

Przypadki testowe do testowania użyteczności

Bezpieczna aplikacja, której nikt nie potrafi obsługiwać, i tak zawodzi, dlatego użyteczność idzie w parze z kontrolami technicznymi.

Testy użyteczności sprawdzają elementy dotykowe, ikony i czytelny tekst w aplikacji mobilnej

Proces testowania użyteczności aplikacji mobilnej ma na celu stworzenie szybkiej i prostej aplikacji z mniejszą liczbą funkcji, a nie powolnej i skomplikowanej aplikacji z wieloma funkcjami. Głównym celem jest stworzenie łatwego w obsłudze, intuicyjnego interfejsu, podobnego do powszechnie stosowanych w branży interfejsów.

  1. Zadbajmy o to, aby przyciski miały odpowiedni rozmiar i były dostosowane do dużych palców.
  2. Aby nie wprowadzać użytkowników końcowych w błąd, należy zadbać o to, aby przyciski znajdowały się w tej samej sekcji ekranu.
  3. Dbamy o to, aby ikony były naturalne i spójne z aplikacją.
  4. Aby zapewnić, że przyciski o tej samej funkcji mają także ten sam kolor.
  5. Aby zapewnić walidację kranuping funkcja powiększania i pomniejszania jest włączona.
  6. Aby zapewnić minimalizację wprowadzania danych z klawiatury w odpowiedni sposób.
  7. Aby upewnić się, że aplikacja zapewnia metodę cofania lub cofania akcji po dotknięciu niewłaściwego elementu w akceptowalnym czasie.
  8. Aby mieć pewność, że menu kontekstowe nie będą przeciążone, ponieważ trzeba z nich szybko korzystać.
  9. Aby zapewnić, że tekst jest prosty i zrozumiały, tak aby był widoczny dla użytkowników.
  10. Aby zapewnić, że krótkie zdania i akapity będą czytelne dla użytkowników końcowych.
  11. Aby zapewnić, że rozmiar czcionki jest wystarczająco duży, by była czytelna, i nie za duży, ani nie za mały.
  12. Aby sprawdzić, czy aplikacja wyświetla użytkownikowi monit za każdym razem, gdy ten rozpoczyna pobieranie dużej ilości danych, co może nie mieć wpływu na wydajność aplikacji.
  13. Aby sprawdzić, czy zamknięcie aplikacji odbywa się w różnych stanach i sprawdzić, czy otwiera się ona ponownie w tym samym stanie.
  14. Aby mieć pewność, że wszystkie ciągi znaków zostaną przekonwertowane na odpowiednie języki, gdy tylko dostępna będzie usługa tłumaczenia.
  15. Aby zapewnić, że elementy aplikacji będą zawsze zsynchronizowane zgodnie z działaniami użytkownika.
  16. Aby zapewnić użytkownikowi końcowemu instrukcję obsługi, która pomoże mu zrozumieć i obsługiwać aplikację, w przypadku gdy nie zna sposobu jej działania

Testy użyteczności są zazwyczaj przeprowadzane ręcznie przez użytkowników, ponieważ tylko ludzie są w stanie ocenić wrażliwość i wygodę innych użytkowników.

Przypadki testowe do testowania zgodności

Ta sama kompilacja musi zachowywać się identycznie na sprzęcie, którego zespół nigdy nie miał w posiadaniu.

Testowanie zgodności na urządzeniach mobilnych odbywa się, ponieważ urządzenia mobilne różnią się rozmiarem, rozdzielczością, ekranami, wersjami i sprzętem, więc 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.

  1. Aby sprawdzić, czy interfejs użytkownika aplikacji jest dostosowany do rozmiaru ekranu urządzenia i czy żaden tekst lub element sterujący nie jest częściowo niewidoczny lub niedostępny.
  2. Aby zapewnić czytelność tekstu dla wszystkich użytkowników aplikacji.
  3. Aby zapewnić włączenie funkcji połączeń i alarmów zawsze, gdy aplikacja jest uruchomiona. Aplikacja jest minimalizowana lub zawieszana w przypadku połączenia, a po jego zakończeniu jest wznawiana.

Przypadki testowe do testowania odtwarzalności

Testowanie odzyskiwalności obejmuje odzyskiwanie danych po awarii i przerwaniu transakcji — co robi aplikacja, gdy urządzenie, bateria lub połączenie zawiedzie w trakcie transakcji.

  1. Weryfikacja skuteczności odzyskiwania aplikacji po nieoczekiwanym przerwaniu działania lub awarii.
  2. Weryfikacja sposobu, w jaki aplikacja obsługuje transakcję podczas awarii zasilania (czyli gdy bateria się wyczerpie lub urządzenie zostanie wyłączone ręcznie).
  3. Walidacja procesu, w którym połączenie zostało zawieszone, a system musi je ponownie nawiązać, aby odzyskać dane bezpośrednio dotknięte zawieszonym połączeniem. Korzystanie z odpowiedniego narzędzia do testowania urządzeń mobilnych pomaga zapewnić bezproblemowy proces odzyskiwania.

Ważna lista kontrolna testowania aplikacji mobilnych

Istnieje kilka kontroli, które dotyczą każdej z powyższych kategorii i o których łatwo zapomnieć.

  1. Testowanie instalacji (czy aplikację można zainstalować w rozsądnym czasie i przy zachowaniu wymaganych kryteriów)
  2. Testowanie dezinstalacji (czy aplikację można odinstalować w rozsądnym czasie i przy zachowaniu wymaganych kryteriów)
  3. Przypadki testowe sieci (weryfikacja, czy sieć działa pod wymaganym obciążeniem i czy jest w stanie obsłużyć wszystkie niezbędne aplikacje podczas procedur testowych)
  4. Sprawdź niezmapowane klawisze
  5. Sprawdź ekran powitalny aplikacji
  6. Kontynuacja wprowadzania danych z klawiatury podczas przerw i w innych sytuacjach, np. w przypadku problemów z siecią
  7. Metody zajmujące się wychodzeniem z aplikacji
  8. Efekt ładowarki, gdy aplikacja działa w tle
  9. Niski poziom naładowania baterii i wysokie wymagania dotyczące wydajności
  10. Wyjmowanie baterii podczas działania aplikacji
  11. Zużycie baterii przez aplikację
  12. Sprawdź skutki uboczne aplikacji

FAQ

Scenariusz określa, co należy zweryfikować, w jednym wierszu, na przykład „weryfikacja logowania”. Przypadek testowy dzieli ten scenariusz na kroki, dane i oczekiwany wynik. Jeden scenariusz zazwyczaj generuje kilka przypadków.

Uruchom ekran za pomocą TalkBack lub VoiceOver, zwiększ czcionkę systemową do najwyższego ustawienia, sprawdź kontrast kolorów i upewnij się, że każdy element sterujący ma etykietę. Włącz tryb ciemny w tym samym momencie.

Zmień ustawienia regionalne urządzenia i sprawdź przetłumaczone ciągi znaków, formaty daty, godziny, liczb i walut, układy od prawej do lewej, tekst, który po przetłumaczeniu wylewa się poza ramkę, a także dane wprowadzane z klawiatury w języku docelowym.

Wyzwalaj każde powiadomienie, gdy aplikacja jest na pierwszym planie, w tle i całkowicie zamknięta. Upewnij się, że ładunek zostanie wyrenderowany, głęboki link otworzy odpowiedni ekran, a dostarczanie będzie działać w trybie oszczędzania baterii.

Modele odczytują wymagania, historie użytkownika lub nagraną sesję i tworzą projekty przypadków wraz z krokami i oczekiwanymi rezultatami. Wynikiem jest pierwszy szkic, który tester musi poprawić i zatwierdzić.

Tak. Tworzy szkice obiektów stron, Appium lokalizatory i bloki asercji z krótkiego komentarza opisującego ekran. RevPrzejrzyj każdą sugestię, ponieważ wygenerowane lokalizatory często odwołują się do elementów, które nie istnieją.

Używaj emulatorów do wczesnych testów funkcjonalnych, ponieważ są tanie i szybkie. Przenieś baterię, kamerę, czujnik, przełączanie sieci i przypadki przerwań na prawdziwy sprzęt, ponieważ emulator nie jest w stanie wiernie odtworzyć tych warunków.

Sprawdź rejestrację, pomyślne dopasowanie, niepowodzenie dopasowania i powrót do hasła awaryjnego. W przypadku uprawnień przetestuj przyznanie, odmowę, a następnie cofnij w ustawieniach systemu i potwierdź, że aplikacja działa prawidłowo.

Podsumuj ten post następująco: