为了账号安全,请及时绑定邮箱和手机立即绑定

什么叫做语句覆盖,条件覆盖和判定覆盖?

什么叫做语句覆盖,条件覆盖和判定覆盖?

慕盖茨4494581 2019-04-02 01:00:00
请设计测试用例分别实现语句覆盖,条件覆盖和判定覆盖.0:1:if((a<150)||(b<200))2:{3: for(i=a;i<100;i++)4:{5: println("A");6:}7:}8:else9:{10:println("B");11:}
查看完整描述

3 回答

?
RISEBY

TA贡献1856条经验 获得超5个赞

 1、语句覆盖是指选择足够的测试用例,使得运行这些测试用例时,被测程序的每一个语句至少执行一次,其覆盖标准无法发现判定中逻辑运算的错误。
  2、判定覆盖是指选择足够的测试用例,使得运行这些测试用例时,每个判定的所有可能结果至少出现一次,但若程序中的判定是有几个条件联合构成时,它未必能发现每个条件的错误。
  3、条件覆盖是指选择足够的测试用例,使得运行这些测试用例时,判定中每个条件的所有可能结果至少出现一次,但未必能覆盖全部分支。

查看完整回答
反对 回复 2019-04-03
?
jeck猫

TA贡献1909条经验 获得超7个赞

语句覆盖要求每条语句被执行,如a=99,b=0;a=151,b=201;
条件覆盖要求每个条件的真假分支被执行,如a=100,b=0;a=151,b=201;
判定覆盖要求每个判定的真假分支被执行,如a=99,b=0;a=100,b=200;a=101,b=199;a=151,b=201。

查看完整回答
反对 回复 2019-04-03
?
慕村225694

TA贡献1880条经验 获得超4个赞

举个例子吧
if A and B then Action1
if C or D then Action2

语句覆盖最弱,只需要让程序中的语句都执行一遍即可 。上例中只需设计测试用例使得A=true B=true C=true 即可。

分支覆盖又称判定覆盖:使得程序中每个判断的取真分支和取假分支至少经历一次,即判断的真假均曾被满足。上例需要设计测试用例使其分别满足下列条件即可(1)A=true,B=true,C=true,D=false(2)A=true,B=false,C=false,D=false。

条件覆盖:要使得每个判断中的每个条件的可能取值至少满足一次。上例中第一个判断应考虑到A=true,A=false,B=true,B=false第二个判断应考虑到C=true,C=false,D=true,D=false,所以上例中可以设计测试用例满足下列条件(1)A=true,B=true,C=true,D=true(2)A=false,B=false,C=false,D=false。

路径覆盖:要求覆盖程序中所有可能的路径。所以可以设计测试用例满足下列条件(1)A=true,B=true,C=true,D=true(2)A=false,B=false,C=false,D=false(3)A=true,B=true,C=false,D=false(4)A=false,B=false,C=true,D=true。

不论那种覆盖方法,都不能保证程序的正确性。

查看完整回答
反对 回复 2019-04-03
  • 3 回答
  • 0 关注
  • 2785 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号