Samouczek testowania aplikacji na iOS: instrukcja i automatyzacja
Co to jest testowanie aplikacji na iOS?
Testowanie aplikacji na iOS to proces testowania, podczas którego aplikacja iOS jest testowana na prawdziwych urządzeniach Apple w celu sprawdzenia, czy działa zgodnie z oczekiwaniami, pod kątem określonych działań użytkownika, takich jak czas instalacji, interfejs użytkownika, wrażenia użytkownika, wygląd, zachowanie, funkcjonalność, czas ładowania, wydajność, aplikacja Informacje o sklepie, obsługa wersji systemu operacyjnego itp.
Dlaczego testowanie aplikacji na iOS?
Testowanie aplikacji na iOS jest wymagany, ponieważ iOS to platforma Apple dla aplikacji mobilnych, która została wydana 29 czerwca 2007 r. W przeciwieństwie do Android, Apple nie udziela licencji na system iOS w celu instalacji na sprzęcie innej firmy. Aplikacje iOS i iOS można instalować tylko na urządzeniach Apple, dlatego Twoja aplikacja iOS musi być kompatybilna z wersjami iOS i urządzeniami iOS.
To częste pytanie, gdy programista tworzy aplikację na iOS.
Nie ma znaczenia, ile czasu zainwestujesz w projektowanie i wdrażanie, błędy są nieuniknione i pojawią się. W aplikacji na iOS występuje kilka typowych błędów. Jak pokazano na poniższym rysunku.
Awaria aplikacji
Jednym z najbardziej frustrujących problemów podczas korzystania z urządzeń Apple jest to, że aplikacja może często zawieszać się podczas działania. Wiele razy aplikacja ulega awarii z powodu błędów lub wycieku pamięci w aplikacjach.
Niekompatybilności aplikacji
Twoja aplikacja iOS może działać bez zarzutu w obecnej wersji systemu iOS, ale po uaktualnieniu systemu iOS może nie działać z powodu problemów z kompatybilnością.
Luka w zabezpieczeniach
Luka w zabezpieczeniach systemu iOS umożliwia hakerowi zaatakowanie urządzeń z systemem iOS i kradzież prywatnych informacji. Do tej pory w różnych wersjach iOS wykrywano poważne luki w zabezpieczeniach iPhone'a.
Wycieki pamięci
Wycieki pamięci to bloki przydzielonej pamięci, których program już nie wykorzystuje. Wycieki pamięci powodują awarię aplikacji na iOS.
Są to błędy i zawsze należy je naprawić.
Testowanie iOS MindMap
Jak pokazano na powyższym rysunku, iOS Testy MindMap pokazuje wszystkie elementy, które tester powinien wziąć pod uwagę podczas przeprowadzania testów na iOS.
Lista kontrolna testowania aplikacji na iOS
Ta lista kontrolna została zaprojektowana specjalnie do testowania właściwości aplikacji mobilnych iOS. Oczywiście testuje tylko ogólne cechy aplikacji, a nie jej funkcjonalność.
- Sprawdź czas instalacji aplikacji na urządzeniu. Upewnij się, że aplikacja została zainstalowana w akceptowalnym czasie.
- Po zainstalowaniu aplikacji sprawdź, czy aplikacja ma ikonę i nazwę aplikacji. Upewnij się także, że zarówno ikona, jak i nazwa są zrozumiałe i odzwierciedlają główny cel aplikacji.
- Uruchom aplikację i sprawdź, czy wyświetla się ekran powitalny.
- Sprawdź limit czasu ekranu powitalnego i czas potrzebny do załadowania ekranu głównego. Ekran główny aplikacji powinien załadować się w akceptowalnym czasie. Jeśli ładowanie ekranu głównego zajmuje tylko więcej czasu, istnieje większa szansa, że użytkownik zamknie aplikację lub nawet ją odinstaluje. Sprawdź także, jak zawartość jest ładowana na ekranie głównym.
- Główna funkcja aplikacji powinna być widoczna od razu. To powinno mówić samo za siebie.
- Sprawdź, czy aplikacja obsługuje orientację poziomą i pionową. Jeśli tak, sprawdź aplikację w obu orientacjach. Interfejs użytkownika aplikacji powinien zostać odpowiednio ustawiony.
- Bez połączenia z Internetem uruchom aplikację. Upewnij się, że aplikacja działa zgodnie z oczekiwaniami. Istnieje ryzyko, że aplikacja ulegnie awarii podczas uruchamiania lub po prostu wyświetli pusty ekran.
- Jeśli aplikacja korzysta z usług lokalizacji, sprawdź, czy wyświetla się alert o zezwoleniu na lokalizację. Ten alert powinien zostać wyświetlony użytkownikowi tylko raz.
- Jeśli aplikacja wysyła powiadomienia push, sprawdź, czy alert o zezwoleniu na powiadomienia push jest wyświetlany. Ten alert powinien być wyświetlany użytkownikowi tylko raz.
- Uruchom aplikację, zamknij ją i uruchom ponownie. Sprawdź, czy aplikacja zachowuje się zgodnie z oczekiwaniami
- Zamknij aplikację, dotykając przycisku Home na urządzeniu i otwórz aplikację ponownie. Sprawdź, czy aplikacja działa zgodnie z założeniami/pożądaniami.
- Po zainstalowaniu sprawdź, czy aplikacja jest wymieniona w aplikacji ustawień iPhone'a.
- Po uruchomieniu aplikacji sprawdź, czy aplikację można znaleźć w „App Store”. Dostępna będzie obsługiwana wersja systemu operacyjnego dla aplikacji. Upewnij się więc, że aplikację można znaleźć w „App Store” obsługiwanej wersji systemu operacyjnego urządzenia. Ponadto aplikacja nie powinna znajdować się na liście „App Store” urządzenia z nieobsługiwaną wersją systemu operacyjnego.
- Sprawdź, czy aplikacja przechodzi w tryb uśpienia, gdy działa w tle, aby zapobiec rozładowaniu baterii.
- Jeśli działanie aplikacji jest powolne lub gdy ładuje się zawartość, sprawdź, czy widoczna jest ikona stanu postępu („Ładowanie…”), najlepiej z określonym komunikatem.
- Wyszukaj aplikację według jej nazwy w pasku wyszukiwania urządzenia. Sprawdź, czy aplikacja znajduje się na liście
- Sprawdź, czy w aplikacji nie zmienił się wygląd przycisków realizujących standardowe akcje (np.: odśwież, organizuj, kosz, Odpowiedz, Wstecz itp.)
- Sprawdź, czy standardowe przyciski nie służą do innych funkcji niż te, do których są normalnie używane
Strategia testowania iOS
Poniższy rysunek przedstawia niektóre popularne typy strategii testowania systemu iOS.
Automatyczne testowanie
Testowanie automatyczne to największa zaleta testowania iOS. Umożliwia szybkie wykrycie błędów i problemów z wydajnością. Korzyści z testów automatycznych pokazano poniżej:
- Zautomatyzowane testy można uruchomić na wielu urządzeniach, oszczędzając Twój czas
- Zautomatyzowane testy mogą być ukierunkowane na zestawy SDK. Możesz uruchomić test na różnych wersjach SDK
- Zautomatyzowane testowanie zwiększa produktywność testowania i oszczędza koszty tworzenia oprogramowania
- Istnieje wiele platform testowych typu open source obsługujących automatyczne testowanie w systemie iOS
Testy jednostkowe za pomocą OCUnit
Kiedy wydano oryginalny zestaw SDK dla systemu iOS, brakowało go Testów jednostkowych możliwości. Dlatego Apple przywróciło OCUnit rozwiązanie do testów jednostkowych w iOS SDK w wersji 2.2.
OCUnit to platforma testowa dla C-Objective w systemie Mac OS. Największą zaletą frameworku OCUnit jest ścisła integracja z XKod środowisko programistyczne, jak pokazano poniżej.
Niektóre zalety OCUnit pokazano na poniższym rysunku.
Testowanie interfejsu użytkownika za pomocą UIAutomation
Automatyzacja interfejsu użytkownika jest JAVASCRIPT biblioteka udostępniana przez firmę Apple Inc, za pomocą której można przeprowadzić automatyczny test na rzeczywistych urządzeniach oraz w symulatorze iOS. Ta struktura została dodana do pakietu iOS SDK 4.0. Korzystając z UI Automation, możesz zautomatyzować testowanie aplikacji nie tylko na symulatorze, ale także na prawdziwym urządzeniu.
UIAutomation zapewnia następujące korzyści:
- Zmniejsz wysiłek Testowanie ręczne
- Używaj mniej pamięci do wykonywania wszystkich testów
- Uprość procedurę testowania interfejsu użytkownika (wystarczy nacisnąć jeden lub trzy przyciski i uruchomić pełne zestawy testów)
Instrument UIAutomation działa w oparciu o zapisane w nim skrypty JavaSkrypt. Symuluje zdarzenia użytkownika w docelowej aplikacji iOS.
Wady i zalety UIAutomation
ZALETY | Wady | |
---|---|---|
1. | Dobre wsparcie dla gestów i rotacji | To nie jest oprogramowanie typu open source, mniejsze wsparcie ze strony programisty |
2. | Może uruchamiać testy UIAutomation na urządzeniu, a nie na jedynym symulatorze. | Nie można bardzo dobrze zintegrować się z innymi narzędziami |
3. | Opracowany przez JavaScript to popularny język programowania. |
Powyższy rysunek przedstawia niektóre typowe klasy w frameworku UIAutomation.
- Element UIAElement class jest superklasą dla wszystkich elementów interfejsu użytkownika w kontekście Automatyzacji
- UIATarget klasa reprezentuje elementy interfejsu użytkownika wysokiego poziomu testowanego systemu
- UIALogger class udostępnia informacje o testach i błędach funkcji pobierania
- UIAActivityViewclass umożliwia dostęp do widoków aktywności w aplikacji i kontrolę nad nimi.
- Arkusz akcji UIAA class umożliwia dostęp do arkuszy akcji w aplikacji i kontrolę nad nimi.
- Użytkownik Akcja zdarzenia
- Klasa UISlider
- Klasa UIAButton
- Klasa UIKey
- Klasa UIAKeyboard
Inne struktury testów automatycznych
- Szczery: Zautomatyzowane Test akceptacyjny framework dla iPhone'a i iPada
- JAK : to iOS test integracyjny struktura. Umożliwia łatwą automatyzację aplikacji na iOS poprzez wykorzystanie atrybutów dostępności udostępnianych przez system operacyjny osobom z niepełnosprawnością wzroku.
Testowanie ręczne
Testowanie eksploracyjne
Jest to testowanie bez formalnego planu testów. Testowanie eksploracyjne to tania metoda testowania, ale może przeoczyć potencjalne błędy w aplikacji na iOS.
Testowanie eksploracyjne – wady i zalety
ZALETY | Wady | |
---|---|---|
1. | Less potrzebne jest przygotowanie, wczesne wykrycie poważnych błędów. | Wymaga wysokich umiejętności testera |
2. | Nie potrzebuję Plan testów przyspieszyć wykrywanie błędów. | Zasięg testów jest niski. Nie gwarantuje to, że wszystkie Twoje wymagania zostaną przetestowane. |
3. | Większość błędów jest wykrywana wcześnie w drodze testów eksploracyjnych | Brak dokumentacji testowej |
User Testing
Testowanie użytkowników to rodzaj testów ręcznych w systemie iOS. Celem tych testów jest nie tylko tworzenie lepszych aplikacji bez błędów aplikacje. Poniższy rysunek przedstawia cztery typy testów użytkowników
Testowanie koncepcji
Oceń reakcję użytkowników na pomysł aplikacji przed wypuszczeniem na rynek. Procedury testowania koncepcji na iOS opisano poniżej
Test użyteczności
Test użyteczności to test na łatwość obsługi aplikacji na iOS. W testach iOS test użyteczności może być nagrany zapamiętać lub podzielić się z innymi.
Istnieją narzędzia wspierające testowanie użyteczności na iOS.
TryMyUI aplikacje do testowania użytkowników mobilnych dla Android i iOS.
Delight.io, to narzędzie może przechwytywać rzeczywistą interakcję użytkownika w aplikacjach na iOS.
Testowanie beta
Beta testy to testy integracyjne z prawdziwymi danymi, aby uzyskać ostateczną informację zwrotną od użytkowników. Aby udostępnić aplikacje do testów beta, wykonaj poniższe czynności.
-Warunek wstępny: Jeśli testujesz wersję beta ostatecznego kandydata do wydania, pamiętaj o sprawdzeniu poprawności aplikacji przed przekazaniem jej testerom.
-Znajdź testera poprzez serwis: zbierasz identyfikatory urządzeń od testerów i dodajesz je Centrum członkowskie
-Utwórz dystrybucję ad hoc: Dystrybucja Ad Hoc umożliwia testerowi uruchomienie Twojej aplikacji na swoim urządzeniu bez potrzeby Xcode. Ten krok obejmuje 2 podetapy
- Utwórz certyfikaty dystrybucyjne
- Twórz profile udostępniania ad hoc
-Poproś o opinię od testera: Tester przeprowadza testy i wysyła raporty o błędach. Po wydaniu aplikacji możesz uzyskać raporty z iTunes połączyć.
Testy A / B
Testy A / B to jeden z najpotężniejszych sposobów oceń skuteczność swojej aplikacji na iOS. To używa losowe eksperymenty z dwoma urządzeniami A i B.
Testowanie A/B składa się z trzech głównych etapów
- Skonfiguruj test: Przygotowano 2 wersje aplikacji na iOS (A i B) oraz metrykę testową
- Testowanie:Możliwość jednoczesnego testowania dwóch powyższych wersji aplikacji iOS na urządzeniach.
- Analizować: Zmierz i wybierz lepszą wersję do wydania
Poniższe narzędzia obsługują testy A/B w systemie iOS.
- Powstać: Testy A/B dla iOS i Android. Można go zintegrować z aplikacją na iOS, co przyspiesza proces testowania.
Najlepsze praktyki w zakresie testów A/B
- Zdefiniuj cel swojego testu. Każdy test jest bezcelowy bez celu.
- Oglądaj użytkownicy końcowi korzystają z Twojej aplikacji po raz pierwszy
- Uruchom pierwszej testuj tylko dla każdej aktualizacji. Oszczędza to Twój czas podczas przeprowadzania testów
- Monitorowanie swój test ostrożnie. Możesz uczyć się doświadczeń z testu, monitorując go.
Testowanie iOS Najlepsza praktyka
Oto kilka wskazówek, które warto znać organizując testy aplikacji na iOS
- Przetestuj aplikację na prawdziwe urządzenie aby naprawdę podejść do wydajności
- Poprawa swoje metody testowania, ponieważ tradycyjne metody testowania nie są już wystarczające do objęcia wszystkich testów w testach iOS
- Korzystanie z dziennik konsoli do testowania aplikacji na iOS. Jest to funkcja systemu iOS, która zawiera informacje z każdej aplikacji na urządzeniu.
- dokument błędy aplikacji przy użyciu wbudowany ekran krótki Komenda. Pomaga programiście zrozumieć, w jaki sposób pojawiają się błędy.
- Zgłaszanie awarii to przydatne narzędzia podczas testowania aplikacji. Potrafią wykrywać awarie i rejestrować szczegółowe informacje, dzięki czemu można łatwo zbadać błędy.
MITY na temat testowania iOS
W tej sekcji omówiono kilka popularnych mitów i realiów dotyczących testowania systemu iOS
Testowanie aplikacji na iOS i Android są tym samym.
iOS oraz Android to dwie platformy opracowane przez Apple Inc i Google. Są zupełnie inni. Środowiska testowe, frameworki testowe, języki programowania.
Wystarczy przetestować aplikację na iOS Simulator.
iOS Simulator nie jest wystarczająco mocny do testowania aplikacji. Ponieważ iOS Simulator ma pewne ograniczenia:
- Ograniczenia sprzętowe (kamera, wejście mikrofonowe, czujnik)
- Interfejs Twojej aplikacji może wydawać się działać szybciej i płynniej niż na urządzeniu
- Ograniczenia API
- Niektóre frameworki nie są obsługiwane (Media Player, Store Kit, Message UI...)
Każdy będzie pobierał moje aplikacje ze sklepu z aplikacjami, ponieważ ma wiele funkcji
Im więcej funkcji ma Twoja aplikacja, tym więcej błędów możesz napotkać. Żaden użytkownik nie pobierze Twojej aplikacji, jeśli nadal ma wiele defektów.