基于逻辑时钟的分布式测试方法解析
1. 引言
分布式对象通过开放分布式处理(ODP)等得以实现,ODP 作为 ISO/ITU 标准,为分布式系统开发提供了通用框架。在分布式系统测试中,控制并发事件是一项难题。现有方法存在不足,如未以正式方式提出测试序列生成算法,且因同步导致消息量增大。
为克服这些问题,提出了一种使用逻辑时钟的测试序列(TS)生成算法,该算法通过为 TS 事件标记逻辑时钟值并进行比较,正式生成控制并发事件的信号,还能解决控制 - 观察问题,使测试结果可重现。同时,针对传统分布式测试中测试器间通道数量随分布式对象数量非线性增加的问题,提出了一种远程测试架构。
2. 背景知识
在测试分布式系统时,分布式对象执行的部分事件可能存在并发关系,这会引发控制 - 观察问题:
- 当并发输入应用于黑盒形式的被测实现(IUT)时,测试结果取决于 IUT 中输入处理的顺序。
- 测试黑盒 IUT 时,即使输入与输出的映射不正确,测试结果也可能正确。
为了重现相同的测试结果,需要一种机制使并发事件具有因果关系,即“发生在前”关系,用‘→’表示。满足以下规则之一的事件可认为具有“发生在前”关系:
- 规则 1:
- ‘a’和‘b’在同一分布式对象中,且‘a’ → ‘b’。
- ‘a’是发送者,‘b’是接收者;在同步通信中,发送和接收事件同时发生。
- ‘a’ → ‘c’且‘c’ → ‘b’。
采用向量时间来描述逻辑时钟,其用一维矩阵表示,矩阵的每个字段对应一个对象,字段值表示相应事件在分布式对象上发生的时间。若 IUT 中事件‘X’和‘Y’满足特定关系(除特殊情况
超级会员免费看
订阅专栏 解锁全文
759

被折叠的 条评论
为什么被折叠?



