iOS-App testen

Im Gegensatz zu anderen Arten von iOS-Apps gibt es bei Home APIs-Apps besondere Überlegungen und Herausforderungen, darunter Abhängigkeiten von physischen Smart-Home-Geräten, Netzwerkzuverlässigkeit, Sicherheit und Datenschutz sowie Interoperabilität von Geräten und Protokollen. Diese Unterschiede wirken sich auf die Tests aus.

Testumgebung einrichten

Eine robuste Testumgebung ist für das Testen einer Home APIs-App unerlässlich.

Es empfiehlt sich, die Testgeräte in einem dedizierten WLAN zu isolieren. So werden Störungen durch andere Geräte vermieden und Sie können verschiedene Netzwerkbedingungen wie eine gedrosselte Bandbreite simulieren.

Du solltest verschiedene Smart-Home-Gerätetypen von verschiedenen Herstellern testen. Führe die Tests auf echten, physischen Geräten durch. Virtuelle Geräte und Emulatoren haben ihre Berechtigung, sollten aber nicht ausschließlich verwendet werden.

Ebenso hilft das Testen Ihrer App mit einer Vielzahl von iOS-Geräten verschiedener Hersteller, mit unterschiedlichen Bildschirmgrößen und mit verschiedenen iOS-Versionen, die Kompatibilität zu überprüfen.

Tools zusammenstellen

Die folgenden Tools sind beim Testen einer Home APIs-App hilfreich:

Tool Beschreibung
Google Home Playground Kein Ersatz für Tests mit tatsächlichen physischen Geräten, aber für viele Testszenarien von unschätzbarem Wert.
Matter Virtual Device (MVD) Eine weitere Emulations-App, die beim Testen mit Matter-Geräten in einer Home APIs-App hilfreich sein kann.
Netzwerkemulator Sie können unterschiedliche Netzwerkbedingungen und API-Antworten simulieren, was besonders hilfreich ist, wenn Sie ein Cloud-Backend verwenden.
TestFlight Ermöglicht die Automatisierung von UI-Tests. Sie müssen die zugrunde liegende API simulieren, um Hardwareinteraktionen zu simulieren.
XCode Console Verarbeitet und analysiert Logdaten.
XCUIAutomation Ermöglicht die Automatisierung von UI-Tests. Sie müssen die zugrunde liegende API simulieren, um Hardwareinteraktionen zu simulieren.

Verschiedene Testansätze und -strategien anwenden

Du solltest verschiedene Testansätze für deine Home APIs-App verwenden. Allgemeine Informationen zu den verschiedenen Methoden findest du unter Apps in TestFlight testen. Zusätzlich zu den Tests der Nutzerfreundlichkeit und Sicherheit, die für alle iOS-Apps erforderlich sind, gibt es einige Testbereiche, die für Home APIs-Apps besonders relevant sind und in den folgenden Abschnitten näher erläutert werden.

Funktionstests

Je nach den Funktionen Ihrer App sollten Sie auf einige der folgenden Bereiche besonders achten:

  1. Geräteerkennung und ‑kopplung, einschließlich Ersteinrichtung und Kopplung mit neuen Geräten, erneute Erkennung vorhandener Geräte nach App-Neustarts, Geräteneustarts oder Netzwerkänderungen. Prüfen Sie auch Szenarien wie nicht reagierende Geräte oder die Eingabe falscher Anmeldedaten durch einen Nutzer.
  2. Statussynchronisierung, damit die App zeitnah aktualisiert wird, um den aktuellen Status genau wiederzugeben.
  3. Wie Berechtigungen verwaltet und durchgesetzt werden, insbesondere wenn deine App mehrere Nutzer oder den Zugriff auf ein gemeinsames Zuhause unterstützt. Dazu gehört auch, dass deine App widerrufene Berechtigungen ordnungsgemäß verarbeitet.
  4. Wenn deine App Szenen unterstützt, z. B. eine „Gute Nacht“-Szene, in der alle Lichter ausgeschaltet werden, teste das Erstellen, Ändern und Ausführen von Szenen. Automatisierte Abläufe testen, einschließlich Auslösern und Aktionen

Leistungstests

Prüfe, ob deine App schnell reagiert und keine unnötige Latenz verursacht. Testen Sie die App nach Möglichkeit mit einer großen Anzahl von Geräten, um die Skalierbarkeit und die Leistung der App unter Last zu bewerten. Sehen Sie sich auch die CPU-, Arbeitsspeicher- und Akkunutzung Ihrer App an, insbesondere während der aktiven Gerätekommunikation, um festzustellen, ob die Ressourcennutzung angemessen ist.

Zuverlässigkeits- und Stabilitätstests

Aufgrund ihrer Abhängigkeit von der Netzwerkverbindung sollten Home APIs-Apps in den folgenden Szenarien getestet werden:

  1. Netzwerkschwankungen
    • Simulieren Sie WLAN-Ausfälle, schwache Signale und Netzwerkwechsel.
    • Prüfen Sie, ob Ihre App Verbindungsabbrüche und Wiederverbindungen ordnungsgemäß verarbeitet.
    • Prüfen Sie, ob Befehle in die Warteschlange gestellt und ausgeführt werden, wenn die Verbindung wiederhergestellt ist, oder geben Sie entsprechende Fehlermeldungen aus.
    • Testen Sie die App nicht nur im Heimnetzwerk, sondern auch in Remote-Netzwerken.
  2. Gerätetrennung
    • Trenne die Geräte von der Stromversorgung.
    • Geräte aus- und wieder einschalten
  3. Gleichzeitige Vorgänge
    • Senden Sie eine schnelle Abfolge von Befehlen.
    • Mehrere Nutzer versuchen, dasselbe Gerät gleichzeitig zu steuern.
    • Teste sich überschneidende Szenen und Automatisierungen.
  4. Fehlerbehandlung
    • API-Fehler erzwingen, z. B. durch Mocking von Cloud API-Serverantworten.
    • Testen Sie ungültige Eingaben des Nutzers.
    • Prüfen Sie die graduelle Fehlertoleranz und die informativen Fehlermeldungen.
  5. Zuverlässigkeit: Führe die App und die verbundenen Geräte über einen längeren Zeitraum aus, um mögliche Speicherlecks oder Stabilitätsprobleme zu erkennen.

Vor der Veröffentlichung Ihrer App

Es wird empfohlen, eine App, die die Home APIs verwendet, vor der Veröffentlichung gründlich zu testen, um sicherzustellen, dass sie alle funktionalen und Qualitätsanforderungen erfüllt. Verwende den Testbericht für die Google Home APIs-App als Leitfaden, um die Funktionalität deiner App zu testen.

Wenn du aufgefordert wirst, den Testbericht für die Google Home APIs-App einzureichen, sende ihn an deinen Google-Technical Account Manager (TAM), damit er ihn prüfen und als Referenz beim Testen deiner App verwenden kann.