软件测试技术:覆盖评估与用例生成
覆盖评估测试
在软件测试中,覆盖技术是一种重要的方法,其评估对于保障软件质量至关重要。在覆盖评估测试里,有几个关键概念和指标值得关注。
- 关系与故障检测能力 :对于度量 M1 和 M2 而言,恰当划分关系能确保更好的故障检测能力。也就是说,如果 C1 恰当划分 C2,那么在 M1 和 M2 方面,C1 检测故障的能力优于 C2,但对于 M3 不一定如此。并且,对于大多数关注的标准,普遍缩小关系等同于包含关系,不过包含关系并非比较标准的良好基础。这是因为这里的结果是最坏情况的结果,仅考虑了一个标准包含另一个标准是否能保证提高故障检测能力,而对于在“典型”程序中,C1 包含、缩小、覆盖或划分 C2 对它们相对故障检测能力的影响,仍有待进一步研究。
- 随机测试与基于分区测试的比较 :随机测试可被视为一种基于分区的技术,它将输入域划分为单个子域(即输入域本身),也可看作一种覆盖标准,将程序的输入域划分为一个子域。将随机测试和基于分区测试在故障检测能力方面进行比较,等同于将一个标准 C 与随机标准在度量 M3 方面进行比较。结果表明,基于分区测试在检测故障方面并不比随机测试更出色,这与恰当覆盖和恰当划分关系在度量 M3 方面不能诱导更好的故障检测能力这一事实是一致的。
覆盖技术在模型层面的应用是一种很有前景的方法。它能够从可执行模型中较为容易地选择测试用例,同时在一定程度上确保模型目标行为的覆盖。不过,标准需要适应特定的规范形式,大多数常见标准可以很容易地适应模型。基于模型覆盖的方法还可用于功能测试,这种功能测试仍然基于覆盖考虑,生成的测试套件能够以可度量的方式覆盖反映抽象场景
超级会员免费看
订阅专栏 解锁全文

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



