18、协议数据流属性的可执行测试序列生成方法

协议数据流属性的可执行测试序列生成方法

1. 引言

分布式系统由通过通信链路远程连接的多个实体(如计算机、仪器等)组成,消息通过这些链路进行传输。协议是消息的表示和有序交换规则,各方在使用前需达成一致,一组协议通常分层构建复杂的通信行为。协议一致性测试的目的是检验协议实现是否符合作为标准定义的协议规范。

在测试中心,协议实现被视为黑盒,外部测试器通过接口向其发送输入,检查输出是否符合预期。输入/输出对的序列即为测试序列,输入的数量决定了测试序列的长度,一般测试序列从协议规范生成。

协议规范包含控制和数据两部分。控制部分决定消息的收发方式,可看作确定性有限状态机(FSM),包含状态和转换。数据部分指定涉及消息参数值的其他功能,如服务质量。非正式地,数据部分用文字描述后转化为参数值之间的规则;正式地,由扩展有限状态机(EFSM)指定,它在FSM基础上引入变量和参数。

生成的测试序列若其参数值不违反任何规则,则该序列是可执行的。以往有将FSM和规则转换为行为机有向图以生成可执行测试序列的方法,也有将行为机有向图转换为选择有向图并使用选择中国邮递员算法生成最小长度可执行测试序列的方法,但许多用文字描述的数据部分难以转化为规则。本文关注从EFSM指定的数据部分生成测试序列。

EFSM的数据部分可用数据流有向图表示,从该图路径生成的测试序列若有使路径上每个谓词为真的输入参数值,则该序列是可执行的。由于遍历数据流有向图的所有可能路径不可行,通常根据涉及EFSM数据流属性的准则选择测试路径。All - Use和IO - df - chain是EFSM测试中的重要准则,但构造满足这些准则且保证测试序列可执行的路径是繁琐的过程,本文将提出自动生成满足这些准则且

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值