基于马尔可夫链和概率方法的测试用例优先级排序与检查序列最小化
在软件测试领域,如何高效地生成和排序测试用例,以及如何最小化检查序列的长度,是提高测试效率和质量的关键问题。本文将介绍基于马尔可夫链的测试用例优先级排序方法,以及针对非确定性有限状态机(FSM)的概率检查序列最小化方法。
马尔可夫链在测试用例优先级排序中的应用
为了实现测试用例的优先级排序,研究者考虑了三个不同领域的马尔可夫链模型,并通过随机游走算法生成测试序列。具体采用了两种启发式方法:
- H1 :累加弧的转移概率。
- H2 :累加状态的稳态概率。
模型调整
最初该模型为马尔可夫决策过程(MDP),但本文聚焦于离散时间马尔可夫链(DTMC),因此进行了调整:
- 当每个状态的转移概率之和超过 1 时,按比例分配概率。例如,初始化状态有三个转移,概率分别为 a1=0.05、a2=0.95、a3=1,归一化后对应 DTMC 中的值为 a1=0.025、a2=0.475、a3=0.5。
- 修改最终状态 assistance 和 policeNotified 的自转移,将其转移到初始状态,以满足遍历链的定义。
测试序列生成结果
以下是使用 H1 和 H2 为 CS III 生成的前五个测试序列:
| 启发式方法 | 遍历状态 | 概率 |
| — | — | — |
| H1 | idle-ready-initializing-monitoring-intrusionDetected-alarm-police
马尔可夫链测试用例排序与最小化
超级会员免费看
订阅专栏 解锁全文
1564

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



