深入解析 ioco 与 uioco:实现关系、测试及追踪特性对比
在系统测试和验证领域,ioco(Input/Output Conformance)和 uioco(Universal Input/Output Conformance)是两种重要的实现关系。它们在判断系统实现是否符合规格说明方面发挥着关键作用。下面将详细探讨这两种关系的特点、差异以及在测试和追踪特性方面的表现。
ioco 与 uioco 强度对比
由于 Utraces(s) ⊆ Straces(s),很明显 uioco 并不比 ioco 更强。通过以下例子可以看出 uioco 严格弱于 ioco。以图 1 中的 k3 作为(部分)规格说明,图 2 中的 r1 和 r2 作为实现。因为 !liq ∈ out(r2 after ?but·?but ) 且 !liq ∉ out(k3 after ?but·?but ),所以 r2 / ioco k3。但 ?but·?but ∉ Utraces(k3),实际上 r2 uioco k3。同样,r1 / ioco k3,在这种情况下 r1 / uioco k3。原因是 ?but·δ·?but ∈ Utraces(k3),!liq ∈ out(r1 after ?but·δ·?but ) 且 !liq ∉ out(k3 after ?but·δ·?but )。
测试相关概念
基于实现关系 imp(无论是 ioco 还是 uioco)进行测试时,需要定义测试用例,即确定测试用例的领域 TEST,以及如何在实现上执行这些测试用例。然后可以开发测试生成算法,从规格说明模型生成测试套件(即测试用例集):Πimp : LTS → P(TEST)。生成的测试套件应仅
超级会员免费看
订阅专栏 解锁全文

53

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



