Ao contrário de outros tipos de apps Android, um app de APIs Home tem considerações e desafios exclusivos, incluindo dependências de dispositivos físicos de casa inteligente, confiabilidade da rede, segurança e privacidade, além de interoperabilidade de dispositivos e protocolos. Essas diferenças têm um impacto no teste.
Configurar seu ambiente de teste
Um ambiente de teste robusto é essencial para testar um app das APIs Home.
É uma boa estratégia isolar os dispositivos de teste da API Home em uma rede Wi-Fi dedicada. Isso evita a interferência de outros dispositivos e permite simular diferentes condições de rede, como largura de banda limitada.
É recomendável testar usando vários tipos de dispositivos de casa inteligente de diversos fabricantes. Teste com dispositivos físicos reais. Dispositivos virtuais e emuladores têm seu lugar, mas não devem ser usados exclusivamente.
Da mesma forma, testar o app com vários dispositivos Android de diferentes fabricantes, com dimensões de tela variadas e executando diferentes versões do Android ajuda a verificar uma compatibilidade mais ampla.
Reúna suas ferramentas
As ferramentas a seguir são úteis para testar um app das APIs Home:
Ferramenta | Descrição |
---|---|
Google Home Plugin for Android Studio | Fornece acesso a Google Assistant Simulator, ao visualizador do Home Graph, Google Cloud Logging e ao visualizador de registros do Android Debug Bridge (adb). |
Google Home Playground | Não é um substituto para testes com dispositivos físicos reais, mas é muito útil em muitos cenários de teste. |
Matter Virtual Device (MVD) | Outro app de emulação que pode ser útil ao testar com dispositivos Matter em um app das APIs Home. |
Espresso | Permite automatizar testes de interface. É necessário simular a API para simular interações de hardware. |
Um emulador de rede | Permite simular várias condições de rede e respostas da API, o que é especialmente útil se a API Home usar um back-end de nuvem. |
Logcat do Android Studio | Processa e analisa dados de registro. |
Aplicar diferentes abordagens e estratégias de teste
Aplique várias abordagens de teste ao app de APIs Home. Para informações gerais sobre diferentes métodos, consulte Testar apps no Android. Além dos testes de experiência do usuário e segurança que todos os apps Android precisam passar, algumas áreas de teste são especialmente relevantes para apps de APIs Home e são destacadas com mais detalhes nas seções a seguir.
Teste funcional
Dependendo dos recursos do seu app, talvez seja necessário prestar atenção especial a algumas das seguintes áreas:
- Descoberta e pareamento de dispositivos, incluindo configuração inicial e pareamento com novos dispositivos, redescoberta de dispositivos existentes após reinicializações de apps, reinicializações de dispositivos ou mudanças de rede. Verifique também cenários como dispositivos que não respondem ou um usuário inserindo credenciais incorretas.
- Sincronização de estado, garantindo que o app seja atualizado para refletir com precisão o estado atual de maneira oportuna.
- Como as permissões são gerenciadas e aplicadas, especialmente se o app for compatível com vários usuários ou acesso compartilhado à casa. Isso inclui verificar se o app processa corretamente as permissões revogadas.
- Se o app for compatível com cenas, como uma cena "Boa noite" que apaga todas as luzes, teste a criação, a modificação e a execução de cenas. Testar automações, incluindo ativações e ações.
Teste de desempenho
Verifique se o app é responsivo e não apresenta latência desnecessária. Se possível, teste com um grande número de dispositivos para avaliar a escalonabilidade e o desempenho do app sob carga. Verifique também o consumo de CPU, memória e bateria do app, principalmente durante a comunicação ativa do dispositivo, para saber se o uso de recursos é razoável.
Testes de confiabilidade e estabilidade
Devido à dependência da conectividade de rede, os apps das APIs Home precisam ser testados nos seguintes cenários:
- Flutuação da rede
- Simule interrupções de Wi-Fi, sinais fracos e troca de rede.
- Verifique se o app lida com desconexões e reconexões sem gerar erros.
- Verifique se os comandos são enfileirados e executados quando a conectividade é restaurada ou forneça mensagens de erro adequadas.
- Teste o app em redes remotas, não apenas na rede doméstica.
- Desconexão do dispositivo
- Desconecte os dispositivos fisicamente.
- Reinicie os dispositivos.
- Operações simultâneas
- Envie uma sequência rápida de comandos.
- Faça com que vários usuários tentem controlar o mesmo dispositivo simultaneamente.
- Teste cenas e automações sobrepostas.
- Tratamento de erros
- Forçar erros de API, por exemplo, simulando respostas do servidor de API na nuvem.
- Teste entradas inválidas do usuário.
- Verifique a degradação gradual e as mensagens de erro informativas.
- Confiabilidade: execute o app e os dispositivos conectados por períodos prolongados para descobrir possíveis vazamentos de memória ou problemas de estabilidade.