Samouczek testowania aplikacji iOS

โšก Inteligentne podsumowanie

Testowanie aplikacji iOS weryfikuje, czy aplikacja instaluje siฤ™, dziaล‚a i zachowuje siฤ™ poprawnie na urzฤ…dzeniach Apple. ลฤ…czy techniki rฤ™czne z automatycznymi frameworkami, takimi jak XCTest i XCUITest, aby wczeล›nie wykrywaฤ‡ awarie, niezgodnoล›ci i wycieki pamiฤ™ci.

  • ๐Ÿ“ฑ Foundation: System iOS dziaล‚a wyล‚ฤ…cznie na sprzฤ™cie Apple, dlatego kaลผda aplikacja musi zostaฤ‡ sprawdzona pod kฤ…tem zgodnoล›ci ze wspieranymi wersjami systemu iOS i urzฤ…dzeniami.
  • โœ… Lista kontrolna: Ogรณlne kontrole obejmujฤ… instalacjฤ™, czas uruchomienia, orientacjฤ™, uprawnienia i widocznoล›ฤ‡ w App Store.
  • ๐Ÿค– Automatyka: XCTest i XCUITest zastฤ™pujฤ… przestarzaล‚e frameworki OCUnit i UIAutomation do testowania jednostkowego i interfejsu uลผytkownika.
  • ๐Ÿงช Metody rฤ™czne: Testy eksploracyjne, uลผytecznoล›ci, koncepcji, beta i A/B pozwalajฤ… uzyskaฤ‡ rzeczywiste opinie uลผytkownikรณw.
  • ๐Ÿš€ Wpล‚yw: Testy na rzeczywistych urzฤ…dzeniach oraz dystrybucja wersji beta TestFlight zapewniajฤ… stabilnฤ… wydajnoล›ฤ‡ przed udostฤ™pnieniem w App Store.

Testowanie aplikacji iOS โ€” rฤ™czne i automatyczne

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, wydana po raz pierwszy 29 czerwca 2007 r. W przeciwieล„stwie do AndroidApple nie udziela licencji na system iOS do instalacji na sprzฤ™cie innych producentรณw. Aplikacje na system iOS i iOS moลผna instalowaฤ‡ tylko na urzฤ…dzeniach Apple, dlatego aplikacja na system iOS musi byฤ‡ zgodna z wersjami systemu iOS i urzฤ…dzeniami iOS, ktรณre posiadajฤ… Twoi uลผytkownicy.

Urzฤ…dzenia Apple, na ktรณrych dziaล‚ajฤ… aplikacje iOS

Poniลผszy rysunek przedstawia najczฤ™stsze pytania, z jakimi mierzฤ… siฤ™ programiล›ci podczas tworzenia aplikacji na system iOS.

Czฤ™sto zadawane pytania podczas tworzenia aplikacji na iOS

Nie ma znaczenia, ile czasu poล›wiฤ™cisz na projektowanie i wdraลผanie; bล‚ฤ™dy sฤ… nieuniknione i bฤ™dฤ… siฤ™ pojawiaฤ‡. Poniลผszy rysunek przedstawia kilka typowych bล‚ฤ™dรณw w aplikacjach iOS.

Typowe bล‚ฤ™dy w aplikacjach iOS

Awaria aplikacji

Jednym z najbardziej frustrujฤ…cych problemรณw podczas korzystania z urzฤ…dzeล„ Apple jest czฤ™ste zawieszanie siฤ™ aplikacji podczas dziaล‚ania. Czฤ™sto przyczynฤ… awarii sฤ… bล‚ฤ™dy lub wycieki pamiฤ™ci w kodzie.

Niekompatybilnoล›ci aplikacji

Twoja aplikacja iOS moลผe dziaล‚aฤ‡ bez zarzutu w obecnej wersji systemu iOS, ale po uaktualnieniu systemu iOS moลผe przestaฤ‡ dziaล‚aฤ‡ z powodu problemรณw z kompatybilnoล›ciฤ….

Luka w zabezpieczeniach

Luka w zabezpieczeniach systemu iOS umoลผliwia hakerom atak na urzฤ…dzenia z systemem iOS i kradzieลผ prywatnych danych. Na przestrzeni lat odkryto powaลผne luki w zabezpieczeniach iPhone'a w rรณลผnych wersjach systemu iOS.

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

Mapa myล›li dotyczฤ…ca testowania iOS z elementami do rozwaลผenia

Jak pokazano na powyลผszym rysunku, iOS Testy MindMap pokazuje wszystkie elementy, ktรณre tester powinien wziฤ…ฤ‡ pod uwagฤ™ podczas przeprowadzania testรณw na systemie iOS.

Lista kontrolna testowania aplikacji na iOS

Ta lista kontrolna zostaล‚a zaprojektowana specjalnie do testowania wล‚aล›ciwoล›ci aplikacji mobilnych na iOS. Oczywiล›cie, testuje ona tylko ogรณlne wล‚aล›ciwoล›ci aplikacji, a nie ich funkcjonalnoล›ฤ‡.

  • Sprawdลบ czas instalacji aplikacji na urzฤ…dzeniu. Upewnij siฤ™, ลผe aplikacja zostaล‚a zainstalowana w akceptowalnym czasie.
  • Po zainstalowaniu aplikacji sprawdลบ, czy ma ona ikonฤ™ i nazwฤ™. Upewnij siฤ™ rรณwnieลผ, ลผ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 wyล›wietlania ekranu powitalnego i czas ล‚adowania ekranu gล‚รณwnego. Ekran gล‚รณwny aplikacji powinien ล‚adowaฤ‡ siฤ™ w akceptowalnym czasie. Jeล›li ล‚adowanie ekranu gล‚รณwnego trwa zbyt dล‚ugo, istnieje wiฤ™ksze prawdopodobieล„stwo, ลผe uลผytkownik zamknie aplikacjฤ™, a nawet jฤ… odinstaluje. Sprawdลบ rรณwnieลผ, jak ล‚aduje siฤ™ zawartoล›ฤ‡ ekranu gล‚รณwnego.
  • Gล‚รณwna funkcja aplikacji powinna byฤ‡ widoczna od razu. To powinno mรณwiฤ‡ samo za siebie.
  • Sprawdลบ, czy aplikacja obsล‚uguje zarรณwno orientacjฤ™ poziomฤ…, jak i pionowฤ…. Jeล›li tak, sprawdลบ aplikacjฤ™ w obu orientacjach. Interfejs uลผytkownika aplikacji powinien siฤ™ odpowiednio dostosowaฤ‡.
  • Uruchom aplikacjฤ™ bez poล‚ฤ…czenia z internetem. Upewnij siฤ™, ลผe dziaล‚a ona zgodnie z przeznaczeniem. Istnieje ryzyko, ลผe aplikacja ulegnie awarii podczas uruchamiania lub po prostu wyล›wietli pusty ekran.
  • Jeล›li aplikacja korzysta z usล‚ug lokalizacyjnych, sprawdลบ, czy wyล›wietla siฤ™ alert dotyczฤ…cy uprawnieล„ do lokalizacji. Ten alert powinien zostaฤ‡ wyล›wietlony uลผytkownikowi tylko raz.
  • Jeล›li aplikacja wysyล‚a powiadomienia push, sprawdลบ, czy wyล›wietla siฤ™ alert o zezwoleniu na powiadomienia push. Ten alert powinien rรณwnieลผ zostaฤ‡ wyล›wietlony uลผytkownikowi tylko raz.
  • Uruchom aplikacjฤ™, zamknij jฤ… i uruchom ponownie. Sprawdลบ, czy aplikacja zachowuje siฤ™ zgodnie z przeznaczeniem/poลผฤ…danym dziaล‚aniem.
  • Zamknij aplikacjฤ™, dotykajฤ…cping Naciล›nij przycisk Home na urzฤ…dzeniu i ponownie otwรณrz aplikacjฤ™. Sprawdลบ, czy aplikacja dziaล‚a zgodnie z przeznaczeniem.
  • Po zainstalowaniu sprawdลบ, czy aplikacja jest widoczna w ustawieniach iPhone'a.
  • Po uruchomieniu aplikacji sprawdลบ, czy jest ona dostฤ™pna w App Store. Aplikacja bฤ™dzie obsล‚ugiwana przez odpowiednie wersje systemรณw operacyjnych. Upewnij siฤ™ wiฤ™c, ลผe aplikacja jest dostฤ™pna w App Store na urzฤ…dzeniach z obsล‚ugiwanymi wersjami systemรณw operacyjnych. Aplikacja nie powinna byฤ‡ rรณwnieลผ dostฤ™pna w App Store na urzฤ…dzeniach z nieobsล‚ugiwanymi wersjami systemรณw operacyjnych.
  • 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ฤ™ po jej nazwie w pasku wyszukiwania urzฤ…dzenia. Sprawdลบ, czy aplikacja jest na liล›cie.
  • Sprawdลบ, czy wyglฤ…d przyciskรณw wykonujฤ…cych standardowe akcje nie ulegล‚ zmianie w aplikacji (na przykล‚ad: odล›wieลผ, organizuj, kosz, Odpowiedz, Wstecz itp.)
  • Sprawdลบ, czy standardowe przyciski nie sฤ… uลผywane do innych funkcji niลผ te, do ktรณrych sฤ… normalnie uลผywane.

Strategia testowania iOS

Gdy juลผ wiesz, co sprawdziฤ‡, kolejnym krokiem jest sposรณb testowania. Poniลผszy rysunek przedstawia kilka typowych strategii testowania iOS.

Typowe typy strategii testowania iOS

Automatyczne testowanie

Testowanie automatyczne to jedna z najwiฤ™kszych zalet testowania iOS. Pozwala ono na szybkie wykrywanie bล‚ฤ™dรณw i problemรณw z wydajnoล›ciฤ…. Korzyล›ci pล‚ynฤ…ce z testowania automatycznego przedstawiono poniลผej:

  • Zautomatyzowane testy moลผna uruchomiฤ‡ na wielu urzฤ…dzeniach, oszczฤ™dzajฤ…c Twรณj czas
  • Testowanie automatyczne moลผe dotyczyฤ‡ zestawรณw SDK. Moลผesz uruchamiaฤ‡ testy na rรณลผnych wersjach zestawรณw SDK.
  • Automatyczne testowanie zwiฤ™ksza produktywnoล›ฤ‡ testowania i pozwala zaoszczฤ™dziฤ‡ na kosztach rozwoju oprogramowania
  • Istnieje wiele otwartych frameworkรณw testowych, ktรณre obsล‚ugujฤ… 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 wprowadziล‚o OCUnit rozwiฤ…zanie testu jednostkowego w wersji 2.2 iOS SDK.

OCUnit byล‚ ล›rodowiskiem testowym dla Objective-C na komputerach Mac (obecnie macOS). Najwiฤ™kszฤ… zaletฤ… frameworka OCUnit byล‚a jego ล›cisล‚a integracja z Xcode ล›rodowisko programistyczne, jak pokazano poniลผej.

Uwaga: OCUnit (SenTestingKit) jest przestarzaล‚y; poniewaลผ Xcode 5. Apple'a XCTest framework zastฤ…piล‚ go jako standard โ€” zobacz sekcjฤ™ XCTest poniลผej. Zrzuty ekranu przedstawiajฤ… starszฤ… wersjฤ™ Xcode wersja.

Integracja OCUnit w Xcode ล›rodowisko

Niektรณre korzyล›ci wynikajฤ…ce z zastosowania OCUnit przedstawiono na poniลผszym rysunku.

Korzyล›ci z testowania jednostkowego za pomocฤ… OCUnit

Testowanie interfejsu uลผytkownika za pomocฤ… UIAutomation

Testowanie interfejsu uลผytkownika za pomocฤ… UIAutomation

Automatyzacja interfejsu uลผytkownika byล‚a JAVASCRIPT Biblioteka udostฤ™pniona przez Apple Inc., ktรณra moลผe byฤ‡ uลผywana do przeprowadzania zautomatyzowanych testรณw na rzeczywistych urzฤ…dzeniach i w symulatorze iOS. Ta struktura zostaล‚a dodana w pakiecie iOS SDK 4.0. Dziฤ™ki automatyzacji interfejsu uลผytkownika moลผna zautomatyzowaฤ‡ testowanie aplikacji nie tylko w symulatorze, ale takลผe na rzeczywistym urzฤ…dzeniu.

Uwaga: Firma Apple wycofaล‚a automatyzacjฤ™ interfejsu uลผytkownika Xcode 8 (2016) i pรณลบniej usuniฤ™to. Uลผyj XCUITest do nowych projektรณw testowania interfejsu uลผytkownika; poniลผsze klasy i zrzuty ekranu odzwierciedlajฤ… starszy zestaw narzฤ™dzi.

UIAutomation przyniosล‚o nastฤ™pujฤ…ce korzyล›ci:

  • Zmniejszony wysiล‚ek Testowanie rฤ™czne
  • Wymagane mniej wysiล‚ku do wykonania wszystkich testรณw
  • Uproszczono procedurฤ™ testowania interfejsu uลผytkownika (wystarczy nacisnฤ…ฤ‡ kilka przyciskรณw i uruchomiฤ‡ peล‚ne zestawy testรณw)

Narzฤ™dzie UIAutomation dziaล‚aล‚o na podstawie skryptรณw napisanych w JavaSkrypt. Symulowaล‚ 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ลผliwoล›ฤ‡ uruchamiania testรณw UIAutomation na urzฤ…dzeniu, nie tylko na symulatorze. Nie moลผna bardzo dobrze zintegrowaฤ‡ siฤ™ z innymi narzฤ™dziami
3. Opracowany w JavaScript, popularny jฤ™zyk programowania.

Klasy wspรณlne w ล›rodowisku UIAutomation

Powyลผszy rysunek przedstawia niektรณre powszechnie uลผywane klasy w ล›rodowisku 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
  • UIAActivityView class 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.
  • System Rezerwacji Sal Smart Spacesยฎ rozwiฤ…zuje problem zarzฤ…dzania rezerwacjami sal, biurek i przestrzeni wspรณlnych. Zmiany w ostatniej chwili sฤ… od razu widoczne, co uล‚atwia pracฤ™ recepcji i uลผytkownikom. Kalendarz w czasie rzeczywistym pokazuje wolne zasoby, ich parametry, a nawet zaplanowane sprzฤ…tanie. 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 (nie jest juลผ aktywnie utrzymywany)
  • KIF: 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.
  • Appium:popularny kod open source, cross-platform framework automatyzujฤ…cy aplikacje iOS za pomocฤ… sterownika XCUITest firmy Apple

XCTest i XCUITest: nowoczesne frameworki testowe firmy Apple

OCUnit i UIAutomation to waลผne technologie historyczne, ale obie zostaล‚y juลผ wycofane. Apple zastฤ…piล‚o OCUnit XCTest in Xcode 5 (2013) i wycofano UIAutomation w Xcode 8 (2016) za XCUITest, komponent testowania interfejsu uลผytkownika w XCTest. Sฤ… to struktury testowe dostarczane i obsล‚ugiwane przez Apple w kaลผdej obecnej wersji Xcode.

W XCTest piszesz testy jednostkowe w Swift lub Objective-C i uruchom je z Xcode Nawigator testรณw, xcodebuild wiersza poleceล„, w symulatorze lub na prawdziwych urzฤ…dzeniach. XCUITest przeprowadza Twojฤ… aplikacjฤ™ przez warstwฤ™ dostฤ™pnoล›ci, dziฤ™ki czemu testy interfejsu uลผytkownika zachowujฤ… siฤ™ podobnie jak testy prawdziwego uลผytkownika.

Stare ramy Nowoczesna wymiana Co siฤ™ zmieniล‚o
OCUnit (zestaw testowy SenTestingKit) XCTest Te same koncepcje testowania jednostkowego, teraz wbudowane w kaลผdy Xcode szablon projektu
Automatyzacja interfejsu uลผytkownika (JavaScenariusz) XCUITest Testy interfejsu uลผytkownika sฤ… pisane w Swift lub Objective-C zamiast JavaScenariusz

๐Ÿ’ก Wskazรณwka: Narzฤ™dzia wieloplatformowe, takie jak Appium zautomatyzowaฤ‡ system iOS za pomocฤ… XCUITest, dziฤ™ki czemu te umiejฤ™tnoล›ci moลผna przenieล›ฤ‡ bezpoล›rednio.

Testowanie rฤ™czne

Automatyzacja zwiฤ™ksza szybkoล›ฤ‡, ale opisane poniลผej techniki rฤ™czne wymagajฤ… ludzkiej oceny, ktรณrej skrypty nie sฤ… w stanie zapewniฤ‡.

Testowanie eksploracyjne

To testowanie bez formalnego planu testรณw. Testowanie eksploracyjne to tania metoda testowania, ale moลผe ona nie wykryฤ‡ potencjalnych bล‚ฤ™dรณw w aplikacji iOS.

Testowanie eksploracyjne โ€“ wady i zalety

ZALETY Wady
1. Less konieczne jest przygotowanie; powaลผne bล‚ฤ™dy sฤ… wykrywane wczeล›nie. Wymaga wysokich umiejฤ™tnoล›ci testera
2. Nie Plan testรณw jest konieczne, co przyspiesza 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.

Cztery rodzaje testรณw uลผytkownikรณw

Testowanie koncepcji

Oceล„ reakcjฤ™ uลผytkownikรณw na pomysล‚ aplikacji przed wprowadzeniem jej na rynek. Procedury testowania koncepcji w systemie iOS opisano na poniลผszym rysunku.

Procedura testowania koncepcji na iOS

Test uลผytecznoล›ci

Test uลผytecznoล›ci to test ล‚atwoล›ci korzystania z aplikacji iOS. W testach iOS test uลผytecznoล›ci moลผe byฤ‡ nagrany zapamiฤ™taฤ‡ lub podzieliฤ‡ siฤ™ z innymi.

Oto niektรณre narzฤ™dzia wspomagajฤ…ce testowanie uลผytecznoล›ci w systemie iOS:

Trymata 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 rzeczywistymi danymi, aby uzyskaฤ‡ ostatecznฤ… opiniฤ™ uลผytkownikรณw. Aby udostฤ™pniฤ‡ aplikacje do testรณw beta, wykonaj poniลผsze kroki.

Etapy dystrybucji testรณw beta

-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 do swojego konta Apple Developer

-Utwรณrz dystrybucjฤ™ ad hoc:Dystrybucja Ad Hoc umoลผliwia testerowi uruchomienie aplikacji na swoim urzฤ…dzeniu bez koniecznoล›ci Xcode. Ten krok obejmuje 2 podetapy

  • Utwรณrz certyfikaty dystrybucyjne
  • Twรณrz profile udostฤ™pniania ad hoc

-Poproล› o opiniฤ™ od testera: Testerzy przeprowadzajฤ… testy i wysyล‚ajฤ… Ci raporty o bล‚ฤ™dach. Po wydaniu aplikacji moลผesz je otrzymaฤ‡ odโ€ฆ Poล‚ฤ…cz ze sklepem z aplikacjami (dawniej iTunes ล‚ฤ…czyฤ‡).

Uwaga: Obecnie wiฤ™kszoล›ฤ‡ zespoล‚รณw dystrybuuje wersje beta z Lot testowy, dziฤ™ki ktรณrej moลผesz zaprosiฤ‡ do 10 000 zewnฤ™trznych testerรณw bez koniecznoล›ci rฤ™cznego zbierania identyfikatorรณw urzฤ…dzeล„.

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 na dwรณch urzฤ…dzeniach z systemem iOS

Testowanie A/B skล‚ada siฤ™ z trzech gล‚รณwnych etapรณw

  • Skonfiguruj testPrzygotuj 2 wersje swojej aplikacji iOS (A i B) oraz metrykฤ™ testowฤ…
  • Testowanie: Przetestuj jednoczeล›nie obie wersje 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 AndroidMoลผna go zintegrowaฤ‡ z aplikacjฤ… iOS, co przyspieszy 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 na aktualizacjฤ™. Oszczฤ™dza to Twรณj czas podczas przeprowadzania testรณw.
  • Monitorowanie Dokล‚adnie przeprowadลบ test. Moลผesz uczyฤ‡ siฤ™ z testu, monitorujฤ…c go.

Testowanie iOS Najlepsza praktyka

Oto kilka wskazรณwek, ktรณre warto znaฤ‡ organizujฤ…c testy aplikacji na iOS

  1. Przetestuj aplikacjฤ™ na prawdziwe urzฤ…dzenie aby uzyskaฤ‡ realistyczny obraz wydajnoล›ci
  2. Poprawa Twoje metody testowania, poniewaลผ tradycyjne metody testowania nie sฤ… juลผ wystarczajฤ…ce do pokrycia wszystkich testรณw w testowaniu iOS
  3. Uลผyj dziennik konsoli Aby przetestowaฤ‡ aplikacjฤ™ iOS. Ta funkcja iOS obejmuje informacje z kaลผdej aplikacji na urzฤ…dzeniu.
  4. dokument bล‚ฤ™dy aplikacji przy uลผyciu wbudowany zrzut ekranu polecenie. Pomaga programistom zrozumieฤ‡, w jaki sposรณb powstajฤ… bล‚ฤ™dy.
  5. Zgล‚aszanie awarii Narzฤ™dzia sฤ… przydatne podczas testowania aplikacji. Potrafiฤ… wykrywaฤ‡ awarie i rejestrowaฤ‡ szczegรณล‚y, dziฤ™ki czemu moลผna ล‚atwo badaฤ‡ 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 to jest to samo.

iOS oraz Android to dwie platformy opracowane przez Apple Inc. i Google odpowiednio. Sฤ… one zupeล‚nie rรณลผne pod wzglฤ™dem ล›rodowisk testowych, struktur testowych i jฤ™zykรณw programowania.

Wystarczy przetestowaฤ‡ aplikacjฤ™ na symulatorze iOS.

Symulator iOS nie jest wystarczajฤ…co mocny, aby testowaฤ‡ aplikacjฤ™, poniewaลผ 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...)

Wszyscy bฤ™dฤ… pobieraฤ‡ moje aplikacje ze sklepu z aplikacjami, poniewaลผ majฤ… 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.

FAQ

Tak. Platformy wspomagane przez sztucznฤ… inteligencjฤ™ generujฤ… przypadki testowe, wykrywajฤ… regresje wizualne i naprawiajฤ… uszkodzone lokalizatory elementรณw po zmianie interfejsu uลผytkownika. Narzฤ™dzia takie jak Test sigma pozwรณl zespoล‚om tworzyฤ‡ testy iOS w prostym jฤ™zyku angielskim.

Oparte na sztucznej inteligencji mechanizmy samonaprawiania aktualizujฤ… lokalizatory elementรณw po zmianach interfejsu uลผytkownika, oznaczajฤ… niestabilne testy i priorytetyzujฤ… przypadki wysokiego ryzyka, eliminujฤ…c koniecznoล›ฤ‡ rฤ™cznej przerรณbki po kaลผdej wersji systemu iOS.

Tak. Appium jest aktywnie utrzymywany i obsล‚uguje aplikacje iOS za poล›rednictwem ล›rodowiska XCUITest firmy Apple, obsล‚ugujฤ…c testy w Javascenariusz, Python, Javalub C#.

Nie. Bezpล‚atny Apple ID z Xcode pozwala na testowanie na wล‚asnym urzฤ…dzeniu. Wymagany jest pล‚atny program Apple Developer Program (99 USD/rok). Lot testowy dystrybucja i wydanie w App Store.

Podsumuj ten post nastฤ™pujฤ…co: