Validação de sistemas embebidos

Validação de sistemas embebidos:
o comportamento do sistema inteiro

Valide como o firmware, o hardware, os dispositivos e as dependências externas funcionam em conjunto, antes de um lançamento ou de uma implementação.

O Midair mantém ligadas as condições de teste, a configuração do sistema e as evidências de execução. Assim, pode reproduzir e comparar os resultados de validação e associá-los ao ambiente que os produziu.

Passar nos testes de componentes não valida o sistema inteiro.

Um produto embebido pode passar nos testes de firmware, de hardware e de interfaces, cada um em separado. Mesmo assim, pode comportar-se de outra forma quando tudo funciona em conjunto.

A validação de sistema olha para o produto completo, incluindo as condições à sua volta.

Os componentes interagem

O comportamento pode mudar quando o firmware, as interfaces de hardware e os sistemas externos funcionam ao mesmo tempo.

As configurações mudam

Um resultado pode depender do build do firmware, da revisão do hardware, da configuração do dispositivo ou do ambiente de implementação.

As falhas surgem com o tempo

Alguns problemas só aparecem depois de operações repetidas, de testes longos ou de certas sequências de eventos.

Um teste aprovado precisa de contexto

Sem saber exatamente o que estava em execução e em que condições, é difícil comparar uma validação bem-sucedida com a versão seguinte.

Valide mais do que um resultado de sucesso ou falha.

Em sistemas embebidos complexos, a parte útil da validação são as evidências por trás do veredicto.

Uma execução de validação deve permitir responder a estas perguntas:

O que foi testado, exatamente?

Mantenha associados à execução a versão do firmware, a configuração do dispositivo ou do hardware e a configuração relevante do sistema.

Em que condições?

Guarde o ambiente de teste, os hosts ligados, a configuração de rede e as entradas do cenário que podem afetar o comportamento.

O que aconteceu durante a execução?

Recolha registos, eventos e informação de execução do sistema enquanto ele funciona.

O que mudou desde a execução anterior?

Compare versões, configurações e resultados sem reconstruir à mão o ambiente original.

O que a validação de sistemas embebidos pode cobrir

Comportamento do firmware e do software

Confirme que um build específico se comporta como esperado no ambiente-alvo completo.

Interação com o hardware

Valide o comportamento que depende de dispositivos, interfaces, controladores e do estado físico do sistema.

Cenários ao nível do sistema

Teste fluxos que atravessam vários componentes de software, firmware ou hardware.

Comunicação e dependências externas

Inclua os serviços ligados, as condições de rede e os outros sistemas que fazem parte do funcionamento normal.

Validação de versões e de regressões

Compare o comportamento do sistema depois de alterações no firmware, na configuração ou no software.

Comportamento em execuções longas

Execute cenários em que as falhas dependem do estado acumulado, de operações repetidas ou de uma execução prolongada.

Midair

Como o Midair apoia a validação de sistemas

Antes da execução

Encontrar riscos relevantes no código

O Visao analisa caminhos de execução e regras próprias do projeto antes de o software chegar ao ambiente de validação.

Durante a validação

Executar o cenário completo

O TS Factory coordena testes entre dispositivos e máquinas e regista o ambiente de cada execução.

Durante a execução

Captar o que o sistema fez de facto

O Delta recolhe registos, eventos do sistema e dados de execução enquanto o software corre.

O Midair mantém estes dados ligados. Assim, pode rever um resultado de validação junto com o código, a configuração, as condições de teste e as evidências de execução que lhe deram origem.

A reprodutibilidade dá sentido à validação.

Não é possível comparar uma versão com a anterior se as condições de teste mudaram sem ficar registadas.

Em sistemas embebidos, a reprodutibilidade pode depender do firmware, do ambiente do host, da rede, da alimentação, do estado do dispositivo e das entradas de teste.

•

Versão do firmware e do software

Saiba a que build pertence o resultado da validação.

•

Contexto do dispositivo e do hardware

Mantenha a configuração-alvo relevante associada à execução.

•

Ambiente de teste

Registe os hosts, a rede e as outras condições envolvidas.

•

Evidências de execução

Guarde os registos e os eventos do sistema com o resultado da validação.

•

Comparação entre execuções

Veja se o comportamento do sistema mudou junto com o software ou o ambiente.

Quando a validação de sistema é mais útil

Antes de um lançamento

Valide o sistema completo depois de testar cada componente individualmente.

Depois de grandes alterações no firmware

Verifique se um novo build muda o comportamento noutra parte do sistema.

Depois de alterações no hardware ou na configuração

Compare o mesmo software em diferentes ambientes-alvo.

Antes de implementações maiores

Execute cenários repetíveis antes de aumentar o número de dispositivos ou de ambientes envolvidos.

Quando uma regressão é difícil de explicar

Volte ao contexto exato de uma validação anterior e compare-o com o sistema atual.

Validação em ambientes embebidos reais

A validação de sistemas embebidos é o ponto onde se juntam as evidências das várias partes do sistema.

Pense num resultado de firmware, numa interação com o hardware ou numa anomalia em execução. Cada um é mais útil quando o pode ligar ao estado completo do sistema em que ocorreu.

O Midair guarda esse contexto entre execuções de validação. Assim, pode comparar o comportamento de todo o sistema à medida que o produto muda.

Comece por um problema de validação ao nível do sistema.

Traga um build, um ambiente-alvo e um comportamento do sistema que precisa de verificar antes do lançamento.

Ligue o ambiente de validação ao Midair, guarde as condições de cada execução e compare o que muda à medida que o produto evolui.