论文部分内容阅读
随着计算机网络和分布式系统的发展,通信协议的规模和复杂性在不断增加的同时,可靠性也在降低。一致性测试作为保证协议实现质量的一种重要手段,首先根据协议规范生成测试序列(输入序列),然后在适当的测试结构中向协议实现注入测试序列,通过分析输出序列来判定协议实现是否与规范一致。 在分布式测试中,由于存在多个测试器,它们之间可能会出现与可控性和可观察性相关的协同问题,测试过程变得更加复杂。可控性是指测试系统控制被测实现(IUT)按照一定顺序接收输入的能力。可观察性是指测试系统观察IUT的输出、判断输入与输出对应关系的能力。可控性与可观察性对于测试活动的许多方面都有影响,例如测试序列的执行,测试系统的检错能力以及测试结果的解释等。本文从测试生成和测试执行的角度研究了这两个问题,主要贡献如下: 1.分布式测试中的测试序列生成 为解决分布式测试中的可控性与可观察性问题,测试器之间通常需要使用可靠的外部通信信道交换协同消息。考虑到协同消息和输入输出的代价,总是希望得到解决可控性与可观察性问题的最优测试序列。基于协议的多端口有限状态机模型,我们提出了一种构造辅助有向图的新方法,图中的每条链路都表示不存在可控性与可观察性问题的测试序列。通过求解辅助有向图上的乡间中国邮递员回路(RCPT),得到最优测试序列。 2.分布式测试中的时间约束 测试系统必须满足一定的时间约束才能真正解决分布式测试中的可控性与可观察性问题。反应时间约束保证测试系统以合适的速度向IUT发送输入。利用测试执行过程中的时间信息,对反应时间约束进行优化,提高了测试的效率。我们还提出了一种新的分布式测试的时序方法;如果测试系统满足给定的时间约束,该方法只需要使用与测试器个数相同的协同消息就能解决可控性与可观察性问题。 3.TTCN-3(测试和测试控制表示法-3)测试系统的实现与应用 根据协议规范生成测试序列后,结合具体的测试结构和测试环境,得到