软件测试的充分性:
“充分性”是用来度量一个给定的测试集T是否能验证软件P满足其需求R。充分性度量是相对于具体的测试充分性准则C的。
当一个测试集R满足准则C时,即认为T相对于C是充分的。否侧,如果T不能完全满足C,那么认为用例集T对于C是不充分的。因此,确定程序P的测试集T是否满足充分性准则C,是依赖于准则自身的。
覆盖域:
测试集的充分性评估是由一个有限集来度量,根据所依赖的充分性准则,有限集中的元素由软件需求或者代码导出。对于每一个测试准则C,我们都可以得到一个有限集,称之为覆盖域Ce。
如果覆盖域Ce仅依赖于被测软件的代码,则称准则Ce为一个白盒测试充分性准则;如语句覆盖、分支覆盖、路径覆盖等
如果覆盖域Ce仅依赖于被测软件的需求,则称准则C是一个黑盒测试的充分性准则。
其他的测试充分性准则都是二者的混合
测试覆盖率:
给定测试集T,覆盖标准C,覆盖域Ce,假设Ce包含n个元素(n>=0),我们说T覆盖Ce,是指对于Ce中的每一个元素e,在T中都至少有一个测试用例测试了它。如果T覆盖了Ce中所有的元素,则称T相对于C是充分的;如果T只覆盖了Ce中的k(k<n)个元素,则称T相对于C是不充分的。分数k/n代表了T对C的充分度,也成为T对于C,P以及R的覆盖率。
测试充分性准则C2:
如果软件P中的每一条路径都被遍历至少一次,则认为测试集T针对(P,R)是充分的。
<