建行移动门户网站首页,营销型网站是啥,网站平台搭建流程,百达翡丽手表网站int function(bool a,bool b,boolc){intx;x0;if(a(b||c)){x1;returnx;}}1、语句覆盖(SC)选择足够多的测试数据#xff0c;使得被测程序中的每条语句至少执行一次。测试用例#xff1a;aT,bT,cT2、判断覆盖(DC)设计足够的测试用例#xff0c;使得程序中的每个判定至…int function(bool a,bool b,boolc){intx;x0;if(a(b||c)){x1;returnx;}}1、语句覆盖(SC)选择足够多的测试数据使得被测程序中的每条语句至少执行一次。测试用例aT,bT,cT2、判断覆盖(DC)设计足够的测试用例使得程序中的每个判定至少都获得一次真值或假值。或者使得程序中的每一个取真分支和取假分支至少经历一次因此判定覆盖又称为分支覆盖。序号abca(b||c)a||(b||c)判定覆盖率1TTTTT502FFFFF50上述两组测试用例不仅满足了判定覆盖而且满足了语句覆盖从这一点看判定覆盖要比语句覆盖更强一些但是同样的假如这一程序段中判定的逻辑运算有问题。判定的第一个运算符 错写成运算符 || 。或者第二个运算符 || 错写成运算符 这时使用上面的测试用例可以达到100%的判定覆盖仍然无法发现上述的逻辑问题。3、条件覆盖(CC)构造一组测试用例使得每一判定语句中每个逻辑条件的可能是至少满足一次。用例一aF,bT,cFaT,bF,cT用例一在满足条件覆盖的同时把判定的两个分支也覆盖了。是否可以说达到了条件覆盖就必然实现了判定覆盖呢用例二aF,bT,cTaT,bF,cF用例二覆盖了条件的测试用例并没有覆盖分支。4、条件判定组合覆盖(CDC)设计足够的测试用例使得判定中的每个条件的所有可能真或假至少出现一次并且每个判定本身的判定结果真或假也至少出现一次。5、多条件覆盖(MCC)设计足够多的测试用例使得每个判定中条件的各种可能组合都至少出现一次。显然满足多条件覆盖的测试用例是一定满足判定覆盖、条件覆盖、条件判定组合覆盖的。测试用例指数级增加(2**conditions)6、修正条件覆盖(MCDC)它要求满足两个条件首先每一个程序模块的入口和出口都要考虑至少要被调用一次每个程序的判定到所有可能的结果值要至少转换一次其次程序的判定被分解为通过逻辑操作符(and、or)连接的bool条件每个条件对于判定的结果值是独立的。从表中我们可以看出布尔变量a可以通过用例1和5达到MCDC的要求(用例2和6或者用例3和7也可以满足相应要求)。变量b也可以通过用例2和4 达到MCDC的要求。变量c可以通过用例3和4达到MCDC的要求。因此用例集12345即可满足MCDC的要求。显而易见这不是唯一的用力结合a 1,5 (TF) 2,6(TF) 3,7(TF) 4,8(FF) ----符合条件1,5 (TF) 2,6(TF) 3,7(TF)b 1,3 (TT) 2,4(TF) 5,7(FF) 6,8(FF) ----符合条件 2,4(TF)c 1,2(TT) 3,4(TF) 5,6(FF) 7,8(FF) ----符合条件 3,4(TF)用例集12345{2,3,4,6}{2,3,4,7}