Model-Based Testing for MQTT Applications

Model-Based Testing for MQTT Applications
复制标题

MQTT 应用程序基于模型的测试

DOI:
10.1007/978-3-030-53949-8_5
复制
发表时间:
2020
期刊:
Proceedings of the 13th International Joint Conference on Knowledge-Based Software Engineering
影响因子:
--
通讯作者:
Masami Hagiya
Masami Hagiya
中科院分区:
--
文献类型:
--
作者:
Kotaro Tanabe;Yoshinori Tanabe;Masami Hagiya

文献摘要

相似文献

基于模型的测试是一种广泛使用的重要技术,用于测试在复杂环境中运行的软件。在本文中,我们提出了对现有基于模型的工具的扩展,以将该技术应用于采用 MQ 遥测传输 (MQTT) 协议来传输消息的软件,该协议通常用于物联网 (IoT) 环境。首先,在基于模型的测试框架中用于生成测试用例的有限状态机中,我们引入了一种在接收 MQTT 消息时触发的转换类型。其次,我们扩展了有限状态机,使其生成反映物联网软件特征的测试用例——大量相对简单的设备与服务器通信。第三,在有限状态机中引入时间的概念。当然,这对于验证长时间运行的软件的属性是必要的。此外,为了方便这种验证,引入了实时时间和虚拟时间。我们将这些扩展实现到基于模型的测试工具Modbat中,并进行了一个小实验来确认可行性,获得了积极的结果。
Model-based testing is a widely-used vital technique for testing software running in a complex environment. In this paper, we propose extensions to existing model-based tools to apply this technique to software that employs the MQ Telemetry Transport (MQTT) protocol for transmitting messages, commonly used in the Internet of Things (IoT) environment. First, in the finite state machine used for generating test cases in a model-based testing framework, we introduce a type of transition that is triggered when receiving MQTT messages. Second, we extend the finite-state machine so that it produces test cases that reflect the characteristics of IoT software – a large number of relatively simple devices communicate with servers. Third, the concept of time is introduced into the finite state machine. Naturally, this is necessary for verifying the properties of software that runs for a long time. Moreover, to facilitate such verification, both real-time and virtual time are introduced. We implemented these extensions into a model-based testing tool, Modbat, and conducted a small experiment to confirm the feasibility, gaining positive results.