软件工程基础(胡思康)第6章课件.pptx
《软件工程基础(胡思康)第6章课件.pptx》由会员分享,可在线阅读,更多相关《软件工程基础(胡思康)第6章课件.pptx(43页珍藏版)》请在三一办公上搜索。
1、高茜,软件质量测试,软件测试-白盒测试,CHAPTER 6,白盒测试(White Box Testing),按照程序内部的结构、逻辑驱动测试程序,通过测试来检测产品内部动作是否按照设计说明书的规定正常进行,检验程序中的每条路径是否都能按预定要求正确工作。,白盒测试,白盒测试的对象主要是源程序。是指用代码内部的分支、路径、条件,使程序设计的控制结构导出测试用例,是软件测试的主要方法之一。,白盒测试,白盒测试的方法,不要求在计算机上实际执行所测程序,主要以一些人工的模拟技术对软件进行分析和测试。静态测试大约可以找出25%-60%的逻辑错误,白盒测试的方法,输入一组预先按照一定的测试准则设计的实例数
2、据驱动运行程序,检查程序功能是否符合设计要求,发现程序中的错误的过程。,检查程序的内部数据结构是否有效,3,2,原则,所有逻辑值都要测试真和假两种情况,白盒测试的原则,1,4,保证一个模块中的所有路径至少被测试一次,检查上、下边界及可操作范围内运行的所有循环,“语句覆盖”是一个比较弱的测试标准,它的含义是:选择足够的测试用例,使得程序中每个语句至少都能被执行一次。如,例1:PROCEDUREM(VAR A,B,X:REAL);BEGIN IF(A1)AND(B=0)THEN X:=X/A;IF(A=2)OR(X1)THEN X:=X+1;END.,逻辑覆盖-语句覆盖,为使程序中每个语句至少执行
3、一次,只需设计一个能通过路径ace的例子就可以了,例如选择输入数据为:A=2,B=0,X=3 就可达到“语句覆盖”标准。,语句覆盖,逻辑覆盖-语句覆盖,从上例可看出,语句覆盖实际上是很弱的,如果第一个条件语句中的AND错误地编写成OR,上面的测试用例是不能发现这个错误的;又如第三个条件语句中X1误写成X0,这个测试用例也不能暴露它,此外,沿着路径abd执行时,X的值应该保持不变,如果这一方面有错误,上述测试数据也不能发现它们。,逻辑覆盖分支覆盖,比“语句覆盖”稍强的覆盖标准是“分支覆盖”(或称判定覆盖)标准。含义是:执行足够的测试用例,使得程序中的每一个分支至少都通过一次。,A=2,B=1,X
4、=3,A=3,B=0,X=1,判定覆盖,判定覆盖,逻辑覆盖分支覆盖,程序中含有判定的语句包括IF-THEN-ELSE、DO-WHILE、REPEAT-UNTIL等,除了双值的判定语句外,还有多值的判定语句,所以“分支覆盖”更一般的含义是:使得每一个分支获得每一种可能的结果。“分支覆盖”比“语句覆盖”严格,因为如果每个分支都执行过了,则每个语句也就执行过了。但是,“分支覆盖”还是很不够的,例如例1两个测试用例未能检查沿着路径abd执行时,X的值是否保持不变。,逻辑覆盖条件覆盖,一个判定中往往包含了若干个条件,如例1的程序中,判定(A1)AND(B=0)包含了两个条件:A1以及 B=0,所以可引进
5、一个更强的覆盖标准“条件覆盖”。“条件覆盖”的含义是:执行足够的测试用例,使得判定中的每个条件获得各种可能的结果。,逻辑覆盖条件覆盖,例1的程序有四个条件:A1、B=0、A=2、X1 为了达到“条件覆盖”标准,需要执行足够的测试用例使得在a点有:A1、A1、B=0、B0 等各种结果出现,以及在b点有:A=2、A2、X1、X1 等各种结果出现。现在只需设计以下两个测试用例就可满足这一标准:A=2,B=0,X=4(沿路径ace执行);A=1,B=1,X=1(沿路径abd执行)。,逻辑覆盖条件覆盖,条件覆盖,条件覆盖,A=2,B=0,X=4,A=1,B=1,X=1,逻辑覆盖条件覆盖,“条件覆盖”通常
6、比“分支覆盖”强,因为它使一个判定中的每一个条件都取到了两个不同的结果,而判定覆盖则不保证这一点。“条件覆盖”并不包含“分支覆盖”,如对语句IF(A AND B)THEN S 设计测试用例使其满足“条件覆盖”,即使A为真并使B为假,以及使A为假而且B为真,但是它们都未能使语句S得以执行。,逻辑覆盖分支/条件覆盖,针对上面的问题引出了另一种覆盖标准“分支 条件覆盖”,它的含义是:执行足够的测试用例,使得分支中每个条件取到各种可能的值,并使每个分支取到各种可能的结果。对例1的程序,前面的两个例子 A=2,B=0,X=4(沿ace路径)A=1,B=1,X=1(沿abd路径)是满足这一标准的。,逻辑覆
7、盖条件组合覆盖,针对上述问题又提出了另一种标准“条件组合覆盖”。它的含义是:执行足够的例子,使得每个判定中条件的各种可能组合都至少出现一次。显然,满足“条件组合覆盖”的测试用例是一定满足“分支覆盖”、“条件覆盖”和“分支/条件覆盖”的。,逻辑覆盖条件组合覆盖,再看例1的程序,我们需要选择适当的例子,使得下面 8种条件组合都能够出现:1)A1,B=0 2)A1,B0 3)A1,B=04)A1,B0 5)A=2,X1 6)A=2,X1 7)A2,X1 8)A2,X1 5)、6)、7)、8)四种情况是第二个 IF语句的条件组合,而X的值在该语句之前是要经过计算的,所以还必须根据程序的逻辑推算出在程序
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 基础 胡思康 课件
链接地址:https://www.31ppt.com/p-6610847.html