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 testować na prawdziwych, fizycznych urządzeniach. Urządzenia wirtualne i emulatory mają swoje miejsce, ale nie należy polegać wyłącznie na nich.

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

Przygotowywanie narzędzi

Podczas testowania aplikacji korzystającej z interfejsów Home API przydatne są te narzędzia:

Narzędzie Opis
Google Home Playground Nie zastępuje testowania na rzeczywistych urządzeniach fizycznych, ale jest nieocenione 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 backendu w chmurze.
TestFlight Umożliwia automatyzację testowania interfejsu. Aby symulować interakcje ze sprzętem, musisz utworzyć atrapę bazowego interfejsu API.
Konsola XCode 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 podejścia do testowania. Ogólne informacje o różnych metodach znajdziesz w artykule Testowanie aplikacji w TestFlight. Oprócz testowania pod kątem wygody użytkownika i bezpieczeństwa, które muszą przejść wszystkie aplikacje na iOS, niektóre obszary testowania są szczególnie istotne w przypadku aplikacji korzystających z interfejsów Home API. Więcej informacji 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 wstępna konfiguracja i parowanie z nowymi urządzeniami, ponowne wykrywanie istniejących urządzeń po ponownym uruchomieniu aplikacji, ponownym uruchomieniu urządzeń lub zmianach w sieci. Sprawdź też scenariusze, takie jak urządzenia, które nie odpowiadają, lub sytuacja, w której użytkownik wpisuje nieprawidłowe dane logowania.
  2. Synchronizacja stanu, czyli sprawdzanie, czy aplikacja aktualizuje się, aby na bieżąco odzwierciedlać aktualny stan.
  3. Sposób zarządzania uprawnieniami i ich egzekwowania, zwłaszcza jeśli aplikacja obsługuje wielu użytkowników lub dostęp do domu współdzielony z innymi osobami. Obejmuje to sprawdzenie, czy aplikacja prawidłowo obsługuje cofnięte uprawnienia.
  4. Jeśli 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 reaguje i nie powoduje niepotrzebnych opóźnień. Jeśli to możliwe, przetestuj aplikację na dużej liczbie urządzeń, aby ocenić skalowalność i wydajność aplikacji 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 rozsądne.

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 testować pod kątem tych scenariuszy:

  1. Wahania sieci
    • Symuluj przerwy w połączeniu Wi-Fi, słaby sygnał i przełączanie sieci.
    • Sprawdź, czy aplikacja prawidłowo obsługuje rozłączenia i ponowne połączenia.
    • Sprawdź, czy polecenia są kolejkowane i wykonywane po przywróceniu połączenia lub czy wyświetlają się 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 urządzenia i włącz je ponownie.
  3. Operacje współbieżne
    • Wysyłaj szybką sekwencję poleceń.
    • Poproś kilku użytkowników, aby jednocześnie sterowali tym samym urządzeniem.
    • Testuj nakładające się sceny i automatyzacje.
  4. Obsługa błędów
    • Wymuś błędy interfejsu API, np. przez utworzenie atrap odpowiedzi serwera interfejsu API w chmurze.
    • Testuj nieprawidłowe dane wejściowe użytkownika.
    • Sprawdź, czy aplikacja prawidłowo obsługuje błędy i wyświetla informacyjne komunikaty o błędach.
  5. Niezawodność – uruchamiaj aplikację i połączone urządzenia przez dłuższy czas, aby wykryć ewentualne wycieki pamięci lub problemy ze stabilnością.

Przed uruchomieniem aplikacji

Przed uruchomieniem aplikacji korzystającej z interfejsów Home API zalecamy dokładne przetestowanie jej, aby sprawdzić, czy spełnia wszystkie wymagania funkcjonalne i jakościowe. Podczas testowania funkcjonalności aplikacji korzystaj z raportu z testów aplikacji korzystającej z interfejsów Google Home API.

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