Testowanie aplikacji na iOS

W przeciwieństwie do innych typów aplikacji na iOS aplikacja korzystająca z interfejsów Home API ma własne, unikalne aspekty i wyzwania, w tym zależności od fizycznych inteligentnych urządzeń domowych, niezawodności sieci, bezpieczeństwa i prywatności oraz interoperacyjności urządzeń i protokołów. Te różnice mają wpływ na testowanie.

Konfigurowanie środowiska testowego

Solidne środowisko testowe jest niezbędne do testowania aplikacji korzystającej z interfejsów Home API.

Dobrym rozwiązaniem jest odizolowanie urządzeń testowych w dedykowanej sieci Wi-Fi. Zapobiega to zakłóceniom ze strony innych urządzeń i umożliwia symulowanie różnych warunków sieciowych, takich jak ograniczona przepustowość.

Warto przeprowadzić testy na różnych typach inteligentnych urządzeń domowych różnych producentów. Pamiętaj, aby przeprowadzać testy na rzeczywistych urządzeniach fizycznych. Urządzenia wirtualne i emulatory są przydatne, ale nie należy polegać wyłącznie na nich.

Podobnie testowanie aplikacji na różnych urządzeniach z iOS od różnych producentów, o różnych wymiarach ekranu i z różnymi wersjami iOS pomaga sprawdzić szerszą kompatybilność.

Przygotuj narzędzia

Do testowania aplikacji korzystającej z interfejsów Home API przydadzą Ci się te narzędzia:

Narzędzie Opis
Google Home Playground Nie zastępuje testowania na rzeczywistych urządzeniach, ale jest nieoceniony w wielu scenariuszach testowych.
Matter Virtual Device (MVD) Kolejna aplikacja do emulacji, która może być przydatna podczas testowania urządzeń Matter w aplikacji korzystającej z interfejsów Home API.
emulator sieci, Umożliwia symulowanie różnych warunków sieciowych i odpowiedzi interfejsu API, co jest szczególnie przydatne, jeśli używasz zaplecza w chmurze.
TestFlight Umożliwia automatyzację testowania interfejsu. Aby symulować interakcje ze sprzętem, musisz utworzyć atrapę bazowego interfejsu API.
XCode Console obsługuje i analizuje dane logów,
XCUIAutomation Umożliwia automatyzację testowania interfejsu. Aby symulować interakcje ze sprzętem, musisz utworzyć atrapę bazowego interfejsu API.

Stosowanie różnych podejść i strategii testowania

W przypadku aplikacji korzystającej z interfejsów Home API należy stosować różne metody testowania. Ogólne informacje o różnych metodach znajdziesz w artykule Testowanie aplikacji w TestFlight. Oprócz testów bezpieczeństwa i wrażeń użytkownika, które muszą przejść wszystkie aplikacje na iOS, niektóre obszary testów są szczególnie istotne w przypadku aplikacji korzystających z interfejsów Home API. Szczegółowe informacje na ten temat znajdziesz w kolejnych sekcjach.

Testy funkcjonalne

W zależności od możliwości aplikacji warto zwrócić szczególną uwagę na te obszary:

  1. Wykrywanie i parowanie urządzeń, w tym konfiguracja początkowa i parowanie z nowymi urządzeniami, ponowne wykrywanie istniejących urządzeń po ponownym uruchomieniu aplikacji, ponownym uruchomieniu urządzenia lub zmianach w sieci. Sprawdź też scenariusze, takie jak brak odpowiedzi urządzeń lub podanie przez użytkownika nieprawidłowych danych logowania.
  2. synchronizacja stanu, która zapewnia, że aplikacja jest aktualizowana w odpowiednim czasie, aby dokładnie odzwierciedlać bieżący stan;
  3. Jak uprawnienia są zarządzane i egzekwowane, zwłaszcza jeśli aplikacja obsługuje wielu użytkowników lub wspólny dostęp do domu. Obejmuje to sprawdzenie, czy aplikacja prawidłowo obsługuje cofnięte uprawnienia.
  4. Jeśli Twoja aplikacja obsługuje sceny, np. scenę „Dobranoc”, która wyłącza wszystkie światła, przetestuj tworzenie, modyfikowanie i wykonywanie scen. Testuj automatyzacje, w tym polecenia inicjujące i działania.

Testy wydajności

Sprawdź, czy aplikacja działa sprawnie i nie powoduje niepotrzebnych opóźnień. Jeśli to możliwe, przetestuj aplikację na dużej liczbie urządzeń, aby ocenić jej skalowalność i wydajność pod obciążeniem. Sprawdź też zużycie procesora, pamięci i baterii przez aplikację, zwłaszcza podczas aktywnej komunikacji z urządzeniem, aby sprawdzić, czy wykorzystanie zasobów jest uzasadnione.

Testy niezawodności i stabilności

Ze względu na zależność od połączenia z siecią aplikacje korzystające z interfejsów Home API należy przetestować w tych scenariuszach:

  1. Wahania sieci
    • Symuluj przerwy w działaniu Wi-Fi, słaby sygnał i przełączanie sieci.
    • Sprawdź, czy aplikacja prawidłowo obsługuje rozłączanie i ponowne łączenie.
    • Sprawdź, czy polecenia są kolejkowane i wykonywane po przywróceniu łączności, lub wyświetl odpowiednie komunikaty o błędach.
    • Testuj aplikację w sieciach zdalnych, a nie tylko w sieci domowej.
  2. Odłączenie urządzenia
    • Odłącz urządzenia od zasilania.
    • Wyłącz i włącz urządzenia.
  3. Operacje równoczesne
    • wysyłanie szybkiej sekwencji poleceń;
    • Poproś kilku użytkowników, aby jednocześnie spróbowali sterować tym samym urządzeniem.
    • Testowanie nakładających się scen i automatyzacji.
  4. Obsługa błędów
    • Wymuszaj błędy interfejsu API, np. przez symulowanie odpowiedzi serwera interfejsu API w chmurze.
    • Testowanie nieprawidłowych danych wejściowych użytkownika.
    • Sprawdź, czy w przypadku błędów wyświetlają się odpowiednie komunikaty.
  5. Niezawodność – uruchom aplikację i połączone urządzenia na dłuższy czas, aby wykryć ewentualne wycieki pamięci lub problemy ze stabilnością.

Przed opublikowaniem aplikacji

Przed opublikowaniem aplikacji korzystającej z interfejsów Home API zalecamy dokładne przetestowanie jej pod kątem spełniania wszystkich wymagań funkcjonalnych i jakościowych. Skorzystaj z raportu z testów aplikacji korzystających z interfejsów Google Home API, aby przetestować funkcje aplikacji.

Jeśli poprosimy Cię o przesłanie raportu z testu aplikacji korzystającej z interfejsów Google Home API, wyślij go do swojego kontaktu w Google Technical Account Manager (TAM), aby mógł go sprawdzić i wykorzystać jako materiał referencyjny podczas testowania Twojej aplikacji.