在现在以及不远的未来家里的空调、冰箱、房门可能有一个共同点:互联网连接。这种新现象被称为物联网。所有这些连接的硬件也由软件驱动的,这些软件应该经过软件测试。在这篇文章中,我们讨论测试物联网设备的主要挑战。
今天,我们面临着在不同环境中运行的相互关联的计算设备的兴起,这些设备通常被称为物联网(IoT)。
生产厂商承诺这些产品会让我们的日常生活更轻松,在这个相对新的万物互联生活中有许多陷阱。
令人担忧的是,不少IoT产品或解决方案提供商,在组织中并没有针对其基础架构这一特定方面的软件测试策略。他们中的许多人可能完全依靠制造商来保证其设备的高质量。大量受访者表示,他们计划在不久的将来实施物联网测试策略。这将导致新工具的出现及其设计,以处理测试要求和数据呈指数级增长需求。
从根源上讲,物联网技术正在扩展机器对机器和机器对人的通信和数据交互。随着用户越来越依赖互联、自引导和自学设备,应考虑的关键质量方面是安全性、性能、功能性和可用性。
选择用于测试IoT的设备
如今市场上有数千种互联产品,所有这些产品都在收集和发送数据和信息。一些公司设计、生产和销售自己的设备。对他们来说,让他们进行全部项目的测试以保障最终产品的质量不是问题。但也有一些公司为不同的物联网设备开发应用程序,他们很难对终端软件和服务的质量完成全面的检查。
后者必须选择最合适的设备矩阵,以提高的测试覆盖率。找出哪些设备在目标受众中最受欢迎。利用来自有意义的客户的实际信息,公司可以做出明智的选择,选择他们应该测试的设备,并维护一批支持设备的列表。
除了设备选择之外,QA工程师和软件测试公司还应考虑另一点。他们应该制定广泛的测试策略,以满足用户不断增长的需求,并在激烈市场中保持竞争力。
物联网测试的特点
在沉浸式的新环境中,QA工程师不仅必须测试设备自己的功能,还要测试设备的互连性。必须确保如果一台设备发生故障,其他关联设备依然可以正常工作。
根据经验和当前趋势,建议以下物联网主要测试领域:
安全性
安全测试应包括隐私、自主性、控制和攻击活动。适当的安全和渗透测试至关重要,因为薄弱的安全措施可能导致敏感的个人信息泄露。当涉及到物联网设备时,网络罪犯不仅可以窃取私人信息,还可以攻击家庭安全系统或汽车机械系统以造成事故。
性能
性能测试包括网络通信和内部计算功能。在性能测试期间,QA工程师应验证所有数据是否正确传输和存储,即使发生意外的服务中断。针对一些物联网设备还需要测试在无网或者弱网测试情况下的功能和体验。
功能
功能测试针对Web/UI、嵌入式和服务接口。最终目标是验证应用程序功能是否满足所有功能要求。在功能测试期间,QA工程师可以执行正向测试和反向测试用例。在正向测试中,根据有效的输入数据检查应用程序。反向测试用于证明在提供无效输入数据时应用程序也需要按照既定规则运行。除了功能测试之外,还需要执行大量探索性测试,以便从用户角度测试设备。QA工程师应努力超越一般测试场景,并在编写测试用例时考虑更多条件和场景。
兼容性
由于IoT设备通常需要各种硬件配置,因此必需要进行大量兼容性测试。它用于检查所有功能是否在不同的配置、设备版本、协议版本、移动设备和移动操作系统版本中正常运行。还有技术级别质量属性:兼容性、安装和资源利用率。QA测试工程师需要检查这些结果,以便为客户提供客观的测试结果。
结论
这些软件测试方法和技术正随着物联网的不断发展而迅速发展。为了交付高质量的应用,确保测试在目标环境中进行,并彻底检查所有相关方面至关重要。