internet things testing
Teste da Internet das Coisas (IoT):
Quando uma pergunta como “Quais são as necessidades básicas da vida” é feita às pessoas, a maioria delas responde: “Comida, abrigo, roupas”.
Mas, esse foi o caso antes de um século. Os seres humanos evoluíram para desenvolver um punhado de necessidades extras para viver. Evoluímos para tornar nossa vida mais simples, melhor e mais fácil.
perguntas e respostas da entrevista php para 2 anos de experiência
Paramos de usar interruptores para controlar as luzes, paramos de pagar nos quiosques para cobrança de pedágio, temos monitorado nosso estado de saúde de forma inteligente, acompanhando os movimentos dos veículos com mais eficiência e muito na lista.
Como fazemos agora? Como é tão diferente?
Precisamos entendê-los primeiro, depois disso, podemos aprender como testá-los.
O que você aprenderá:
- O que é Internet das Coisas (IoT)?
- Exemplos de IoT
- Tecnologia usada em IoT
- Testando IoT
- Desafios de teste de IoT
- Ferramentas de teste de IoT
- Para Resumir
- Leitura recomendada
O que é Internet das Coisas (IoT)?
A IoT é a conexão de veículos, eletrodomésticos, equipamentos medicinais usando eletrônicos embutidos, microchips etc. para coletar e trocar dados de um tipo diferente, é chamada de IoT. Essa tecnologia permite ao usuário controlar dispositivos remotamente em uma rede.
Exemplos de IoT
Alguns dos exemplos de IoT na implementação da vida real são os seguintes:
# 1) Em tecnologia vestível:
Dispositivos vestíveis, como pulseiras Fitbit e relógios Apple, são sincronizados facilmente com os dispositivos móveis.
Eles ajudam na captura de informações necessárias, como saúde, monitoramento de freqüência cardíaca, atividade de sono, etc. Eles também ajudam na exibição de dados, notificações de dispositivos móveis para eles.
# 2) Infraestrutura e desenvolvimento:
Com o uso de um aplicativo como CitySense , é mais fácil obter os dados de iluminação externa em tempo real e, com base neles, as luzes da rua são ligadas ou desligadas. Existem também várias aplicações para controlar a sinalização de trânsito e a disponibilidade de estacionamento em um layout urbano sofisticado.
# 3) Saúde:
São inúmeras as aplicações para monitorar as condições de saúde dos pacientes.
Com base nos dados do benchmarking, os serviços controlam a dosagem dos medicamentos em horários diferentes do dia. Existem aplicações como o UroSense, que podem monitorar os níveis de fluido no corpo do paciente e, com base na necessidade, pode iniciar a transferência de fluido. Ao mesmo tempo, os dados podem ser transmitidos sem fio para várias partes interessadas.
Tecnologia usada em IoT
A seguir estão algumas das tecnologias mais usadas na IoT:
- RFID Tags (Radio Frequency Code) e EPC (Electronic Product Code)
- NFC (Near Field Communication) é usado para permitir interações bidirecionais entre os dispositivos eletrônicos. Isso é basicamente para smartphones e é usado principalmente para fazer transações de pagamento sem contato.
- Bluetooth: Isso é usado onde as comunicações de curto alcance são suficientes para resolver o problema. Isso é usado principalmente em tecnologias vestíveis.
- Z-Wave: Esta é uma tecnologia de comunicação RF de baixa potência. Isso é usado principalmente para automação residencial, controle de lâmpadas, etc.
- Wi-fi: Esta é a opção mais comumente usada para IoT. Quando em uma LAN, isso ajuda na transferência de arquivos, dados e mensagens sem problemas.
Testando IoT
Vamos dar um exemplo de um sistema de rastreamento de saúde médica em que o instrumento monitora a saúde, a frequência cardíaca, os detalhes da ingestão de líquidos e envia um relatório aos médicos. Esses dados são registrados no sistema e os dados históricos podem ser visualizados sempre que necessário.
Os médicos podem iniciar a ingestão de medicamentos e suplementos de fluidos com base nos dados. Isso pode ser acionado remotamente a partir de qualquer um dos dispositivos (computadores ou dispositivos móveis) aos quais o dispositivo médico está conectado.
Agora, para testar essa arquitetura, precisamos passar por várias abordagens de teste, como;
Abordagens de teste IoT
# 1) Usabilidade:
- Precisamos ter certeza da usabilidade de cada um dos dispositivos usados aqui.
- O dispositivo de rastreamento de saúde médica usado deve ser portátil o suficiente para ser movido para diferentes segmentos da área médica.
- O equipamento deve ser inteligente o suficiente para enviar não apenas as notificações, mas também as mensagens de erro, avisos etc.
- O sistema deve ter a opção de registrar todos os eventos para fornecer clareza aos usuários finais. Se não for capaz de fazer isso, o sistema deve enviá-los também a um banco de dados para armazená-los.
- As notificações devem ser mostradas e o manuseio do display deve ser feito corretamente nos dispositivos (computadores / dispositivos móveis).
- A usabilidade em termos de exibição de dados, processamento de dados, envio de tarefas de trabalho dos dispositivos deve ser testada exaustivamente.
=> Leia mais sobre testes gerais de usabilidade aqui
# 2) Segurança IoT:
- Desafios de segurança da IoT: a IoT é centrada nos dados, onde todos os dispositivos / sistemas conectados operam com base nos dados disponíveis.
- Quando se trata do fluxo de dados entre os dispositivos, sempre há uma chance de que os dados possam ser acessados ou lidos ao serem transferidos.
- Do ponto de vista de teste, precisamos verificar se os dados estão protegidos / criptografados ao serem transferidos de um dispositivo para outro.
- Onde quer que haja uma IU, precisamos nos certificar de que haja uma proteção por senha nela.
=> Leia mais sobre testes de segurança gerais aqui
# 3) Conectividade:
- Por ser uma solução de saúde, a conectividade desempenha um papel vital.
- O sistema deve estar disponível o tempo todo e deve ter conectividade contínua com as partes interessadas.
- Quanto à conectividade, duas coisas são muito importantes para testar;
- Conectividade, transferência de dados e recebimento de tarefas de trabalho dos dispositivos devem ser contínuos quando a conexão está ativa e funcionando.
- A outra condição é o cenário de interrupção da conexão. Não importa o quão robusto seja o sistema e a rede, há chances de o sistema ficar offline. Sendo um testador, devemos testar as condições offline também. Uma vez que o sistema não está disponível na rede, deve haver um alerta que pode alertar os médicos para que eles possam começar a monitorar as condições de saúde manualmente sem depender do sistema até que ele esteja ligado. Por outro lado, deve haver um mecanismo no sistema que possa armazenar todos os dados nele durante o período off-line. Assim que o sistema ficar online, todos os dados devem ser propagados. A perda de dados não deve ocorrer em nenhuma condição.
# 4) Desempenho:
- Quando falamos sobre um sistema para um domínio de saúde, precisamos ter certeza de que o sistema é escalonável o suficiente para todo o hospital.
- Quando o teste é realizado, ele é feito para 2-10 pacientes por vez e os dados são propagados para 10-20 dispositivos.
- Quando todo o hospital está conectado e 180-200 pacientes estão conectados ao sistema, os dados que são propagados são muito maiores do que os dados testados.
- Como testadores, precisamos ter certeza de que o sistema tem o mesmo desempenho, mesmo que os dados adicionados sejam propagados.
- Devemos também testar o utilitário de monitoramento para exibir o uso do sistema, uso de energia, temperatura etc.
# 5) Teste de compatibilidade:
- Olhando para a arquitetura complexa de um sistema IoT, o teste de compatibilidade é obrigatório.
- Itens de teste, como várias versões de sistema operacional, tipos de navegador e respectivas versões, gerações de dispositivos, modos de comunicação ( Por ex. Bluetooth 2.0, 3.0) é necessário para o teste de compatibilidade de IoT.
=> Leia mais sobre testes de segurança gerais aqui
# 6) Teste Piloto:
- No que diz respeito à IoT, o teste piloto é obrigatório.
- Somente o teste em laboratório garante que o produto / sistema funciona bem. Mas, isso pode sair pela culatra quando exposto a condições / etapas / cenários em tempo real.
- Durante o teste piloto, o sistema é exposto a um número limitado de usuários no campo real. Eles usam o aplicativo e dão feedbacks sobre o sistema.
- Esses comentários são úteis, tornando o aplicativo robusto o suficiente para a implantação de produção.
# 7) Teste regulatório:
- Por ser um sistema de saúde, é necessário passar por vários pontos de verificação de regulamentação / conformidade.
- Pense em um cenário onde o produto passa por todas as etapas de teste, mas falha na lista de verificação de conformidade final (teste realizado pelo órgão regulador).
- É uma prática recomendada obter os requisitos regulamentares no início do próprio ciclo de desenvolvimento. O mesmo deve fazer parte da lista de verificação de teste.
- Fazendo isso, garantimos que o produto também seja certificado pela lista de verificação regulatória.
# 8) Teste de atualização:
- IoT é uma combinação de vários protocolos, dispositivos, sistemas operacionais, firmware, hardware, camadas de rede etc.
- Quando uma atualização é realizada, seja para o sistema ou para qualquer um dos itens envolvidos conforme declarado acima, um teste de regressão completo deve ser realizado / estratégia deve ser adotada para superar os problemas relacionados à atualização.
Desafios de teste de IoT
Os desafios que um testador enfrenta na IoT são os seguintes:
# 1) Hardware-Software Malha
IoT é uma arquitetura intimamente associada a vários componentes de hardware e software. Não são apenas os aplicativos de software que fazem o sistema, mas também os de hardware, sensores, gateways de comunicação, etc. também desempenham um papel vital.
Somente o teste de funcionalidade não ajuda a certificar completamente o sistema. Sempre há uma dependência um do outro em termos de ambiente, transferência de dados, etc. Portanto, torna-se uma tarefa tediosa em comparação a testar um sistema genérico (apenas componente de software / hardware).
html css entrevista perguntas e respostas
# 2) Módulo de interação do dispositivo
Por se tratar de uma arquitetura entre diferentes conjuntos de hardware e software, torna-se obrigatório que eles se comuniquem em tempo real / quase real. Quando os dois se integram, coisas como segurança, compatibilidade com versões anteriores e problemas de atualização tornam-se um desafio para a equipe de teste.
# 3) Teste de dados em tempo real
Como discutimos anteriormente que um teste piloto / teste regulamentar é obrigatório para um sistema como este, também se torna muito difícil obter esses dados.
Estar na equipe de teste, obter pontos de verificação regulamentares ou implementar o sistema no piloto é muito difícil. A etapa fica ainda mais difícil se o sistema for relacionado à Saúde, conforme nosso exemplo. Então, isso continua sendo um grande desafio para a equipe de teste.
# 4) UI
A IoT é espalhada por dispositivos pertencentes a todas as plataformas (iOS, Android, Windows, Linux). Agora, testar isso em dispositivos pode ser feito, mas testá-lo em todos os dispositivos possíveis é quase impossível.
Não podemos omitir a possibilidade de a IU ser acessada a partir de um dispositivo que não possuímos ou simulamos. Esse é um desafio difícil de superar.
# 5) Disponibilidade da rede
A conexão de rede desempenha um papel vital, pois a IoT trata dos dados sendo comunicados em velocidades mais rápidas o tempo todo. A arquitetura IoT deve ser testada em todos os tipos de conectividade / velocidades de rede.
Para testar isso, os simuladores de rede virtual são usados principalmente para variar a carga da rede, conectividade, estabilidade etc. Mas, dados / rede em tempo real são sempre um novo cenário e a equipe de teste não sabe onde o gargalo se desenvolveria a longo prazo.
Ferramentas de teste de IoT
empresas de videogame para trabalhar
Existem várias ferramentas que são usadas durante o teste de sistemas IoT.
Eles podem ser classificados com base no alvo e são apresentados a seguir:
# 1) Software:
- Wireshark : Este é um aplicativo de código aberto usado para monitorar o tráfego na interface, endereços de host de origem / destino etc.
- Tcpdump : Isso faz um trabalho semelhante ao do Wireshark, exceto, este não tem uma GUI. Este é um utilitário baseado em linha de comando que ajuda o usuário a exibir o TCP / IP e outros pacotes que são transmitidos ou recebidos em uma rede.
# 2) Hardware:
- Dongle JTAG: Isso é semelhante a um depurador em aplicativos de PC. Isso ajuda a depurar o código da plataforma de destino e mostra a variável passo a passo.
- Osciloscópio de armazenamento digital : Isso é usado para verificar vários eventos com carimbos de data / hora, falhas na fonte de alimentação, verificação de integridade do sinal.
- Rádio Definido por Software : Isso é usado para emular o receptor e o transmissor para uma grande variedade de gateways sem fio.
Para o mundo em desenvolvimento que nos rodeia, a IoT é um mercado em crescimento e com muitas oportunidades. Não está longe o tempo em que a IoT se torna essencial para os testadores sobreviverem no mundo do desenvolvimento.
O gadget habilitado para IoT, o aplicativo de dispositivo inteligente e o módulo de comunicação desempenham um papel vital no estudo e avaliação do desempenho e comportamento de vários serviços de IoT.
O design ruim de dispositivos e serviços habilitados para IoT pode dificultar o funcionamento correto do aplicativo e, por sua vez, afetar negativamente a experiência do usuário final.
Para Resumir
A abordagem de teste de IoT pode ser diferente com base no sistema / arquitetura envolvida. Os testadores devem se concentrar mais na abordagem Test-As-A-User (TAAS) em vez de testar com base nos requisitos.
Outro jogador importante no teste de IoT é o teste de integração. A IoT é bem-sucedida se o plano de teste de integração for preciso e robusto o suficiente para detectar falhas no sistema.
O teste de IOT pode ser um trabalho difícil / desafiador, mas também é muito emocionante para a equipe de teste certificar uma malha tão complicada de dispositivos, protocolos, hardware, sistemas operacionais, firmware, etc.
Sobre o autor: Este é um post convidado de Subhasis. Ele está trabalhando como líder de equipe com mais de 8 anos de experiência corporativa trabalhando para empresas Fortune 500 de TI na área de Garantia de Qualidade de Software, Desenvolvimento de Software e Experiência em Teste.
ATUALIZAR: Adicionamos infográficos úteis sobre o tópico IoT. Graças a webeeky.com por compartilhar isso conosco.
Publique suas dúvidas / comentários sobre IoT abaixo.
Leitura recomendada
- Melhores ferramentas de teste de software 2021 (QA Test Automation Tools)
- Teste SaaS: Desafios, ferramentas e abordagem de teste
- Download do e-book do Testing Primer
- 11 melhores ferramentas de automação para testar aplicativos Android (Android App Testing Tools)
- As diferenças entre teste de unidade, teste de integração e teste funcional
- Teste de regressão automatizado: desafios, processos e etapas
- Teste de carga com tutoriais HP LoadRunner
- Desafios de teste manual e de automação