internet things testing
Prueba de Internet de las cosas (IoT):
Cuando se lanza a la gente una pregunta como '¿Cuáles son las necesidades básicas de la vida?', La mayoría responde: 'Comida, refugio, ropa'.
Pero ese fue el caso antes de un siglo. Los seres humanos han evolucionado para desarrollar un puñado de necesidades adicionales para vivir. Hemos evolucionado para hacer nuestra vida más simple, mejor y más fácil.
Preguntas y respuestas de entrevistas html para principiantes
Hemos dejado de usar interruptores para controlar las luces, hemos dejado de pagar en los quioscos para enviar los peajes, hemos estado monitoreando nuestro estado de salud de manera inteligente, rastreando los movimientos vehiculares de manera más eficiente y mucho en la lista.
¿Cómo lo hacemos ahora? ¿Cómo es tan diferente?
Primero debemos comprenderlos y luego aprender a probarlos.
Lo que vas a aprender:
- ¿Qué es Internet de las cosas (IoT)?
- Ejemplos de IoT
- Tecnología utilizada en IoT
- Prueba de IoT
- Desafíos de las pruebas de IoT
- Herramientas de prueba de IoT
- Para resumir
- Lectura recomendada
¿Qué es Internet de las cosas (IoT)?
IoT es la conexión de vehículos, electrodomésticos, equipos médicos que utilizan dispositivos electrónicos integrados, microchips, etc. para recopilar e intercambiar datos de un tipo diferente que se denomina IoT. Esta tecnología permite al usuario controlar dispositivos de forma remota a través de una red.
Ejemplos de IoT
Algunos de los ejemplos de implementación de IoT en la vida real son los siguientes:
# 1) En tecnología portátil:
Los dispositivos portátiles, como las correas Fitbit y los relojes Apple, se sincronizan fácilmente con los dispositivos móviles.
Estos ayudan a capturar la información necesaria, como la salud, el control de la frecuencia cardíaca, la actividad del sueño, etc. También ayudan a mostrar datos, notificaciones de los dispositivos móviles en ellos.
# 2) Infraestructura y desarrollo:
Con el uso de una aplicación como CitySense , es más fácil obtener los datos de iluminación exterior en tiempo real y, en base a estos, las luces de la calle se encienden o apagan. También hay varias aplicaciones para controlar las señales de tráfico y la disponibilidad de estacionamiento en un diseño de ciudad sofisticado.
# 3) Cuidado de la salud:
Existen numerosas aplicaciones para controlar el estado de salud de los pacientes.
Con base en los datos comparativos, los servicios controlan la dosis de medicamento en diferentes momentos del día. Existen aplicaciones como UroSense que pueden monitorear los niveles de líquido en el cuerpo del paciente y, según la necesidad, pueden iniciar la transferencia de líquido. Al mismo tiempo, los datos se pueden transmitir de forma inalámbrica a varias partes interesadas.
Tecnología utilizada en IoT
A continuación se muestran algunas de las tecnologías más utilizadas en IoT:
- RFID Etiquetas de (código de radiofrecuencia) y EPC (código de producto electrónico)
- NFC (Near Field Communication) se utiliza para permitir interacciones bidireccionales entre los dispositivos electrónicos. Esto es básicamente para los teléfonos inteligentes y se usa principalmente para realizar transacciones de pago sin contacto.
- Bluetooth: Se utiliza cuando las comunicaciones de corto alcance son suficientes para solucionar el problema. Esto se usa principalmente en tecnologías portátiles.
- Z-Wave: Ésta es una tecnología de comunicación de RF de baja potencia. Se utiliza principalmente para la automatización del hogar, el control de lámparas, etc.
- WiFi: Esta es la opción más utilizada para IoT. Cuando está en una LAN, esto ayuda a transferir archivos, datos y mensajes sin problemas.
Prueba de IoT
Tomemos un ejemplo de un sistema de seguimiento de atención médica en el que el instrumento monitorea la salud, la frecuencia cardíaca, los detalles de la ingesta de líquidos y envía un informe a los médicos. Esos datos se registran en el sistema y los datos históricos se pueden ver cuando sea necesario.
Los médicos pueden iniciar la ingesta de medicamentos, suplementos de líquidos en función de los datos. Esto se puede activar de forma remota desde cualquiera de los dispositivos (computadoras o dispositivos móviles) a los que está conectado el dispositivo médico.
Ahora, para probar dicha arquitectura, necesitamos pasar por múltiples enfoques de prueba, como;
Enfoques de prueba de IoT
# 1) Usabilidad:
- Necesitamos asegurarnos de la usabilidad de cada uno de los dispositivos utilizados aquí.
- El dispositivo de seguimiento de atención médica utilizado debe ser lo suficientemente portátil como para moverse a diferentes segmentos del área médica.
- El equipo debe ser lo suficientemente inteligente para enviar no solo las notificaciones, sino también los mensajes de error, advertencias, etc.
- El sistema debe tener una opción para registrar todos los eventos para brindar claridad a los usuarios finales. Si no es capaz de hacer eso, el sistema también debería enviarlos a una base de datos para almacenarlos.
- Las notificaciones deben mostrarse y el manejo de la pantalla debe realizarse correctamente en los dispositivos (computadoras / dispositivos móviles).
- La usabilidad en términos de visualización de datos, procesamiento de datos y envío de tareas desde los dispositivos debe probarse a fondo.
=> Leer más sobre las pruebas de usabilidad generales aquí
# 2) Seguridad de IoT:
- Desafíos de seguridad de IoT: IoT se centra en los datos, donde todos los dispositivos / sistemas conectados operan en función de los datos disponibles.
- Cuando se trata del flujo de datos entre dispositivos, siempre existe la posibilidad de que se pueda acceder o leer los datos cuando se transfieran.
- Desde el punto de vista de las pruebas, debemos comprobar si los datos están protegidos / cifrados cuando se transfieren de un dispositivo a otro.
- Dondequiera que haya una interfaz de usuario, debemos asegurarnos de que tenga una protección con contraseña.
=> Leer más sobre las pruebas de seguridad generales aquí
# 3) Conectividad:
- Al tratarse de una solución sanitaria, la conectividad juega un papel fundamental.
- El sistema debe estar disponible todo el tiempo y debe tener una conectividad perfecta con las partes interesadas.
- En cuanto a la conectividad, es muy importante probar dos cosas;
- La conectividad, la transferencia de datos y la recepción de tareas desde los dispositivos deben ser fluidas cuando la conexión está ACTIVADA y funcionando.
- La otra condición es el escenario de conexión inactiva. No importa cuán robusto sea el sistema y la red, hay posibilidades de que el sistema se desconecte. Como tester, también deberíamos probar las condiciones fuera de línea. Una vez que el sistema no está disponible en la red, tiene que haber una alerta que pueda avisar a los médicos para que puedan comenzar a monitorear las condiciones de salud manualmente sin depender del sistema hasta que esté activo. Por otro lado, tiene que haber un mecanismo en el sistema que pueda almacenar todos los datos en él durante el período fuera de línea. Una vez que el sistema esté en línea, todos esos datos deberían propagarse. La pérdida de datos no debería estar allí en ninguna condición.
# 4) Rendimiento:
- Cuando hablamos de un sistema para un dominio de atención médica, debemos asegurarnos de que el sistema sea lo suficientemente escalable para todo el hospital.
- Cuando se realiza la prueba, se realiza para 2-10 pacientes a la vez y los datos se propagan a 10-20 dispositivos.
- Cuando todo el hospital está conectado y 180-200 pacientes están conectados al sistema, los datos que se propagan son mucho más grandes que los datos probados.
- Como probadores, debemos asegurarnos de que el sistema funcione de la misma manera aunque los datos agregados se propaguen.
- También debemos probar la utilidad de monitoreo para mostrar el uso del sistema, el uso de energía, la temperatura, etc.
# 5) Prueba de compatibilidad:
- Al observar la arquitectura compleja de un sistema de IoT, las pruebas de compatibilidad son imprescindibles.
- Pruebas de elementos como múltiples versiones del sistema operativo, tipos de navegador y versiones respectivas, generaciones de dispositivos, modos de comunicación ( Por ejemplo Bluetooth 2.0, 3.0) es necesario para las pruebas de compatibilidad de IoT.
=> Leer más sobre las pruebas de seguridad generales aquí
# 6) Prueba piloto:
- En lo que respecta al IoT, las pruebas piloto son imprescindibles.
- Solo las pruebas en el laboratorio garantizan que el producto / sistema funcione correctamente. Pero esto puede ser contraproducente cuando se expone a condiciones / pasos / escenarios en tiempo real.
- Durante las pruebas piloto, el sistema se expone a un número limitado de usuarios en el campo real. Usan la aplicación y dan retroalimentación sobre el sistema.
- Estos comentarios son útiles para que la aplicación sea lo suficientemente robusta para la implementación de producción.
# 7) Pruebas reglamentarias:
- Al ser un sistema sanitario, es necesario pasar por varios puntos de control de cumplimiento normativo.
- Piense en un escenario en el que el producto pasa por todos los pasos de prueba pero falla en la lista de verificación de cumplimiento final (prueba realizada por el organismo regulador).
- Es una mejor práctica obtener los requisitos reglamentarios al comienzo del ciclo de desarrollo en sí. Lo mismo debe formar parte de la lista de verificación de pruebas.
- Al hacer eso, nos aseguramos de que el producto también esté certificado para la lista de verificación reglamentaria.
# 8) Prueba de actualización:
- IoT es una combinación de múltiples protocolos, dispositivos, sistemas operativos, firmware, hardware, capas de red, etc.
- Cuando se realiza una actualización, ya sea para el sistema o para cualquiera de los elementos involucrados como se indicó anteriormente, se deben realizar pruebas de regresión exhaustivas / se debe adoptar una estrategia para superar los problemas relacionados con la actualización.
Desafíos de las pruebas de IoT
Los desafíos que enfrenta un evaluador en IoT son los siguientes:
preguntas de la entrevista core java con respuestas
# 1) Hardware-Software Malla
IoT es una arquitectura que está estrechamente relacionada con varios componentes de hardware y software. No son solo las aplicaciones de software las que hacen que el sistema, sino también las de hardware, sensores, pasarelas de comunicación, etc., también jueguen un papel vital.
Solo las pruebas de funcionalidad no ayudan a certificar completamente el sistema. Siempre hay una dependencia entre sí en términos del entorno, transferencia de datos, etc. Por lo tanto, se convierte en un trabajo tedioso en comparación con probar un sistema genérico (solo componente de software / hardware).
# 2) Módulo de interacción de dispositivos
Como se trata de una arquitectura entre diferentes conjuntos de hardware y software, es obligatorio que se comuniquen entre sí en tiempo real o casi en tiempo real. Cuando ambos se integran entre sí, aspectos como la seguridad, la compatibilidad con versiones anteriores y los problemas de actualización se convierten en un desafío para el equipo de pruebas.
# 3) Prueba de datos en tiempo real
Como hemos comentado anteriormente que una prueba piloto / prueba reglamentaria es obligatoria para un sistema como este, también se vuelve muy difícil obtener dichos datos.
Estar en el equipo de pruebas, obtener puntos de control reglamentarios o implementar el sistema en el piloto es muy difícil. El paso se vuelve aún más difícil si el sistema está relacionado con la atención médica como en nuestro ejemplo. Entonces, eso sigue siendo un gran desafío para el equipo de pruebas.
# 4) interfaz de usuario
El IoT se distribuye entre dispositivos pertenecientes a todas las plataformas (iOS, Android, Windows, linux). Ahora, se puede probar eso en dispositivos, pero probarlo en todos los dispositivos posibles es casi imposible.
No podemos omitir la posibilidad de que se acceda a la IU desde un dispositivo que no poseemos ni simulamos. Es un desafío difícil de superar.
# 5) Disponibilidad de la red
cuál es el mejor software de desarrollo de aplicaciones
La conexión de red juega un papel vital ya que IoT se trata de que los datos se comuniquen a velocidades más rápidas todo el tiempo. La arquitectura de IoT debe probarse en todo tipo de conectividad / velocidades de red.
Para probar esto, los simuladores de redes virtuales se utilizan principalmente para variar la carga de la red, la conectividad, la estabilidad, etc. Pero, la red / datos en tiempo real es siempre un escenario nuevo y el equipo de prueba no sabe dónde se desarrollaría el cuello de botella a largo plazo.
Herramientas de prueba de IoT
Hay varias herramientas que se utilizan durante las pruebas de los sistemas de IoT.
Se pueden clasificar según el objetivo y se dan a continuación:
# 1) Software:
- Wireshark : Esta es una aplicación de código abierto que se utiliza para monitorear el tráfico en la interfaz, direcciones de host de origen / destino, etc.
- Tcpdump : Esto hace un trabajo similar al de Wireshark, excepto que no tiene una GUI. Esta es una utilidad basada en la línea de comandos que ayuda al usuario a mostrar el TCP / IP y otros paquetes que se transmiten o reciben a través de una red.
# 2) Hardware:
- Dongle JTAG: Esto es similar a un depurador en aplicaciones de PC. Esto ayuda a depurar el código de la plataforma de destino y muestra la variable paso a paso.
- Osciloscopio de almacenamiento digital : Esto se usa para verificar varios eventos con marcas de tiempo, fallas en la fuente de alimentación, verificación de integridad de la señal.
- Radio definida por software : Se utiliza para emular el receptor y el transmisor para una amplia gama de puertas de enlace inalámbricas.
Para el mundo en desarrollo que nos rodea, IoT es un mercado en crecimiento y tiene muchas oportunidades. No está lejos el momento en que IoT se vuelve esencial para que los probadores sobrevivan en el mundo del desarrollo.
El dispositivo habilitado para IoT, la aplicación de dispositivo inteligente y el módulo de comunicación juegan un papel vital en el estudio y evaluación del rendimiento y el comportamiento de varios servicios de IoT.
Un diseño deficiente de los dispositivos y servicios habilitados para IoT puede obstaculizar el funcionamiento correcto de la aplicación y, a su vez, afectar negativamente la experiencia del usuario final.
Para resumir
El enfoque de las pruebas de IoT puede ser diferente según el sistema / arquitectura involucrado. Los evaluadores deben concentrarse más en el enfoque de Prueba como usuario (TAAS) en lugar de en pruebas basadas en los requisitos.
Otro actor importante en las pruebas de IoT es la prueba de integración. IoT tiene éxito si el plan de prueba de integración es lo suficientemente preciso y sólido como para detectar fallas en el sistema.
Las pruebas de IOT pueden ser un trabajo difícil / desafiante, pero también es muy emocionante para el equipo de pruebas certificar una malla tan complicada de dispositivos, protocolos, hardware, sistemas operativos, firmware, etc.
Sobre el Autor: Esta es una publicación invitada de Subhasis. Trabaja como líder de equipo con más de 8 años de experiencia corporativa trabajando para compañías de TI de Fortune 500 en el campo de aseguramiento de la calidad del software, desarrollo de software y experiencia en pruebas.
ACTUALIZAR: Hemos agregado una infografía útil sobre el tema de IoT. Gracias a webeeky.com por compartir esto con nosotros.
Publique sus consultas / comentarios de IoT a continuación.
Lectura recomendada
- Mejores herramientas de prueba de software 2021 (Herramientas de automatización de pruebas de control de calidad)
- Pruebas de SaaS: desafíos, herramientas y enfoque de prueba
- Descarga del libro electrónico Testing Primer
- Las 11 mejores herramientas de automatización para probar aplicaciones de Android (herramientas de prueba de aplicaciones de Android)
- Las diferencias entre pruebas unitarias, pruebas de integración y pruebas funcionales
- Pruebas de regresión automatizadas: desafíos, procesos y pasos
- Pruebas de carga con los tutoriales de HP LoadRunner
- Desafíos de las pruebas manuales y de automatización