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

请设计测试用例分别实现语句覆盖,条件覆盖和判定覆盖.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:}

慕盖茨4494581
浏览 2802回答 3
3回答

RISEBY

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

jeck猫

语句覆盖要求每条语句被执行,如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。

慕村225694

举个例子吧if A and B then Action1if 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。不论那种覆盖方法,都不能保证程序的正确性。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java