A differenza di altri tipi di app per iOS, un'app API Home presenta considerazioni e sfide uniche, tra cui dipendenze da dispositivi per la smart home fisici, affidabilità della rete, sicurezza e privacy e interoperabilità di dispositivi e protocolli. Queste differenze hanno un impatto sui test.
Configurare l'ambiente di test
Un ambiente di test solido è fondamentale per testare un'app Home APIs.
È una buona strategia isolare i dispositivi di test dell'API Home su una rete Wi-Fi dedicata. In questo modo si evitano interferenze da altri dispositivi e si possono simulare diverse condizioni di rete, ad esempio la limitazione della larghezza di banda.
Ti consigliamo di eseguire test utilizzando una varietà di tipi di dispositivi per la smart home di diversi produttori. Assicurati di eseguire i test con dispositivi fisici reali. I dispositivi virtuali e gli emulatori hanno la loro utilità, ma non devono essere utilizzati esclusivamente.
Allo stesso modo, testare l'app con una varietà di dispositivi iOS di più produttori, con dimensioni dello schermo diverse e con versioni di iOS diverse aiuta a verificare una compatibilità più ampia.
Assemblare gli strumenti
I seguenti strumenti sono utili per testare un'app API Home:
Strumento | Descrizione |
---|---|
Google Home Playground | Non sostituisce i test con dispositivi fisici reali, ma è prezioso per molti scenari di test. |
Matter Virtual Device (MVD) | Un'altra app di emulazione che può essere utile per i test con dispositivi Matter in un'app API Home. |
Un emulatore di rete | Consente di simulare diverse condizioni di rete e risposte API, il che è particolarmente utile se l'API Home utilizza un backend cloud. |
TestFlight | Consente di automatizzare i test dell'interfaccia utente. Devi simulare l'API sottostante per simulare le interazioni hardware. |
Console XCode | Gestisce e analizza i dati di log. |
XCUIAutomation | Consente di automatizzare i test dell'interfaccia utente. Devi simulare l'API sottostante per simulare le interazioni hardware. |
Applicare approcci e strategie di test diversi
Devi applicare una serie di approcci di test alla tua app Home APIs. Per informazioni generali sui diversi metodi, consulta Testare le app su TestFlight. Oltre ai test di esperienza utente e sicurezza a cui devono essere sottoposte tutte le app per iOS, alcune aree di test sono particolarmente pertinenti per le app API Home e sono descritte in modo più dettagliato nelle sezioni seguenti.
Test funzionali
A seconda delle funzionalità della tua app, ti consigliamo di prestare particolare attenzione ad alcune delle seguenti aree:
- Rilevamento e accoppiamento dei dispositivi, inclusi la configurazione iniziale e l'accoppiamento con nuovi dispositivi, il rilevamento di dispositivi esistenti dopo i riavvii dell'app, i riavvii dei dispositivi o le modifiche alla rete. Controlla anche scenari come dispositivi che non rispondono o un utente che inserisce credenziali errate.
- Sincronizzazione dello stato, assicurandosi che l'app si aggiorni per riflettere con precisione lo stato attuale in modo tempestivo.
- Come vengono gestite e applicate le autorizzazioni, soprattutto se la tua app supporta più utenti o l'accesso alla casa condiviso. Ciò include la verifica che la tua app gestisca correttamente le autorizzazioni revocate.
- Se la tua app supporta le scene, ad esempio una scena "Buonanotte" che spegne tutte le luci, testa la creazione, la modifica e l'esecuzione delle scene. Testa le automazioni, inclusi i comandi iniziali e le azioni.
Test delle prestazioni
Verifica che la tua app sia reattiva e non introduca latenza inutile. Se possibile, esegui i test con un numero elevato di dispositivi per valutare la scalabilità e le prestazioni dell'app sotto carico. Controlla anche il consumo di CPU, memoria e batteria della tua app, soprattutto durante la comunicazione attiva del dispositivo, per verificare se l'utilizzo delle risorse è ragionevole.
Test di affidabilità e stabilità
A causa della loro dipendenza dalla connettività di rete, le app API Home devono essere testate in base agli scenari seguenti:
- Fluttuazione della rete
- Simula interruzioni del Wi-Fi, segnali deboli e cambio di rete.
- Verifica che la tua app gestisca correttamente le disconnessioni e le riconnessioni.
- Verifica che i comandi vengano messi in coda ed eseguiti quando la connettività viene ripristinata oppure fornisci messaggi di errore appropriati.
- Testa l'app da reti remote, non solo dalla rete di casa.
- Disconnessione del dispositivo
- Scollega fisicamente i dispositivi.
- Spegni e riaccendi i dispositivi.
- Operazioni simultanee
- Invia una sequenza rapida di comandi.
- Chiedi a più utenti di provare a controllare lo stesso dispositivo contemporaneamente.
- Testa le scene e le automazioni sovrapposte.
- Gestione degli errori
- Forza gli errori API, ad esempio simulando le risposte del server API cloud.
- Testa l'input non valido dell'utente.
- Verifica la degradazione controllata e i messaggi di errore informativi.
- Affidabilità: esegui l'app e i dispositivi connessi per periodi di tempo prolungati per scoprire possibili perdite di memoria o problemi di stabilità.