物联网定义
物联网:利用嵌入式电子设备、微芯片等连接车辆、家电、医疗设备,以收集和交换不同类型的数据,被称为物联网。借助物联网,用户能够远程控制设备,可以实现不同设备的互联。在现实生活中物联网开始有越来越多的应用,例如手环、手表等可穿戴设备、跑步机、汽车、冰箱、路灯等各种设备可以轻松与智能手机同步数据,这些设备有助于获取必要的信息,如健康状况、心率监测、睡眠活动、水温、速度和其它物理状态信息等,也有助于显示来自智能手机的电话、短信和其它通知。
物联网中最常用的技术
- RFID[射频编码]标签、EPC[电子产品编码]
- NFC[近场通信]:是用来实现电子设备之间的双向交互,主要用于非接触式支付交易。
- 蓝牙:用于短距离的可靠通信,常用于可穿戴设备。
- z波:一种低功率射频通信技术,主要用于家庭自动化、灯具控制等。
- WiFi:也是物联网常用的通信技术,在局域网中,这有助于无缝地传输文件、数据和消息。
物联网测试概述
让我们以一个医疗保健跟踪系统为例,在该系统中,仪器监测健康状况、心率、液体摄入细节,并向医生发送报告。这些数据被记录在系统中,历史数据可以在需要时查看。医生可以根据数据开始药物摄入,补充液体。这可以从医疗设备连接到的任何设备(计算机或移动设备)远程触发。现在要测试这样的架构,我们需要有针对性的测试方法或测试用例。
1.可用性测试
针对数据显示和处理、推送作业任务等方面的可用性进行彻底的测试,以确保这里使用的每个设备的可用性。例如,通知能在不同设备[电脑/流动设备]间显示,设备还具有良好的容错性,不仅能推送通知,还能推送错误信息、警告等。
2.物联网安全测试
物联网是以数据为中心的,所有连接的设备/系统都基于可用的数据进行操作。
从测试的角度来看,我们需要检查数据在从一个设备传输到另一个设备时是否被保护/加密,例如确保密码是被加密存储和传输的。
3.连接测试
由于这里是一种医疗保健解决方案,连接性非常关键,需要稳定、可靠的连接。
当连接启动后,数据传输、从设备接收作业任务能够实时同步进行,滞后或延迟时间都应该在限定的阈值内。
连接断开场景也需要测试。不管系统和网络有多健壮,系统都有可能脱机,所以离线场景必须被测试。一旦系统无法在网络上使用,就必须有一个警报来提示医生,以便医生可以开始手动监控健康状况,而不是依赖于系统,直到它启动。
我们还需要验证系统是否具有一种良好的机制——即在脱机期间能够将所有数据存储在其中。一旦系统上线,所有的数据都应该被重新传输,在任何情况下数据都不应丢失。
4.性能测试
当讨论医疗保健领域的系统时,需要验证该系统是否具有良好的可伸缩性。
低流量的测试,2-10个病人的数据传播到10-20个设备。
高流量的测试,当整个医院的所有设备连接起来进入工作状态, 200~300名患者连接到系统时,数据的传输还能及时完成。即使一些设备或患者执行相同的操作,增加的数据也能被正确处理和传输,即并发操作的测试。
测试监控工具,以显示系统使用情况、电力使用情况、温度等。
5.兼容性测试
考虑到物联网系统的复杂架构,兼容性测试也是必须的。
多种操作系统版本、浏览器类型及其版本、设备类型、通信模式(如蓝牙2.0、3.0)等测试项目是物联网兼容性测试的必要条件。
6.现场测试
就物联网而言,现场(准生产环境)测试也是必须的。仅仅依赖实验室测试还不能确保产品/系统正常运行。在实际现场真实的环境、场景下,可能会产生严重的问题。
在现场测试期间,不一定要大量的用户,但所有关键的操作都需要进行,检验应用程序能否做出正确、及时的响应。
7.监管测试
针对医疗保健这类系统,需要进行合规性的验证,验证每一项合规性的检查点。
更好的做法是在应用软件开发开始时就获得监管要求,从而就能完成测试所需的、正确的检查表内容,这样,待发布的产品也比较容易通过监管机构的认证。
8.升级测试
物联网是多种协议、设备、操作系统、固件、硬件、网络层等的组合。
当执行升级时,无论是针对系统还是上述涉及的任何项目,都应进行彻底的回归测试,采取正确的回归策略,以克服升级相关的问题。
测试人员在物联网中面临的挑战
1. 网络、通信知识
物联网是一种架构,各种硬件和软件组件之间紧密耦合。不仅要了解一般软硬件的应用,而且需要了解传感器、通信网关等的知识,在环境、数据传输等方面总是相互依赖的。
2. 多设备互联
物联网是不同硬件和软件之间的架构,因此它们必须实时/接近实时地相互通信。当它们彼此集成时,安全性、向后兼容性、升级问题等问题就成为测试团队的挑战。
3. 实时数据测试
正如我们前面所讨论的,对于物联网,现场测试/监管测试是强制性的,现场部署系统、获取现场的数据也变得非常困难。
4. 用户界面
物联网涉及各个平台(iOS、Android、Windows、linux)的设备,但我们不可能在所有的设备上进行测试,应用程序客户端在未测试的或模拟的设备上可能会出现UI的问题。
5. 时间敏感性网络
物联网要求数据进行实时传输,对各种网络连接和速度都有严格要求,这就是我们经常说的:时间敏感性网络(TSN)。TSN始终是一个新的场景,虽然可以使用虚拟网络模拟器来改变网络负载、连接、稳定性等进行测试,但还不够。
测试物联网系统时使用了各种工具
软件工具,如Wireshark、Tcpdump,其中Wireshark是一个开源的应用程序,用来监控接口的流量、源/目的主机地址等,Tcpdump是一个基于命令行的实用程序,它的功能与Wireshark类似,只是没有图形界面。
硬件工具,如:
JTAG加密狗:类似于PC应用程序中的调试器,有助于调试目标平台代码并逐步显示变量。
数字存储示波器:用来检查各种事件的时间戳、电源故障、信号完整性等。