Chcesz wiedzieć więcej o tym, jak testować aplikację mobilną? Tutaj znajdziesz samouczek testowania mobilnego swojej aplikacji. Strategia testowania mobilnego, główne etapy procesu testowania mobilnego, specyfika testowania aplikacji mobilnych Android i iOS będą rozpatrywane w tym artykule.

Gwałtowny wzrost urządzeń mobilnych wykorzystujących i rozwój aplikacji mobilnych sprawia, że testowanie jest kluczowym wymogiem dla pomyślnego i szybkiego dostarczania wysokiej jakości aplikacji mobilnych.

Szczegóły aplikacji mobilnych

Jasne jest, że aplikacja mobilna bardzo różni się od desktopowej. Tak więc, powinniśmy wziąć to pod uwagę podczas planowania procesu testowania.

Zastanówmy się więc nad głównymi różnicami pomiędzy aplikacjami mobilnymi a desktopowymi:

  • Urządzenie mobilne jest systemem, który nie posiada potężnego upakowania. Nie może więc pracować jako komputer osobisty.
  • Testowanie aplikacji mobilnych odbywa się na telefonach (Apple, Samsung, Nokia, itp.), podczas gdy aplikacja desktopowa jest testowana na procesorze centralnym.
  • Różnorodność ekranów urządzeń mobilnych, ich rozszerzenia i kolory. Rozmiar ekranu telefonu komórkowego jest mniejszy niż desktopowego.
  • Wykonywanie i odbieranie połączeń jest głównym zadaniem telefonu, dlatego aplikacja nie powinna zakłócać tej głównej funkcji.
  • Szeroka gama specyficznych systemów operacyjnych i konfiguracji komponentów: Android, iOS, BlackBerry
    etc.
  • System operacyjny telefonu komórkowego szybko staje się przestarzały. Dodatkowo, istnieje limit aktualizacji ich OS.
  • Urządzenia mobilne korzystają z połączeń sieciowych (3G, 4G, Wi-Fi), stacjonarne korzystają z połączenia szerokopasmowego lub Wi-Fi.
  • Urządzenia mobilne nieustannie przeszukują sieć. Dlatego należy testować aplikację przy różnych prędkościach transmisji danych.
  • Narzędzia, które są dobre do testowania aplikacji desktopowych, nie są w pełni odpowiednie do testowania aplikacji mobilnych.
  • Aplikacje mobilne muszą obsługiwać wiele kanałów wejściowych (klawiatura, głos, gesty, itp.), technologie multimedialne i inne funkcje.), technologie multimedialne i inne cechy zwiększające ich użyteczność.

Kolejną ważną rzeczą w procesie testowania aplikacji mobilnych jest typ aplikacji.

Dzielą się trzy główne typy aplikacji mobilnych: Mobile Web Apps, Native (Pure native) Apps oraz Hybrid Apps.

Mobile Web Application, w rzeczywistości jest to strona internetowa otwierana w gadżecie (smartfonie lub tablecie) za pomocą przeglądarki mobilnej.

Kilka zalet Mobile Web Apps:

  • Łatwy rozwój.
  • Łatwy dostęp.
  • Łatwa aktualizacja.
  • Mobilna aplikacja webowa nie wymaga instalacji.

Niektóre wady mobilnych aplikacji webowych:

  • Brak obsługi możliwości offline.
  • Ograniczona funkcjonalność w porównaniu z aplikacjami hybrydowymi i natywnymi. (brak dostępu do systemu plików i zasobów lokalnych).
  • Problemy z redystrybucją: Google Play i App Store nie wspierają redystrybucji Mobile Web Apps.

Native App to aplikacja, która została stworzona specjalnie dla jednej platformy (Android, iOS, Tizen, Windows 10 M0bile, BlackBerry).

Niektóre zalety Native Apps:

  • Native app działa w trybie offline.
  • Może korzystać ze wszystkich funkcji swojego urządzenia.
  • Zaawansowane doświadczenie użytkownika.
  • Powiadomienia push mogą być używane do ostrzegania użytkowników.

Niektóre wady aplikacji natywnych:

  • Tworzenie aplikacji natywnych jest drogie w porównaniu z aplikacjami Mobile Web.
  • Wymaga wysokich kosztów utrzymania.

Aplikacja hybrydowa jest mieszanką aplikacji natywnej i aplikacji Mobile Web. Można ją zdefiniować jak ekspozycję treści mobilnej strony internetowej w formacie aplikacji.

Kilka zalet aplikacji hybrydowych:

  • Większa opłacalność w porównaniu z aplikacją natywną.
  • Łatwa dystrybucja.
  • Wbudowana przeglądarka.
  • Cechy urządzenia.

Niektóre wady aplikacji hybrydowych:

  • Nie działa tak szybko jak Native App.
  • Grafika jest mniej przyzwyczajona do systemu operacyjnego w porównaniu do Native App.

Strategia testowania witryny mobilnej kluczowe punkty

Teraz możemy pomyśleć o naszej strategii testowania. Rozważmy główne punkty i wyzwania, z którymi powinniśmy się zmierzyć.

Wybór urządzeń

Nie ma wątpliwości, że prawdziwe urządzenie jest najlepszą decyzją, jeśli chcesz przetestować aplikację mobilną. Testowanie na prawdziwym urządzeniu zawsze daje największą dokładność wyników

W rzeczywistości wybór najbardziej odpowiedniego urządzenia nie jest łatwy. W każdym razie, oto kilka czynności, które należy wykonać przy wyborze urządzenia do testów mobilnych:

  • Przeprowadź analizę w celu określenia najbardziej popularnych i używanych gadżetów na rynku.
  • Wybierz urządzenia z różnymi systemami operacyjnymi.
  • Wybierz urządzenia z różnymi rozdzielczościami ekranu.
  • Zwróć uwagę na kolejne czynniki: kompatybilność, rozmiar pamięci, łączność itp.

Jak już wspomniano wcześniej masz wiele zalet testowania aplikacji mobilnych na prawdziwych urządzeniach:

  • Wysoka dokładność wyników testów.
  • Prosta replikacja błędów.
  • Punkty takie jak drenaż baterii, geolokalizacja, powiadomienia push, wbudowane czujniki urządzenia są łatwe do przetestowania.
  • Możliwość testowania przerwań przychodzących (połączenia, SMS).
  • Możliwość testowania aplikacji mobilnej w rzeczywistym środowisku i warunkach.
  • Brak fałszywych pozytywów.

A także pewne wady:

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

Jak widać testowanie na prawdziwych urządzeniach jest dobrą decyzją, ale ma także pewne ograniczenia. Należy je przezwyciężyć, aby proces testowania aplikacji mobilnych był naprawdę efektywny.

Emulatory czy symulatory?

Nie trudno się domyślić, że są to specjalne narzędzia, które emulują/symulują funkcjonalność i zachowanie urządzeń mobilnych.

„Emulator” i „symulator” są często mylone. Pomimo ich prawie podobnej wymowy, nie mają one jednakowego znaczenia.

W rzeczywistości, emulator jest oryginalnym zamiennikiem urządzenia. Chociaż można uruchomić soft i aplikacje na swoim gadżecie, nie masz możliwości ich modyfikacji.

Symulator nie replikuje sprzętu urządzenia, ale masz możliwość ustawienia podobnego środowiska jak oryginalny system operacyjny urządzenia.

Więc, lepiej jest używać mobilnych symulatorów do testowania aplikacji mobilnych. Emulatory są bardziej odpowiednie do testowania stron mobilnych.

Tutaj możesz przeczytać więcej o emulatorach i symulatorach.

Kilka zalet korzystania z symulatorów do testowania aplikacji mobilnej:

  • Łatwa konfiguracja.
  • Szybka praca.
  • Pomaga zweryfikować i zbadać zachowanie aplikacji mobilnej.
  • Kosztowne.

Niektóre wady korzystania z symulatorów do testowania aplikacji mobilnej:

  • Sprzęt urządzenia nie jest brany pod uwagę.
  • Fałszywe pozytywy są możliwe.
  • Niekompletne dane wyników symulacji, co utrudnia pełną analizę wyników testu.

Testowanie aplikacji mobilnej w chmurze

Testowanie aplikacji mobilnych za pomocą narzędzi opartych na chmurze wydaje się być optymalnym wyborem. Dzięki niemu można przezwyciężyć wady prawdziwych urządzeń i symulatorów.

Główne zalety tego podejścia:

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

Kilka słabych punktów testowania mobilnego w chmurze:

  • Mniej kontroli.
  • Nie tak wysoki poziom bezpieczeństwa.
  • Zależność od połączenia internetowego.

Kilka przydatnych narzędzi w chmurze, które mogą pomóc w testowaniu aplikacji mobilnej: Xamarin Test Cloud, Perfecto Mobile Continuous Quality Lab, Keynote Mobile Testing. Tutaj możesz przeczytać więcej o narzędziach do testowania mobilnego.

Mobilne testowanie manualne i automatyczne

W dzisiejszych czasach wielu specjalistów popiera opinię, że testowanie manualne umrze. Oczywiście, nie jest to prawda. Oczywiście nie obejdziemy się bez automatyzacji testów, ale są też sytuacje, kiedy testowanie manualne jest preferowane.

Kilka zalet manualnego testowania aplikacji mobilnych:

  • Jest bardziej efektywne kosztowo w okresie krótkoterminowym.
  • Testowanie manualne jest bardziej elastyczne.
  • Bardziej symuluje działania użytkownika.

Kilka wad ręcznego testowania aplikacji mobilnych:

  • Ręczne przypadki testowe są trudne do ponownego wykorzystania.
  • Mniejsza skuteczność wykonywania pewnych i stałych zadań.
  • Proces uruchamiania testów jest powolny.
  • Niektóre rodzaje przypadków testowych nie mogą być wykonywane ręcznie (testowanie obciążenia).

Kilka zalet automatyzacji testowania aplikacji:

  • Proces uruchamiania testów jest szybszy.
  • Kosztowny w długim okresie.
  • Automatyczne przypadki testowe są łatwe do ponownego wykorzystania.
  • Tylko decyzja dla niektórych rodzajów testów (testowanie wydajności).
  • Wyniki testów są łatwe do udostępnienia.

Kilka wad automatycznego testowania aplikacji:

  • Narzędzia do automatycznego testowania mobilnego mają pewne ograniczenia.
  • Czasochłonny proces.
  • Automatyczne testowanie ma mniejszą skuteczność w definiowaniu przyjazności dla użytkownika lub pozytywnych doświadczeń klienta.

Jak widać powinieneś podejmować różne decyzje tworząc swoją strategię testowania mobilnego. Oczywiście, nie ma na nie jednoznacznych odpowiedzi.

Połączenie różnych podejść wydaje się być optymalną drogą. Na przykład, można używać symulatorów w najwcześniejszych etapach procesu testowania. Ale lepiej jest używać prawdziwych urządzeń (fizycznych lub opartych na chmurze) w końcowych etapach. Zautomatyzowane testowanie jest preferowane dla testów obciążeniowych i regresyjnych. Ale manualne narzędzia do testowania mobilnego są lepsze do wykorzystania w testach użyteczności i eksploracyjnych.

Etapy testowania aplikacji mobilnych

Więc, zacznijmy rozważać główne etapy procesu testowania aplikacji mobilnych. W większości są one podobne do etapów testowania stron internetowych. W większości, ale nie do końca podobne. Jak już wcześniej przeczytałeś, istnieje kilka podstawowych różnic pomiędzy aplikacjami mobilnymi a desktopowymi. Dlatego musimy przejść kilka dodatkowych etapów i dokonać kilku dodatkowych weryfikacji.

1. Testowanie dokumentacji

Testowanie dokumentacji jest niezbędnym etapem przygotowawczym procesu testowania aplikacji mobilnej.

Właściwie, testowanie rozpoczyna się przed procesem tworzenia oprogramowania. Testerzy otrzymują schematy nawigacyjne, układy ekranów, inne wymagania niewidoczne na projekcie. Wymagania te są analizowane pod kątem kompletności i niespójności. Sprzeczności w wymaganiach muszą być rozwiązane przed rozpoczęciem wytwarzania.

Artefakty takie jak Wymagania (Specyfikacja, PRD), Plan Testów, Przypadki Testowe, Macierz Śledzenia są tworzone i analizowane na tym etapie.

2. Testowanie funkcjonalne

Testowanie funkcjonalne ma na celu zapewnienie, że oprogramowanie działa zgodnie ze zdefiniowanymi wymaganiami. Najprościej mówiąc, sprawdzamy czy aplikacja realizuje oczekiwane funkcje, które zazwyczaj są opisane w specyfikacji lub odpowiadają logice procesów biznesowych.Zwróć uwagę na kolejne ważne czynniki podczas przeprowadzania testów funkcjonalnych Twojej aplikacji mobilnej:

  • Typ aplikacji, który jest określony przez jej funkcjonalność biznesową (portale społecznościowe, bankowość, edukacja, zamawianie i dostarczanie jedzenia, biletów, branża gier itp.).
  • Grupa docelowa (firmy, użytkownicy, środowisko edukacyjne, itp.).
  • Kanały dystrybucji (dostawa bezpośrednia, Google Play, App Store, itp.)

Teraz rozważmy główne weryfikacje, które należy przejść, aby przetestować funkcjonalność aplikacji mobilnej.

Instalacja i uruchomienie aplikacji

  • Instalacja aplikacji powinna przebiegać bez istotnych błędów, jeśli urządzenie spełnia wymagania systemowe.
  • Sprawdź, czy aplikacja automatycznie uruchamia się prawidłowo.
  • Sprawdź, czy podręcznik użytkownika jest dostępny.
  • Sprawdź, czy działanie aplikacji podczas uruchamiania/wyłączania spełnia podstawowe wymagania.

Testowanie pól

  • Weryfikacja poprawności działania pól wymaganych.
  • Upewnienie się, że pola obowiązkowe i opcjonalne są wyświetlane w różny sposób.

Testowanie funkcjonalności biznesowych

  • Weryfikacja, czy deklarowana cena i treść odpowiadają informacjom otrzymanym przez użytkownika.
  • Upewnij się, że użytkownik może wykonywać typowe operacje: kupowanie, dodawanie towarów do koszyka, zamawianie towarów itp.
  • Upewnij się, że aplikacja obsługuje transakcje płatnicze poprzez systemy płatnicze takie jak Visa, Mastercard, Paypal itp.
  • Sprawdź odzyskanie możliwości dokonania zakupu niezależnie od urządzenia, ale z powiązaniem z kontem.

Testowanie zakłóceń

  • Połączenia przychodzące i wychodzące, SMS-y i MMS-y.
  • Rozładowanie/usunięcie baterii.
  • Rozłączanie i podłączanie sieci/Wi-Fi.
  • Odłączanie i podłączanie karty SD.
  • Ładowanie urządzenia.

Ciągłe testowanie opinii użytkowników

  • Pobieranie wiadomości z zawartością
  • Pasek postępu.
  • Właściwa reakcja przycisków na naciśnięcie.
  • Komunikaty o błędach dostępu do sieci.
  • Próba usunięcia ważnych informacji.
  • Dostępność i synchronizacja powiadomień dźwiękowych, wibracyjnych i wizualnych.
  • Wystawianie ekranu (komunikatu) na zakończenie procesu ( gry).

Testowanie aktualizacji

  • Wszystkie dane użytkownika są zapisywane po aktualizacjach.
  • Pewność, że postęp aktualizacji jest wyświetlany prawidłowo.
  • Upewnienie się, że aktualizacje są obsługiwane przez starsze systemy operacyjne.
  • Testowanie różnych sposobów instalacji aktualizacji (Wi-Fi, Bluetooth, USB)

Testowanie zasobów urządzenia

  • Brak miejsca na instalację lub uruchomienie aplikacji.
  • Wycieki pamięci. Zwróć uwagę na okna, z dużą ilością informacji, oraz zadania z długim przebiegiem pracy.
  • Instalacja/zamiana aplikacji na karcie SD.
  • Brak niektórych funkcji obsługiwanych przez aplikację (3G, karta SD, itp.).
  • Upewnienie się, że zainstalowana aplikacja nie zakłóca normalnego działania innych aplikacji i nie zużywa ich pamięci.

Kilka innych weryfikacji:

  • Gra dotyczy weryfikacji: сprawidłowość łączenia/rozłączania graczy, połączenie graczy przez różne sieci itp.
  • Pewność, że komunikaty o błędach informacyjnych są poprawne na czas i odpowiednie.
  • Weryfikacja połączenia z narzędziami analitycznymi takimi jak Google Analytics.
  • Testowanie zużycia energii.
  • Weryfikacja niezbędnych opcji poprawna praca z sieciami społecznościowymi – Share, Publish, Navigation.

Kilka przydatnych narzędzi do testowania funkcjonalności aplikacji mobilnych: Appium, Selendroid, Robotium, Ranorex.

3. Testowanie użyteczności

Testowanie użyteczności ma na celu zapewnienie wygody korzystania z aplikacji, tworzy intuicyjny interfejs zgodny z przyjętymi standardami. Wykonuje się je w celu tworzenia szybkich i łatwych w obsłudze aplikacji. Oto 3 główne podstawowe kryteria oceny aplikacji:

  • Satysfakcja
  • Wydajność
  • Efektywność

Zastanówmy się nad prostą listą kontrolną do testowania użyteczności aplikacji mobilnych:

  • Upewnij się, że przyciski są normalnej wielkości i umieszczone w jednym obszarze ekranu
  • Sprawdź, czy aplikacja działa w trybie wielozadaniowym, gdy jest to konieczne.
  • Sprawdź nawigację po ważnych modułach aplikacji.
  • Upewnij się, że ikony i obrazki wyglądają naturalnie w środowisku aplikacji.
  • Sprawdź, czy kolor przycisków pełniących tę samą funkcję jest taki sam.
  • Tekst powinien być prosty, jasny i widoczny dla użytkownika. Krótkie zdania i akapity są możliwe do przeczytania.
  • Zdefiniuj optymalną wielkość czcionki.
  • Zapewnij poprawne działanie systemu powiększania i pomniejszania.
  • Sprawdź, czy menu kontekstowe nie jest przeładowane.
  • Upewnij się, że aplikacja może być zakończona dowolnym stanem i że wznawia działanie w tym samym stanie.
  • Upewnij się, że elementy aplikacji są zsynchronizowane z działaniami użytkownika.
  • Sprawdź, czy użytkownik może powrócić lub anulować akcję, jeśli nacisnął niewłaściwy przycisk.
  • Sprawdź, czy szybkość reakcji elementu jest wystarczająco wysoka

Kilka przydatnych narzędzi do testowania użyteczności aplikacji mobilnych: User Zoom, Reflector, Loop11.

4. Testowanie interfejsu użytkownika (UI)

Testowanie interfejsu użytkownika (UI) jest wykonywane w celu zapewnienia, że graficzny interfejs użytkownika Twojej aplikacji spełnia wymagania specyfikacji.

Oto kilka weryfikacji do testowania UI aplikacji mobilnej:

  • Pewność zgodności ze standardami UI
  • Sprawdź UI swojej aplikacji przy standardowych rozdzielczościach ekranu: 640 × 480, 800 × 600, 1024 × 768, 1280 × 800, 1366 × 768, 1400 × 900, 1680 × 1050.
  • Weryfikuj responsywność aplikacji na różnych urządzeniach.
  • Testuj główne elementy projektu: przyciski, ikony, kolory, linki, czcionki, rozmiary czcionek, układ, pola tekstowe, formatowanie tekstu, etykiety, podpisy, przyciski, listy itp.
  • Weryfikuj, czy reklama nie nachodzi na przyciski sterujące aplikacji.
  • Upewnij się, że reklama ma dostępny przycisk zamykający.
  • Upewnij się, że poszczególne elementy są poprawnie wyświetlane na ekranach retina i non-retina.
  • Weryfikuj, czy wszystkie elementy wyświetlają się przy portretowej i krajobrazowej orientacji strony.

Kilka przydatnych narzędzi do testowania interfejsu aplikacji mobilnej: FitNesse, iMacros, Coded UI, Jubula, LoadUI.

5. Testy kompatybilności (konfiguracyjne)

Testy kompatybilności (konfiguracyjne) przeprowadzane są w celu zapewnienia optymalnego działania aplikacji na różnych urządzeniach – z uwzględnieniem ich wielkości, rozdzielczości ekranu, wersji, sprzętu itp. Należy zwrócić uwagę na następujące punkty:

  • Konfiguracja systemu operacyjnego
  • Konfiguracja przeglądarki
  • Konfiguracja bazy danych
  • Konfiguracja urządzenia
  • Konfiguracja sieci

Testy międzyplatformowe pozwalają na przetestowanie aplikacji mobilnej w różnych systemach operacyjnych: Windows, iOS, Android, oraz BlackBerry etc.

Testy cross-browser pozwalają zapewnić poprawną pracę aplikacji w różnych konfiguracjach przeglądarek: Mozilla Firefox, Google Chrome, Opera Mini etc.

Testy bazodanowe mają na celu sprawdzenie poprawnej pracy aplikacji w różnych konfiguracjach baz danych: Oracle, DB2, MySql, MSSQL Server, Sybase.

Testy konfiguracji urządzeń powinny uwzględniać takie parametry:

  • Typ urządzenia: smartfon, tablet, itp.
  • Konfiguracja urządzenia: RAM, typ procesora, rozdzielczość ekranu, pojemność baterii itp.

Testy konfiguracji sieciowej wykonywane są w celu zapewnienia poprawnej pracy w różnych konfiguracjach sieci (GSM, TDMA) i standardach (2G, 3G, 4G).

Kilka wskazówek do testowania kompatybilności aplikacji mobilnej:

  • Stwórz macierz zasięgu (tabela, do której wpisywane są wszystkie możliwe konfiguracje).
  • Priorytetyzuj konfiguracje.
  • Sprawdź każdą konfigurację, krok po kroku, zgodnie z ustalonymi priorytetami.

Kilka przydatnych narzędzi do testowania kompatybilności perfomance aplikacji mobilnej: BrowserStack, CrossBrowserTesting by Smart Bear, Litmus, Browsera, Rational Clearcase by IBM, Ghostlab.

6. Testowanie perfomancji

Testy wydajnościowe to zestaw rodzajów testów, których celem jest określenie operacyjności, stabilności, zużycia zasobów i innych atrybutów jakości aplikacji przy różnych scenariuszach użycia i obciążeniach.

Główne cele testowania wydajności:

  • Sprawdzenie czasu odpowiedzi aplikacji na różne rodzaje żądań, aby upewnić się, że aplikacja działa zgodnie z wymaganiami dla normalnego obciążenia użytkownika. (Testowanie obciążenia).
  • Testowanie wydajności pracy aplikacji przy obciążeniach przekraczających kilkakrotnie obciążenie użytkownika. (Stress testing).
  • Badanie operacyjności aplikacji dla długotrwałej pracy, przy normalnym obciążeniu. (Badanie stabilności).
  • Sprawdzenie pracy w warunkach „rozbudowanej” bazy danych, w normalnym czasie. (Testowanie objętości).
  • Określ liczbę użytkowników, którzy mogą jednocześnie pracować z aplikacją. (Testowanie współbieżności).

Kilka weryfikacji dla testowania wydajności aplikacji mobilnej:

  • Określ, czy aplikacja działa tak samo w różnych warunkach sieciowych.
  • Znajdź różne wąskie gardła aplikacji i infrastruktury, które zmniejszają wydajność aplikacji.
  • Oszacuj zdolność aplikacji do radzenia sobie z planowaną wielkością obciążenia.
  • Sprawdź, czy czas odpowiedzi aplikacji spełnia wymagania.
  • Sprawdź stabilność aplikacji w warunkach dużego obciążenia użytkownika.
  • Zapewnij wydajność aplikacji, jeśli działa ona w warunkach niestałego połączenia z Internetem.
  • Upewnij się, że istniejąca konfiguracja klient-serwer zapewnia optymalną wydajność.

Kilka przydatnych narzędzi do testowania perfomancji aplikacji mobilnych: NeoLoad by Neotys, Apteligent (dawniej Crittercism), New Relic.

7. Testy bezpieczeństwa

Testy bezpieczeństwa mają na celu sprawdzenie bezpieczeństwa systemu, a także analizę ryzyka związanego z zapewnieniem holistycznego podejścia do ochrony aplikacji, hakerów, wirusów, nieautoryzowanego dostępu do wrażliwych danych.

Kilka weryfikacji, które musisz przejść, aby przetestować bezpieczeństwo aplikacji mobilnej:

  • Upewnij się, że dane użytkowników aplikacji (loginy, hasła, numery kart bankowych) są chronione przed atakami sieciowymi systemów automatycznych i nie mogą być znalezione przez selekcję.
  • Sprawdź, czy system zabezpieczeń aplikacji wymaga silnego hasła i nie pozwala atakującemu na przejęcie haseł innych użytkowników.
  • Upewnij się, że aplikacja nie daje dostępu do wrażliwych treści lub funkcjonalności bez odpowiedniego uwierzytelnienia.
  • Zabezpiecz aplikację przed atakami typu SQL injection.
  • Zabezpiecz aplikację i sieć przed atakami typu DoS Attacks.
  • Zabezpiecz aplikację przed złośliwymi atakami na klientów.
  • Zabezpiecz system przed złośliwymi implementacjami podczas działania programu.
  • Zapewnij zarządzanie sesją w celu ochrony informacji przed nieautoryzowanymi użytkownikami.
  • Zapobiegaj możliwym złośliwym skutkom buforowania plików.
  • Badaj pliki użytkownika i zapobiegaj ich możliwym szkodliwym skutkom.
  • Analizuj interakcję plików systemowych, identyfikuj i naprawiaj podatności.
  • Zapobiegaj możliwym złośliwym działaniom plików cookie.

Kilka przydatnych narzędzi do testowania bezpieczeństwa aplikacji mobilnych: Retina CS Community, OWASP Zed Attack Proxy, Veracode, Google Nogotofail oraz SQL Map.

8. Testowanie odzyskiwania

Test odzyskiwania weryfikuje testowaną aplikację pod kątem jej zdolności do wytrzymania i pomyślnego odzyskania sprawności po ewentualnych awariach spowodowanych błędami oprogramowania, awariami sprzętu lub problemami komunikacyjnymi.

Oto lista weryfikacji dla testów odzyskiwania:

  • Weryfikuje skuteczne odzyskiwanie aplikacji po nieprzewidzianych scenariuszach awarii.
  • Weryfikuje proces odzyskiwania danych po zerwaniu połączenia.
  • Testowanie odzyskiwania danych po awarii systemu i awarii transakcji.
  • Weryfikacja zdolności aplikacji do przetwarzania transakcji w przypadku awarii zasilania (słaba bateria, nieprawidłowe zamknięcie aplikacji itp.).

9. Testy lokalizacyjne

Testy lokalizacyjne pozwalają na przetestowanie dostosowania aplikacji mobilnej dla konkretnej grupy docelowej zgodnie z jej specyfiką kulturową.

Kilka weryfikacji dla testów lokalizacyjnych:

  • Określenie języków obsługiwanych przez aplikację.
  • Pewność poprawności tłumaczenia.
  • Weryfikuj poprawność tłumaczenia zgodnie z tematem aplikacji
  • Sprawdzaj formaty dat.
  • Sprawdzaj delimitatory w liczbach.

Oczywiście, native speakerzy są preferowani do przeprowadzania testów lokalizacji aplikacji mobilnej.

Ubertestery, eggPlant mogą być przydatne do testowania lokalizacji aplikacji mobilnej.

10. Testowanie związane ze zmianami

Więc, przeszedłeś wszystkie wymienione etapy i znalazłeś kilka błędów. W związku z tym, w kodzie Twojej aplikacji zostały wprowadzone pewne zmiany.

Kluczowe cele testów związanych ze zmianami:

  • Sprawdzenie, czy Twój zespół skutecznie naprawił wszystkie wykryte błędy (Re-testowanie lub Testowanie Potwierdzające). Mówiąc prościej, przypadki testowe, które pierwotnie wykryły błędy są uruchamiane ponownie. I tym razem powinny one zostać zaliczone bez błędów.
  • Sprawdź, czy nowe zmiany nie doprowadziły do pojawienia się nowych błędów. (Testowanie regresyjne). Tak naprawdę, zapewniając testy regresyjne, powinieneś przejść nie tylko testy z wykrytymi błędami, ale również testy sprawdzające wszystkie funkcjonalności Twojej aplikacji.

Kilka przydatnych narzędzi do testowania zmian w Twojej aplikacji: Appium, Robotium, Ranorex.

11. Testy beta

W końcu masz przedpremierową, w pełni funkcjonalną wersję swojej aplikacji mobilnej. Lepiej byłoby ocenić możliwości i stabilność programu pod kątem jego przyszłych użytkowników.

Beta testy to etap debugowania i sprawdzania wersji beta programu. Jego głównym celem jest zidentyfikowanie maksymalnej liczby błędów w jego pracy w celu ich późniejszego wyeliminowania przed ostatecznym wypuszczeniem aplikacji na rynek.

Do roli beta testerów wybierane są osoby, które mają doświadczenie w pracy z aplikacjami podobnego typu, a jeszcze lepiej z poprzednią wersją aplikacji.

Przed udostępnieniem beta testów swojej aplikacji mobilnej powinieneś zwrócić uwagę na następujące czynniki:

  • Liczba uczestników testów.
  • Czas trwania testów.
  • Wysyłka
  • Objęcie demograficzne
  • Koszty testowania.

Chociaż trzeba wydać trochę pieniędzy na beta testy, może to być dobra inwestycja w jakość Twojej aplikacji mobilnej.

Niektóre popularne platformy do beta testów aplikacji mobilnych: HockeyApp, Ubertesters, TestFlight .

12. Testy certyfikacyjne

Istnieją pewne zasady organizacji pliku instalacyjnego (.apk) oraz zasady projektowania aplikacji dla każdego sklepu z aplikacjami. Testy certyfikacyjne weryfikują, czy aplikacja spełnia wymagania najpopularniejszych sklepów, takich jak Google Play, App Store i Windows Phone.

Zastanówmy się nad głównymi kryteriami zgodności aplikacji ze standardami, umowami licencyjnymi i warunkami użytkowania.

Android:

  • Plik instalacyjny aplikacji (.apk) jest zgodny z Program Policies .
  • Aplikacja spełnia wymagania UIG .
  • W aplikacji nie ma wirusów. Android Market półautomatycznie sprawdza aplikację pod kątem wirusów i może zablokować konto użytkownika, jeśli je wykryje.
  • Powinieneś przestrzegać kolejności kontroli wersji w przypadku publikowania zaktualizowanej wersji aplikacji.

iOS:

  • Aplikacja spełnia wymagania Human Interface Guidelines.
  • Aplikacja musi mieć unikalną nazwę.
  • Musisz podać link do informacji zwrotnej od dewelopera.
  • Aplikacja powinna być umieszczona w ustalonej konkretnej kategorii.
  • App Store przetestuj aplikację pod kątem kompatybilności.
  • Aplikacja nie zawiera niedozwolonych materiałów, nieprzewidzianych opóźnień w pracy lub powtórzenia istniejących funkcji.

Windows Phone

  • Aplikacja spełnia wymagania certyfikacji aplikacji.
  • Przejrzysty opis wymagań sprzętowych i sieciowych.
  • Funkcje wymienione w opisie lub pokazane na zrzutach ekranu są w pełni zrealizowane
  • Wymagana jest opcja sterowania automatycznie odtwarzanym dźwiękiem.

Wskazówki do testowania aplikacji mobilnych

Usystematyzujmy naszą wiedzę i spróbujmy określić główne wskazówki dotyczące testowania aplikacji mobilnych.

  1. Poznaj aplikację, którą zamierzasz testować.
  2. Pamiętaj o różnicach między aplikacjami desktopowymi i mobilnymi.
  3. Bierz pod uwagę system operacyjny i specyfikę sprzętu
  4. Używaj prawdziwych urządzeń, gdy jest to możliwe.
  5. Nie próbuj znaleźć „Scyzoryka Szwajcarskiej Armii” do testowania. Użyj narzędzi, z którymi jesteś zaznajomiony.
  6. Wykorzystaj zalety testowania mobilnego w chmurze.
  7. Potwierdź swoje ustalenia za pomocą zrzutów ekranu, logów i filmów.
  8. Zapewnij testowanie aplikacji mobilnej zarówno dla trybu pionowego, jak i poziomego ekranu.
  9. Użyj opcji menu rozwoju dla iOS i Android.
  10. Nie zaniedbuj (ale nie nadużywaj) emulatorów i symulatorów do testowania.
  11. Weryfikuj wydajność swojej aplikacji.
  12. Nie automatyzuj wszystkiego
  13. Zatrudnij prawdziwych użytkowników do testowania swojej aplikacji
  14. Wygospodaruj czas na opracowanie bardziej złożonych, niekonwencjonalnych scenariuszy testowych (f.e. użyj testowych „małp”).
  15. Uważaj na czynnik ludzki

Testuj aplikację mobilną z EasyQA SDK

Praktyka jest najlepszym sposobem, aby się czegoś nauczyć. Masz możliwość wykorzystania niektórych funkcji EasyQA do testowania swojej aplikacji mobilnej.

EasyQA SDK to zestaw funkcji, opracowany przez nasz zespół, aby uczynić proces testowania oprogramowania bardziej efektywnym i prostszym.

Oto jego kluczowe funkcje:

  • Raportowanie błędów
  • Raportowanie błędów w aplikacji
  • Robienie zrzutów ekranu
  • Nagrywanie wideo
  • Działa zarówno z aplikacjami na Androida, jak i iOS.

Przejdź za ten link, jeśli chcesz dowiedzieć się więcej o EasyQA SDK.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.