形式化互操作性测试与相关协议建模
1 互操作性测试用例生成
1.1 测试用例生成目标
互操作性测试用例生成算法的目标是生成可在由两个待测试实现单元(IUT)组成的被测系统(SUT)上执行的互操作性测试用例(TC)。该算法的输入包括两个 IUT 所基于的规范 S1 和 S2,以及一个测试目的(TP),TP 是一种特定属性,以需要观察或发送到 SUT 的不完整动作序列的形式存在。
1.2 互操作性判定
在 SUT(I1∥AI2)上执行互操作性测试用例 TC 会给出一个判定结果:verdict(TC, SUT) ∈{PASS, FAIL, INC}。其中,PASS 表示未检测到互操作性错误;FAIL 表示互操作性标准未得到验证;INC(不确定)表示 SUT 的行为看似有效,但并非该测试用例的目的。
1.3 传统方法与状态空间爆炸问题
基于如 iopG 这样的标准的传统方法中,测试生成算法首先构建异步交互 S1 ∥A S2,然后将其与 TP 组合,并行检查 TP 的一致性并生成 TC。然而,构建 S1 ∥A S2 可能会导致著名的状态空间爆炸问题,因为构建 S1 ∥A S2 的复杂度与 S1 和 S2 的状态数量以及 FIFO 队列大小呈指数关系。因此,即使对于较小的规范,基于全局 iop 标准的互操作性测试生成也可能无法实现。
1.4 基于双边 iop 标准 iopB 的新方法
由于 iopB 和 iopG 等价,我们可以研究基于双边 iop 标准 iopB 的互操作性测试用例生成方法。具体步骤如下:
1. 从互操作性测试目的 TP 推导 TPSi,每个 TPS
超级会员免费看
订阅专栏 解锁全文

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



