Testes de sistemas embebidos

Testes de sistemas embebidos
em hardware real

Encontre as falhas que só aparecem quando o hardware se junta ao software.

Problemas de temporização, erros que dependem do hardware, comportamento instável e casos-limite, encontrados antes de os dispositivos chegarem à produção.

Porque é mais difícil testar sistemas embebidos

Os sistemas embebidos funcionam com restrições apertadas: recursos limitados, requisitos de tempo real e uma integração estreita com o hardware.

O Midair foi feito para sistemas embebidos onde o código, o firmware, o hardware e o ambiente se influenciam uns aos outros. Liga a análise estática, os testes repetíveis em dispositivos e as evidências de execução. Assim, uma falha pode ser reproduzida e investigada no seu contexto.

Desafios nos testes de sistemas embebidos

Os resultados podem mudar com o hardware, o firmware, a temporização, o estado do dispositivo e a configuração do teste.

Pouca visibilidade do comportamento em execução

Sem ferramentas de observabilidade, é difícil detetar problemas durante a execução

Interação complexa entre hardware e software

Os erros podem surgir na fronteira entre as camadas de hardware e de firmware

Restrições de tempo real e problemas de temporização

As falhas que dependem da temporização são difíceis de reproduzir e diagnosticar em ambientes de teste

Falhas tardias custam caro a corrigir

Os problemas descobertos depois da integração com o hardware exigem muitas vezes uma depuração cara, um novo desenho ou o adiamento de versões.

Reprodutibilidade entre dispositivos e configurações

O mesmo teste dá uma resposta diferente com outra versão de firmware, outro estado do dispositivo, outra condição de rede ou outra configuração de teste.

Midair

Como o Midair trabalha com sistemas embebidos

O Midair liga o Visao, o TS Factory e o Delta num único fluxo de trabalho.

1

Analisar antes da execução

Visao

A análise estática encontra defeitos no código e violações das regras do projeto antes de o software ser posto à prova no hardware.

2

Reproduzir o ambiente

TS Factory

Executa o mesmo cenário em vários dispositivos, versões de firmware, estados de rede e configurações de teste.

3

Recolher evidências

Delta

Regista o que acontece de facto durante a execução, sem depender só de um resultado de "passou" ou "falhou".

4

Manter o contexto

Midair

Junta num único registo a ocorrência, a execução do teste, a configuração do firmware e do dispositivo e as evidências de execução.

Os resultados da análise estática de código, as execuções de testes nos dispositivos e os dados de execução ficam ligados entre si. A mesma falha pode ser aberta de novo depois de uma correção.

Casos de utilização

O Midair foi feito para software cujo comportamento depende do hardware e do ambiente onde corre.

•

Dispositivos embebidos e firmware

Produtos baseados em microcontroladores (MCU), ambientes com sistema operativo de tempo real (RTOS) e software embebido bare-metal

•

Dispositivos em rede e IoT

Hardware ligado que tem de se manter fiável em diferentes versões de firmware e estados de rede

•

Sistemas RTOS e sensíveis à temporização

Ambientes de tempo real onde uma resposta atrasada é um defeito

•

Integração de hardware e software

A camada onde os drivers, o firmware e o código da aplicação se encontram com a placa

•

Ambientes críticos para a segurança (safety)

Sistemas onde uma falha tem consequências graves e o resultado tem de ser reproduzível

O que o Midair cobre em sistemas embebidos

Cinco capacidades para código que corre em hardware.

Análise estática de código

Encontre defeitos e padrões inseguros no código embebido antes de o gravar num dispositivo.

Testes em frotas de dispositivos

Execute um cenário em muitos dispositivos e versões de firmware em paralelo e repita-o depois de uma correção.

Execuções hardware-in-the-loop

O Midair pode controlar e registar execuções numa montagem hardware-in-the-loop ou num laboratório de dispositivos que já exista.

Evidências de execução do dispositivo

Logs, eventos do sistema e dados de recursos recolhidos no dispositivo durante a execução.

Integração com CI/CD

Corre dentro dos seus pipelines atuais, por isso uma regressão é detetada antes de o firmware ser lançado.

Iniciar o seu piloto

Escolha um plano e inicie um piloto do Midair com o seu dispositivo e o seu firmware.