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