自动化测试用例生成:策略与模型构建
1. 并行产品与测试用例生成
在测试用例生成中,规格说明 SYSTEM 与测试目的 TP1 之间的并行产品是一个重要概念,其过程表示为 (PPSPEC_{TP1} = SYSTEM |[ αSYSTEM ]| TP1)。(PPSPEC_{TP1}) 的轨迹集与 SYSTEM 的轨迹集相似,但以标记事件 accept.1 和 refuse.1 结尾的轨迹除外。例如,轨迹 ⟨a, y, b, z, accept.1⟩ 属于 (traces(PPSPEC_{TP1})) 但不属于 (traces(SYSTEM))。
在第一次迭代中,细化验证会产生 (ts1 = ⟨b, z, refuse.1⟩) 作为第一个反例。使用 (ts1) 进行第二次选择细化迭代,会产生 (ts2 = ⟨a, y, b, z, accept.1⟩) 作为下一个反例。由于规格说明是递归的,并且有无限的接受和拒绝轨迹,因此使用 TP1 可以从 S 中获得无限的测试场景。
这种方法除了能以进程代数统一表达整个理论外,还有其他潜在好处:
- 与 LTS 不同,代表规格说明的 CSP 模型可以自然地在抽象形式中演变,这在从简单模型构建复杂模型的场景中尤为重要。
- 实现与规格说明的一致性以及测试用例生成可以直接用进程细化来表达和机械化。
- 测试目的可以用 CSP 进程来指定,便于组合、扩展。
- 生成的测试用例(也表示为 CSP 进程)可以组合成更粗粒度的测试用例,也可以拆分成更细粒度的测试用例。
2. 测试用例选择策略
测试用例生成通常基于覆盖标准,大多是结构标准,但可能的测试用例数量通常非常庞大,且
超级会员免费看
订阅专栏 解锁全文

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



