KompicsTesting——单元测试事件流
软件工程
2017-05-15 v1
摘要
本文提出 KompicsTesting,一个用于 Kompics 组件模型中组件单元测试的框架。Kompics 中的组件是事件驱动实体,仅通过消息传递进行异步通信。类似于 actor 模型中的 actor,它们在消息传递中不共享内部状态,与其他使用共享状态的并发模型相比更不易出错。然而,它们既非对较简单的逻辑和规约错误免疫,也非对源于非确定性的数据竞争等错误免疫。因此,普遍需要能够以类似于函数和模块化代码段的 xUnit 框架的方式,快速迭代开发和测试消息传递组件的工具。这些框架以命令式方式工作,不适合测试消息传递组件,因为此类组件的行为编码在它们发送和接收的消息流中。本工作中,我们提出一个描述和验证消息传递组件行为的理论框架,独立于模型和框架实现,方式类似于使用正则表达式描述字符流。我们展示了此方法如何用于对组件进行黑盒和白盒测试,并通过基于此方法设计和实现原型 KompicsTesting 来说明其可行性。
引用
@article{arxiv.1705.04669,
title = {KompicsTesting - Unit Testing Event Streams},
author = {Ifeanyi W. Ubah and Lars Kroll and Alexandru A. Ormenisan and Seif Haridi},
journal= {arXiv preprint arXiv:1705.04669},
year = {2017}
}