Testes de dispositivos IoT

Testes de dispositivos IoT para
produtos ligados e frotas

Teste dispositivos ligados no firmware, nas condições de rede, nos serviços e em ambientes que mudam.

O Midair mantém ligados o estado do dispositivo, a configuração do teste e as evidências de execução. Assim, as falhas podem ser reproduzidas e comparadas entre execuções.

Uma falha IoT raramente pertence a um só componente.

Um dispositivo ligado pode funcionar bem isolado e falhar quando o firmware, o hardware, as redes e os serviços externos interagem.

Detetar que algo falhou costuma ser a parte fácil. A parte difícil é recriar as condições exatas que causaram a falha.

As condições de rede mudam

A latência, a conectividade, o encaminhamento ou interrupções temporárias podem mudar o comportamento do dispositivo entre execuções.

O estado do dispositivo muda

Um resultado pode depender da versão do firmware, da configuração, de ações anteriores ou do estado físico do dispositivo.

Há sistemas externos envolvidos

APIs, serviços e outros dispositivos podem afetar o mesmo cenário.

As frotas não são iguais

Modelos de dispositivo, versões de firmware e configurações diferentes criam condições de falha diferentes dentro do mesmo produto.

Midair

O teste do dispositivo ligado num só contexto.

O Midair liga a análise de código, os testes distribuídos e as evidências de execução em todo o fluxo de testes IoT. A plataforma assenta no Visao, no TS Factory e no Delta, que enviam os seus resultados para o Midair.

Antes da execução

Analisar · Visao

Verifique o código-fonte e as regras do projeto antes de o firmware correr no dispositivo.

Durante a execução

Testar · TS Factory

Execute cenários em dispositivos, hosts e serviços e registe o ambiente por trás de cada resultado.

Com os dispositivos a correr

Observar · Delta

Recolha registos, eventos e dados de execução dos sistemas ligados enquanto estes correm.

Tudo junto

Investigar · Midair

Reveja uma execução que falhou junto com o firmware, o estado do dispositivo, a configuração e as evidências de execução.

Compare-a com execuções posteriores, depois de mudar o software ou o ambiente.

O que os testes de dispositivos IoT podem cobrir

Os sistemas IoT combinam dispositivos físicos com software e infraestrutura de comunicação. Os testes são mais úteis quando estas partes são avaliadas em conjunto.

Dispositivo e firmware

Testar como o firmware se comporta no dispositivo alvo, em diferentes estados e configurações.

Conectividade

Reproduzir cenários com condições de rede variáveis, falhas de comunicação e religações.

Comunicação entre dispositivo e serviço

Testar o comportamento quando os dispositivos dependem de APIs, de serviços de backend ou de outros sistemas remotos.

Atualizações e mudanças de configuração

Comparar o comportamento do dispositivo entre versões de firmware, implementações e mudanças de configuração.

Cenários com vários dispositivos

Coordenar testes em que vários dispositivos ligados participam no mesmo fluxo.

Comportamento a longo prazo

Executar cenários em sessões longas, em que as falhas podem depender do estado acumulado ou de condições que mudam.

Uma falha num dispositivo ligado precisa do seu ambiente.

Um resultado de sucesso ou falha, sozinho, não explica porque é que um cenário IoT se comportou de outra forma.

Em sistemas embebidos e ligados, reprodutibilidade significa preservar as condições à volta da execução, além do próprio teste. Nas notas de engenharia da Interpretica, um teste embebido reproduzível inclui o estado do dispositivo, o ambiente do host, a rede, a alimentação e as entradas.

O TS Factory foi desenhado para ambientes distribuídos e testes com vários agentes, incluindo montagens em que são precisas várias máquinas para testar um dispositivo.

Um registo de teste útil pode reunir:

•

Versão do firmware

Saiba que build estava a correr em cada dispositivo.

•

Estado do dispositivo

Guarde a configuração relevante e o contexto do dispositivo com o resultado.

•

Ambiente de rede

Acompanhe as condições à volta do caminho de comunicação.

•

Hosts e serviços de teste

Registe os outros sistemas envolvidos no cenário.

•

Evidências de execução

Guarde registos, eventos e medições com a execução que os produziu.

•

Comparação entre execuções

Veja que condição mudou quando o comportamento mudou.

Onde isto se torna útil

Produtos ligados

Testar dispositivos cujo comportamento depende do firmware, das redes e de serviços remotos.

Frotas de dispositivos

Executar os mesmos cenários em vários dispositivos e preservar o contexto de cada resultado.

IoT industrial

Investigar sistemas em que dispositivos, controladores e serviços funcionam juntos durante longos períodos.

Gateways e hardware de rede

Coordenar testes em gateways, routers e dispositivos terminais ligados.

Falhas difíceis no terreno

Recriar comportamentos que aparecem fora do ambiente de desenvolvimento e são difíceis de reproduzir em laboratório.

Porque o Midair serve para testar dispositivos ligados

As falhas IoT envolvem muitas vezes mais de um dispositivo ou camada de software. O firmware, as condições de rede, os serviços remotos e o estado do dispositivo podem afetar o mesmo cenário de teste.

O Midair mantém esse contexto distribuído num só sítio. Assim, é mais fácil comparar execuções e perceber que parte do ambiente mudou.

Comece com uma falha num dispositivo ligado.

Traga um dispositivo, um build de firmware e um cenário difícil de reproduzir.

Ligue o ambiente ao Midair e preserve as condições por trás da execução que falhou. Depois, compare o resultado à medida que o software ou a montagem mudam.