Testowanie animowanych widoków w aplikacjach na iOS: wskazówki ekspertów

Opublikowany: 2023-03-20

Animacje oferują płynne transakcje wizualne między różnymi stanami interfejsu użytkownika aplikacji. W tworzeniu aplikacji na iOS animacje służą do zmiany położenia widoków lub modyfikowania ich rozmiarów, a także do ukrywania widoków lub usuwania widoków z hierarchii. Animacje odgrywają istotną rolę we wdrażaniu niesamowitych efektów wizualnych w aplikacji. Przekazują również wizualną informację zwrotną dotyczącą działań użytkowników. Rezultatem jest angażujący i dynamiczny interfejs użytkownika oraz udoskonalony interfejs użytkownika dla użytkowników aplikacji na iOS.

Widok animowany to widok niestandardowy, który zmienia swój wygląd w odpowiedzi na określony kontekst. Na przykład układ karuzeli zawiera kilka slajdów, których rozmiar i wygląd zmieniają się w odpowiedzi na interakcję użytkownika. Jednak animowane widoki będą działać zgodnie z oczekiwaniami i zapewniać niesamowity UX tylko wtedy, gdy zostaną poprawnie przetestowane. Testowanie animowanych widoków w aplikacjach na iOS jest trudne, ponieważ animacje wymagają czasowych modyfikacji w interfejsie użytkownika.

Ten post przeprowadzi Cię przez prawidłowy proces testowania animowanych widoków w aplikacjach na iOS.

Kluczowe kroki do testowania animowanych widoków w iOS

Zidentyfikuj widok animowany i jego komponenty

Animowany widok odnosi się do widoku z animowanym zachowaniem lub prezentacją. Obejmuje różne komponenty, takie jak obrazy, przyciski, etykiety i inne elementy interfejsu użytkownika. Tak więc pierwszym krokiem przed rozpoczęciem testowania animowanych widoków w systemie iOS jest zidentyfikowanie animowanego widoku wraz z jego komponentami. Musisz wziąć pod uwagę następujące czynniki.

  • Zidentyfikuj typ animacji, którego zamierzasz używać w aplikacji, na przykład powiększanie/pomniejszanie, pojawianie się/zanikanie oraz przesuwanie/wysuwanie.
  • Ustaw czas trwania animacji – czas potrzebny do zakończenia animacji. Zdecyduj o tym czasie bardzo ostrożnie, ponieważ to od niego zależy efekt Twojej animacji.
  • Zidentyfikuj określone interakcje użytkownika lub określone zdarzenia, które uruchomią animację. Przykładami takich wyzwalaczy są przewijanie i naciskanie przycisków.
  • Sprawdź, jak dokładnie i dokładnie animacja będzie działać lub zachowywać się.
  • Sprawdź, jak animacja wpływa na użycie procesora, wydajność i pamięć aplikacji.
  • Weź pod uwagę informacje zwrotne, które użytkownicy aplikacji przekażą w trakcie i po animacji — wskaźniki wizualne lub dotykowe informacje zwrotne.

Właściwa identyfikacja animowanego widoku i jego komponentów jest istotna podczas przeprowadzania testów w projektach programistycznych. Pomaga podzielić proces testowy na mniejsze i łatwiejsze w zarządzaniu części.

Skonfiguruj środowisko testowe

Musisz skonfigurować środowisko testowe, które umożliwi ci sprawdzanie widoków i manipulowanie nimi podczas różnych faz animacji. Oto kluczowe kroki w tym celu.

Najpierw utwórz osobny cel testowy, a także osobne pliki dla każdego komponentu. W ten sposób możesz osobno zweryfikować oczekiwane zachowanie każdego komponentu. Aby utworzyć osobny cel dla środowiska testowego, przejdź do „Plik”, następnie „Nowy”, a następnie „Docelowy”. Wybierz „Pakiet testów jednostkowych iOS” znajdujący się w sekcji „Test”. Tworzony jest nowy cel. Możesz użyć tego celu do pisania testów dla animowanego widoku. Następnie utwórz klasę testową dla animowanych widoków. Ta klasa powinna zawierać przypadki testowe, które będą symulować różne etapy procesu animacji i zapewniać, że widoki będą działać zgodnie z oczekiwaniami.

Teraz skonfiguruj mocowanie testowe zawierające widok, który będziesz testować. Ten krok obejmuje podstawowe zależności, takie jak źródła danych i modele widoków. Należy również skonfigurować makiety obiektów dla zależności, takich jak źródła danych i inne widoki. Po wykonaniu tej czynności można utworzyć niezbędne dane testowe.

Powyższe kroki pomogą Ci skonfigurować środowisko testowe dla animacji podczas tworzenia aplikacji na iOS. Umożliwi to przeprowadzenie procesu testowania w sposób kontrolowany i powtarzalny.

Napisz testy jednostkowe dla podstawowej logiki aplikacji na iOS

Podziel animacje na komponenty o małych rozmiarach, a następnie przetestuj każdy komponent osobno. Ta praktyka jest lepsza niż testowanie całej animacji za jednym razem. Oto przykład. Istnieje niestandardowy widok, który jest animowany po dotknięciu. Tutaj musisz sprawdzić, czy widok zmienia się po dotknięciu i czy kolor widoku zmienia się po dotknięciu. Należy również upewnić się, że animacja widoku przebiega płynnie, bez szarpnięć.

Następnie zidentyfikuj komponenty obecne w animacji. Napisz przypadki testowe dla każdego komponentu, aby sprawdzić, czy komponenty działają zgodnie z oczekiwaniami. Do pisania takich testów zaleca się używanie dostarczonego przez Apple frameworka XCTest. Na przykład XCTestExpectation pozwala poczekać na zakończenie animacji przed dokonaniem jakichkolwiek twierdzeń. Za pomocą tego narzędzia można przetestować zachowanie widoku w różnych fazach animacji.

Animacje mogą mieć zależności, takie jak inne widoki lub źródła danych, w innych częściach aplikacji. Z tego powodu musisz wyizolować swoje testy i poprawić ich niezawodność. W tym celu musisz użyć próbnych obiektów dla zależności. W ten sposób będziesz mógł przetestować logikę animacji aplikacji bez martwienia się o inne części aplikacji iOS.

Debugowanie przy użyciu wbudowanych narzędzi do debugowania animacji w Xcode

Xcode zawiera szeroką gamę wbudowanych narzędzi do debugowania, które ułatwiają animacje debugowania. Takie narzędzia pomagają zrozumieć, jak działają animacje i zidentyfikować błędy. Dzięki tym narzędziom możesz wykonywać akcje, takie jak ustawianie punktów przerwania w kodzie, aby wstrzymywać animację w określonych punktach, aby móc zbadać stan widoku. W ten sposób możesz zidentyfikować te błędy logiczne obecne w kodzie, które wpływają na działanie animacji.

Hierarchia widoków debugowania narzędzia pomaga sprawdzić widok podczas animacji. Będziesz mógł zobaczyć właściwości widoku w różnych fazach animacji, w tym ograniczenia, klatki itp. Xcode oferuje inne świetne narzędzie, wykres pamięci debugowania. To narzędzie sprawdza użycie pamięci przez widok podczas animacji i pomaga identyfikować problemy z wydajnością, takie jak wycieki pamięci. Inne przykłady narzędzi Xcode to inspektor hierarchii widoków animacji, narzędzie do profilowania czasu i symulator powolnych animacji.

Jakie są różne metodologie testowania animowanych widoków w systemie iOS?

Sprawdź różne metodologie testowania. Każda z tych technik testowania odgrywa kluczową rolę w zapewnieniu rygorystycznego testowania animowanych widoków.

Testowanie asynchroniczne

Animacje obejmują opóźnienia lub wywołania zwrotne, które występują asynchronicznie. Z tego powodu podczas testowania animowanych widoków należy przeprowadzać testy asynchroniczne. Zapoznaj się z krokami dotyczącymi testowania asynchronicznego.

Krok 1

Skorzystaj z XCTestExpectation, wbudowanego narzędzia dostępnego w ramach XCTest na iOS. Za pomocą tego narzędzia musisz utworzyć oczekiwanie dla zdarzenia asynchronicznego. Ustaw limit czasu dla zdarzenia. Po utworzeniu oczekiwania na zakończenie animacji i ustaleniu limitu czasu test zakończy się niepowodzeniem, jeśli oczekiwanie nie zostanie spełnione. Oto przykład.

niech AnimacjaOczekiwanie = XCTestOczekiwanie(opis: „Animacja zakończona”)

// Rozpocznij kod animacji tutaj

// Po zakończeniu animacji spełnij oczekiwania

animacjaCompletionHandler = {

animacjaOczekiwanie.spełnienie()

}

// Poczekaj, aż spełni się oczekiwanie

czekaj (na: [oczekiwanie animacji], limit czasu: 5)

Krok 2

Kilka interfejsów API animacji systemu iOS zawiera procedury obsługi uzupełniania, które są wywoływane po ukończeniu animacji. Testerzy używają tych procedur obsługi zakończenia do przeprowadzania testów po zakończeniu animacji. Spójrz na ten przykład.

// Rozpocznij kod animacji tutaj

// Na końcu animacji wykonaj test

animacjaCompletionHandler = {

// Wykonaj test tutaj

}

Krok 3

Niektóre animacje mogą obejmować modyfikację stanu interfejsu użytkownika; należy to zrobić w głównym wątku. Tutaj musisz użyć kolejek wysyłkowych. W ten sposób możesz wykonać kod testowy w głównym wątku po zakończeniu animacji. Spójrz, jak to się dzieje.

// Rozpocznij kod animacji tutaj

// Na końcu animacji wykonaj test na głównej kolejce

animacjaCompletionHandler = {

DispatchQueue.main.async {

// Wykonaj test tutaj

}

}

Testowanie ręczne

Upewnij się, że przeprowadzasz testy zarówno na symulowanych, jak i rzeczywistych urządzeniach. Potrzebujesz tego procesu, aby sprawdzić, czy animacje będą działać zgodnie z oczekiwaniami na każdym rodzaju urządzenia i wersji systemu operacyjnego.

Testowanie ręczne obejmuje ręczną interakcję z widokiem i obserwację zachowania animacji. W ten sposób przeprowadzane są testy ręczne. Testerzy uruchamiają aplikację iOS na urządzeniu lub w symulatorze iOS. Następnie ręcznie uruchamiają animację poprzez interakcję z aplikacją. W ten sposób możesz dowiedzieć się więcej o problemach z animacją, takich jak nieoczekiwane zachowanie lub usterki w jej działaniu. Pamiętaj, że zachowanie animacji może się różnić na różnych urządzeniach i symulatorach, więc przetestuj animowane widoki w różnych środowiskach, aby uzyskać najlepsze wyniki.

Zalecamy również przetestowanie animowanych widoków z prawdziwymi użytkownikami i obserwowanie ich interakcji z animacjami. Możesz to zrobić, przeprowadzając sesję testów użyteczności lub badanie użytkowników. W ten sposób otrzymasz bardzo potrzebne opinie użytkowników dotyczące animacji Twojej aplikacji na iOS, zidentyfikujesz problemy i rozwiążesz je w odpowiednim czasie.

Testowanie automatyczne

Twórz zautomatyzowane testy widoków animowanych za pomocą platform testowych, takich jak EarlGrey, XCUITest lub KIF, do symulacji interakcji użytkownika i sprawdzania, czy animacje zachowują się zgodnie z oczekiwaniami. Testy automatyczne pomagają wykrywać problemy we wczesnych fazach cyklu rozwojowego. Takie podejście do testowania pozwala również zachować funkcjonalność animacji podczas modyfikowania kodu.

Rzuć okiem na instrukcje testowania animowanych widoków za pomocą narzędzia XCUITest.

Krok 1

Zidentyfikuj widok zawierający animację, która ma zostać przetestowana. Następnie zidentyfikuj interakcję użytkownika, która uruchamia animację.

Krok 2

Napisz przypadek testowy, który symuluje interakcję użytkownika w celu wyzwolenia animacji. Na przykład, jeśli animacja zostanie uruchomiona po naciśnięciu przycisku, musisz utworzyć przypadek testowy, aby dotknąć tego przycisku.

Krok 3

Po wyzwoleniu animacji sprawdź zachowanie animacji za pomocą asercji. Na przykład sprawdź rozmiar, pozycję i pojemność widoku podczas trwania animacji.

Krok 4

Teraz powtórz powyższe kroki, używając różnych scenariuszy, takich jak różne animacje lub różne dane wejściowe użytkownika.

Sprawdź ten przykład. Tutaj XCUITest jest używany do stworzenia przypadku testowego dla animacji „przycisku”.

func testButtonAnimacja() {

niech aplikacja = XCUIApplication()

aplikacja.uruchom()

niech button = app.buttons[“myButton”]

przycisk.dotknij()

// Sprawdź animację

niech animacjaOczekiwanie = oczekiwanie (opis: „Animacja przycisku zakończona”)

DispatchQueue.main.asyncAfter(termin: .now() + 1.0) {

XCTAssertTrue(button.frame.origin.x > 0, „Przycisk powinien przesunąć się w prawo podczas animacji”)

animacjaOczekiwanie.spełnienie()

}

waitForExpectations (limit czasu: 2.0, obsługa: zero)

}

Końcowe poglądy

Testowanie animowanych widoków może czasami być trudne, ponieważ wymaga zmian dynamicznych i wizualnych. Z tego powodu musisz przetestować animowane widoki swojej aplikacji na iOS zgodnie z najlepszymi praktykami i strategiami. Możesz zwrócić się o pomoc techniczną do profesjonalnej usługi tworzenia aplikacji mobilnych, która specjalizuje się w tworzeniu aplikacji na iOS. Umożliwi to prawidłowe przeprowadzenie procesu tworzenia i testowania aplikacji.