软件测试白盒黑盒测试第2章ppt课件.ppt

软件测试白盒黑盒测试第2章ppt课件.ppt

ID:58998924

大小:332.00 KB

页数:44页

时间:2020-09-27

软件测试白盒黑盒测试第2章ppt课件.ppt_第1页
软件测试白盒黑盒测试第2章ppt课件.ppt_第2页
软件测试白盒黑盒测试第2章ppt课件.ppt_第3页
软件测试白盒黑盒测试第2章ppt课件.ppt_第4页
软件测试白盒黑盒测试第2章ppt课件.ppt_第5页
资源描述:

《软件测试白盒黑盒测试第2章ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、二、控制流/覆盖测试(Control-flow/CoverageTesting)⑴语句覆盖(StatementCoverage)语句覆盖是一种衡量测试所覆盖的程序语句百分比的措施。通过测试应该达到100%程序语句覆盖的目标。语句覆盖语句覆盖”是一个比较弱的测试标准,它的含义是:选择足够的测试用例,使得程序中每个语句至少都能被执行一次。PROCEDUREExample(A,B:real;X:real);BeginIF(A>1)AND(B=0)THENX:=X/A;IF(A=2)OR(X>1)THENX:=X+1EN

2、D;PROCEDUREExample(A,B:real;X:real);BeginIF(A>1)AND(B=0)THENX:=X/A;IF(A=2)OR(X>1)THENX:=X+1END;I.A=2,B=0,X=4----sacbedeF(A>1)and(B=0)(A=2)or(X>1)X=X/AX=X+12sd1aF4cTb5T637为使程序中每个语句至少执行一次,只需设计一个能通过路径ace的例子就可以了,例如选择输入数据为:A=2,B=0,X=4就可达到“语句覆盖”标准语句覆盖从上例可看出,语句覆盖实际上

3、是很弱的,如果第一个条件语句中的AND错误地编写成OR,上面的测试用例是不能发现这个错误的;又如第三个条件语句中X>1误写成X>0,这个测试用例也不能暴露它,此外,沿着路径abd执行时,X的值应该保持不变,如果这一方面有错误,上述测试数据也不能发现它们。eF(A>1)and(B=0)(A=2)or(X>1)X=X/AX=X+12sd1aF4cTb5T637课堂练习:按语句覆盖的标准设计测试用例voidDoWork(intx,inty,intz){intk=0,j=0;if((x>3)&&(z<10)){k=x*y

4、-1;//语句块1j=sqrt(k);}if((x==4)

5、

6、(y>5)){j=x*y+10;//语句块2}j=j*3;//语句块3}voidDoWork(intx,inty,intz){intk=0,j=0;if((x>3)&&(z<10)){k=x*y-1;//语句块1j=sqrt(k);}if((x==4)

7、

8、(y>5)){j=x*y+10;//语句块2}j=j*3;//语句块3}为了测试语句覆盖率只要设计一个测试用例就可以把三个执行语句块中的语句覆盖了。测试用例输入为:x=4、y=5、z=5程序执行的路径

9、是:abd语句覆盖该测试用例虽然覆盖了可执行语句,但并不能检查判断逻辑是否有问题,例如在第一个判断中把&&错误的写成了

10、

11、,则上面的测试用例仍可以覆盖所有的执行语句。一般认为“语句覆盖”是很不充分的一种标准,是最弱的逻辑覆盖准则。(2)判断/分支覆盖判断/分支覆盖是为了衡量在测试过程中覆盖了多少个程序中的布尔表达式。判定覆盖就是设计若干个测试用例,运行被测程序,使得程序中每个判断的取真分支和取假分支至少经历一次,即程序中的每个分支至少执行一次。判定覆盖又称为分支覆盖(Branchcoverage)。(2)判断/分

12、支覆盖判定覆盖只比语句覆盖稍强一些,实际效果表明,只是判定覆盖,还不能保证一定能查出在判断的条件中存在的错误。因此,还需要更强的逻辑覆盖准则去检验判断内部条件。对例1的程序,如果设计两个例子,使它们能通过路径ace和abd,或者通过路径acd和abe,就可达到“判定覆盖”标准,为此,可以选择输入数据为:①A=3,B=0,X=1(沿路径acd执行);②A=2,B=1,X=3(沿路径abe执行)PROCEDUREExample(A,B:real;X:real);BeginIF(A>1)AND(B=0)THENX:=X

13、/A;IF(A=2)OR(X>1)THENX:=X+1END;X=X/AI:A=3,B=0,X=1:sacbdII:A=2,B=1,X=3:sabed(A>1)and(B=0)(A=2)or(X>1)X=X+12sd1aF4cTb5TeF37满足判定覆盖(A>1)and(B=0)为一个判定A>1为一个条件每个语句至少执行一次!每个判定的每种可能都至少执行一次!即每个判定的真假分支都至少执行一次!6课堂练习:按判定覆盖的标准设计测试用例voidDoWork(intx,inty,intz){intk=0,j=0;if

14、((x>3)&&(z<10)){k=x*y-1;//语句块1j=sqrt(k);}if((x==4)

15、

16、(y>5)){j=x*y+10;//语句块2}j=j*3;//语句块3}设计两个测试用例则可以满足判定覆盖的要求。测试用例的输入为:x=4、y=5、z=5x=2、y=4、z=5上面的两个测试用例虽然能够满足判定覆盖的要求,但是也不能对判断条件进行检查,例如把第二个条件y

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。