Testes de software para
sistemas complexos
Analise o código, execute testes repetíveis em ambientes complexos e recolha evidências de execução, numa só plataforma.
Porque importam os testes de software
Um sistema complexo falha de formas que uma única execução de testes não explica. A falha aparece num dispositivo, numa configuração, e desaparece na execução seguinte.
O Midair liga a análise estática, os testes distribuídos e a monitorização em tempo de execução. Foi feito para sistemas onde as falhas são difíceis de reproduzir e caras de investigar. Isso inclui dispositivos embebidos, hardware de rede, serviços de alta carga e software em que a cibersegurança é crítica.
O que são os testes de software?
Os testes de software verificam que um sistema faz o que a especificação define, nas condições que vai encontrar no terreno.
Numa aplicação isolada, a verificação é sobretudo funcional: dá-se uma entrada ao programa e compara-se a saída com a especificação. Um sistema complexo é mais difícil. O código corre em hardware que não controla por completo, em vários nós, com limites de tempo e de memória. Um defeito pode depender do dispositivo, da carga ou da ordem dos eventos. Por isso, uma execução de testes sem falhas prova menos do que parece.
Testar um sistema destes responde a três perguntas diferentes. O que pode o código fazer antes de ser executado? Como se comporta ao longo de muitas execuções controladas? O que acontece quando chega à produção?
O que são os testes de sistemas embebidos?
Os testes de sistemas embebidos verificam o software que corre num dispositivo físico e o controla. O código tem de estar correto no hardware de destino, com temporização real, limites de memória reais e condições de funcionamento reais.
"Testes de software embebido" é outro nome para a mesma prática. Nos dois casos, testa-se o firmware e as aplicações embebidas no hardware, nos barramentos e nos ambientes onde vão funcionar.
O hardware também está em teste
O dispositivo de destino faz parte do sistema em teste. Uma execução na máquina anfitriã não o substitui.
A temporização decide se está correto
As interrupções e os prazos de tempo real podem fazer falhar código correto.
Os recursos têm limites rígidos
A memória, a energia e o tempo de CPU têm tetos fixos. Ultrapassá-los é um defeito.
Pouca visibilidade no terreno
Um dispositivo já instalado muitas vezes não tem consola, coletor de registos nem depurador ligado.
Correções tardias custam caro
Um defeito encontrado depois do lançamento pode custar caro a corrigir, e alguns não se corrigem remotamente.
O ambiente é uma entrada do teste
A temperatura, a qualidade da alimentação e a perda de sinal mudam o comportamento do dispositivo.
Para dispositivos e firmware, veja testes de sistemas embebidos. Para routers, switches e infraestrutura ligada, veja testes de hardware de rede.
Desafios nos testes de sistemas complexos
Como o Midair testa sistemas complexos
Três componentes, um único fluxo de trabalho.
Visao
Antes da execução
A análise estática lê o código-fonte antes de o software ser executado. Encontra usos inseguros de memória, transbordos de inteiro e violações das regras do seu projeto.
TS Factory
Durante os testes
Executa testes repetíveis em dispositivos, nós e ambientes complexos, e regista o ambiente exato de cada execução.
Delta
Em execução
Recolhe registos, eventos do sistema e dados de recursos enquanto o software corre. Assim, o comportamento real pode ser comparado com os resultados dos testes.
O Midair liga as três fases
Uma ocorrência da análise estática de código, a execução de testes que chegou a esse código e as evidências dessa execução ficam ligadas.
As ocorrências no código, as execuções de testes e as evidências de execução não ficam em três ferramentas separadas. Uma falha pode ser lida em conjunto com o código e o ambiente que a produziram.
Casos de utilização
O Midair foi feito para sistemas onde um defeito é difícil de reproduzir e sai caro se escapar.
Testes de sistemas embebidos
Firmware, microcontroladores e ambientes de tempo real
Hardware de rede
Routers, switches e o software que faz passar o tráfego por eles
Sistemas de alto desempenho
Serviços sob carga contínua, onde um defeito só aparece em grande escala
Ambientes distribuídos complexos
Sistemas com vários nós, onde o resultado depende da temporização e da ordem dos eventos
Software crítico para a cibersegurança
Software em que as falhas de segurança têm consequências graves na operação e exigem evidências reproduzíveis
O que o Midair cobre
Cinco capacidades, para usar em conjunto ou uma de cada vez.
Análise estática de código
Encontre defeitos, padrões inseguros e violações de regras no código-fonte antes de o software ser executado.
Testes distribuídos e repetíveis
Execute o mesmo conjunto de testes em muitos dispositivos e nós em paralelo, e obtenha sempre a mesma resposta.
Monitorização em tempo de execução
Recolha registos, eventos do sistema e dados de recursos do sistema em execução, ligados à execução que os produziu.
Testes em dispositivos reais e ambientes complexos
Execute testes em hardware real, em ambientes de rede e nas montagens hardware-in-the-loop que já tem.
Integração com CI/CD
Corre dentro dos seus pipelines atuais, por isso cada alteração é verificada antes do merge.
Iniciar o seu piloto
Community
€0
Corra o Visao e o TS Factory numa instância partilhada e analise as ocorrências.
Mais popularPro
€90por mês
Uma instância Midair própria para a equipa, com o Delta, o MCP e análise dos resultados com IA.
RecomendadoBusiness
€990por mês
Acrescente análise de SBOM e de vulnerabilidades, métricas de desempenho da equipa e instâncias auto-alojadas.
Para ambientes complexosEnterprise
Sob medida
Adapte o Midair a um ambiente de grande escala, embebido ou regulado.
Compare os planos e escolha um na página de preços. Os preços são mensais, em euros.