App testen

Im Gegensatz zu anderen Arten von Android-Apps gibt es bei einer Smart-Home-APIs-App eigene Besonderheiten und Herausforderungen, darunter Abhängigkeiten von physischen Smart-Home-Geräten, Netzwerkzuverlässigkeit, Sicherheit und Datenschutz sowie Geräte- und Protokollinteroperabilität. Diese Unterschiede wirken sich auf das Testen aus.

Testumgebung einrichten

Eine robuste Testumgebung ist unerlässlich, um eine Home-APIs-App zu testen.

Es empfiehlt sich, Ihre Home API-Testgeräte in einem separaten WLAN zu isolieren. Dadurch werden Störungen durch andere Geräte verhindert und Sie können verschiedene Netzwerkbedingungen wie eine gedrosselte Bandbreite simulieren.

Sie sollten mit verschiedenen Smart-Home-Gerätetypen von verschiedenen Herstellern testen. Testen Sie unbedingt mit echten, physischen Geräten. Virtuelle Geräte und Emulatoren haben ihre Berechtigung, sollten aber nicht ausschließlich verwendet werden.

Wenn Sie Ihre App mit einer Vielzahl von Android-Geräten verschiedener Hersteller mit unterschiedlichen Bildschirmgrößen und verschiedenen Android-Versionen testen, können Sie die Kompatibilität ebenfalls besser überprüfen.

Werkzeug zusammenstellen

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

Tool Beschreibung
Google Home Plugin for Android Studio Bietet Zugriff auf Google Assistant Simulator, Home Graph Viewer, Google Cloud Logging und den ADB-Log-Viewer (Android Debug Bridge).
Google Home Playground Sie sind kein Ersatz für Tests mit echten 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.
Espresso Ermöglicht die Automatisierung von UI-Tests. Sie müssen die zugrunde liegende API simulieren, um Hardware-Interaktionen zu simulieren.
Netzwerkemulator Damit können Sie verschiedene Netzwerkbedingungen und API-Antworten simulieren. Das ist besonders hilfreich, wenn Ihre Home API ein Cloud-Back-End verwendet.
Android Studio Logcat Logdaten verarbeiten und analysieren.

Verschiedene Testansätze und ‑strategien anwenden

Sie sollten verschiedene Testmethoden für Ihre Home APIs-App anwenden. Allgemeine Informationen zu verschiedenen Methoden finden Sie unter Apps auf Android testen. Zusätzlich zu den Tests zur Nutzerfreundlichkeit und Sicherheit, die für alle Android-Apps erforderlich sind, sind einige Testbereiche für Home-APIs-Apps besonders wichtig. Sie werden in den folgenden Abschnitten genauer beschrieben.

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äte-Neustarts oder Netzwerkänderungen. Prüfen Sie auch Szenarien wie nicht reagierende Geräte oder Nutzer, die falsche Anmeldedaten eingeben.
  2. Status synchronisieren, damit die App den aktuellen Status zeitnah und korrekt widerspiegelt.
  3. Wie Berechtigungen verwaltet und erzwungen werden, insbesondere wenn Ihre App mehrere Nutzer oder den gemeinsamen Zugriff auf das Zuhause unterstützt. Dazu gehört auch, dass Ihre App widerrufene Berechtigungen ordnungsgemäß verarbeitet.
  4. Wenn deine App Szenen unterstützt, z. B. eine Szene „Gute Nacht“, mit der alle Lichter ausgeschaltet werden, teste das Erstellen, Ändern und Ausführen von Szenen. Automatisierungen testen, einschließlich Auslöser und Aktionen.

Leistungstests

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

Zuverlässigkeits- und Stabilitätstests

Da Home-APIs von der Netzwerkverbindung abhängig sind, sollten Apps, die diese APIs verwenden, in den folgenden Szenarien getestet werden:

  1. Netzwerkschwankungen
    • Simulieren Sie WLAN-Ausfälle, schwache Signale und Netzwerkwechsel.
    • Prüfen Sie, ob Ihre App Verbindungsunterbrechungen und ‑wiederherstellungen ordnungsgemäß verarbeitet.
    • Prüfen Sie, ob Befehle in die Warteschlange gestellt und ausgeführt werden, wenn die Verbindung wiederhergestellt wird, oder ob entsprechende Fehlermeldungen ausgegeben werden.
    • Testen Sie die App in externen Netzwerken und nicht nur im Heimnetzwerk.
  2. Gerätetrennung
    • Geräte physisch von der Stromversorgung trennen
    • 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.
    • Überlappende Szenen und Automatisierungen testen
  4. Fehlerbehandlung
    • Erzwingen Sie API-Fehler, indem Sie beispielsweise Cloud-API-Serverantworten simulieren.
    • Testen Sie ungültige Eingaben des Nutzers.
    • Prüfen Sie, ob die Funktion ordnungsgemäß herabgestuft wird und ob informative Fehlermeldungen angezeigt werden.
  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.