软件测试物联网设备的挑战
'Susan Harris突然,门锁了,窗户砰的一声关上了,电话也停止了工作。苏珊被入侵者困住了——但这不是普通的暴徒。相反,入侵者是一台名为 Proteus 的计算机,这是一个已经学会推理的人工大脑。并恐吓…… ’
1977 年的电影《恶魔之种》,讲述了一个 AI 出轨的故事,可能对人工智能对人类构成的危险有点戏剧化,但它确实对家庭自动化及其潜力有一些聪明的见解故障。
从医疗保健和家庭自动化到运输和石油和天然气行业,物联网 (IoT) 正在迅速发展。研究人员 Garner Inc 预测,到 2020 年,将有 204 亿台物联网设备连接到互联网。
因此,当您在智能手表上观看电影,要求您的家加热到您喜欢的温度,并可能与您的烤面包机协商什么构成烧焦时,请为测试人员考虑一下。男人和女人闭门造车,以确保这些设备真正按预期工作。
那么软件测试人员在测试 IoT 设备时面临哪些挑战?
首先,很明显——它安全吗?
安全
快速搜索物联网将带来大量讨论物联网安全问题的文章。然而,与其担心您的水壶可能会监视您,倒不如将新的或可破坏的设备添加到您受信任的网络中。可以使用笔记本电脑或计算机安装软件来保护设备,但对于物联网设备的支持很少。许多设备还具有普通用户永远不会更改的默认用户名和密码,因此很容易受到攻击。
测试人员还必须考虑物联网设备对互联网安全的更广泛影响。只需回顾一下 Mirai 僵尸网络攻击,该攻击使用数码相机和录像机等物品对美国互联网的大部分地区造成巨大破坏,导致 Netflix、Twitter、CNN 和 Reddit 等网站瘫痪。
对于测试人员来说,设备之间的数据流、数据加密和测试软件的完整性(如果自动化)等问题都是关键问题。
有时测试人员必须简单地相信用户会保护他们的网络。然而,由于更便宜的路由器通常包含较少的安全措施,物联网测试人员面临另一个问题,即复制项目将在其中运行的环境。
复制环境
测试网站时,测试人员很容易在整个工厂运行页面。在流行的浏览器上打开页面,在笔记本电脑、平板电脑和智能手机上运行它,你几乎已经测试了 90% 的用户将如何使用它。
然而,对于物联网设备,复制用户环境要困难得多。该设备是在家中使用还是在工作中使用?网速会快还是慢?有多少未知设备也连接到这个网络?设备是否需要离开并重新加入网络?
忘记技术方面,设备将放置在什么类型的家具上? Apple 的 HomePods 被记录为在经过处理或涂漆的木桌上留下白色环。虽然严格来说这对不起眼的软件测试人员来说不是一个问题,但它表明了各种各样的环境意味着为测试人员复制条件的工作具有挑战性。
因此,测试人员必须确保他们对产品有深入的了解,并尝试将尽可能多的不同场景包含在他们的测试中,包括设备如何与其他人一起工作。
如何与其他设备配合使用
兼容性测试一直是测试人员的难题,但在物联网世界中,它变成了无数挑战。以在支持 IFTTT 的设备上创建的看似无穷无尽的交互为例——棋盘上的棋步太多了,无法针对每个环境中的每个版本分析和测试每个设备。
测试人员开始解决此任务的唯一方法是将注意力集中在最流行的操作系统和通信方法(即蓝牙)、最流行的设备上,从而使努力的范围最广,在此之前转向更多利基项目。
成本
另一个挑战可能是最明显的挑战之一——成本。测试一些更简单的东西,比如网站,是相当快速和便宜的。但是在具有不同集成的不同环境中测试物联网设备的成本可能非常高。时间是一个重要因素,因为测试人员必须涵盖如此多的基础,但另一个问题是可能需要专业的测试软件。一些研究表明,缺乏开发人员未能审查其代码是否存在安全漏洞,以及缺乏对 IoT 应用程序的彻底测试,这意味着测试变得非常复杂。伴随着复杂性而来的是成本。
电源和备份
与关闭再打开的最常见 IT 解决方案不同,如果突然断电,某些 IoT 设备可能会遇到困难。测试人员需要确保他们测试设备在断电后如何变化 - 特别是对于医疗保健或工业部门的项目。
随着无线电力的持续增长,这将不再是一个问题,但在此之前需要考虑变量。考虑一个智能入侵者警报器或安全摄像头,如果系统由于错误或电源或连接中断而出现故障,它们基本上是无用的。
设备如何或即使备份是另一个问题,尤其是当您考虑新的或更新的软件将如何响应旧数据时。
更新
固件是许多物联网设备不可或缺的一部分,没有什么比推出新更新更让开发人员喜爱的了。但是对于测试人员来说,更新可能会带来令人头疼的错误。如果错过的错误进入标准计算机,那么通常可以简单地测试和修复问题,以免造成太大损坏。但如果一个错误进入物联网设备,它可能会产生更多的生理后果。
将 Nest 的恒温器问题追溯到 2016 年 1 月。去年 12 月的软件更新导致一些恒温器的电池寿命耗尽,导致系统停用。最终,该公司为用户推出了九步修复程序,但适当而彻底的测试本可以让用户不寒而栗,让公司面子。
因此,虽然我们的家园没有成为恶魔 AI Proteus 的危险;如果软件测试人员不采取适当的预防措施,他们确实有被冷落的风险。
物联网技术