软件工程基础(胡思康)第6章

软件工程基础(胡思康)第6章

ID:40620244

大小:2.08 MB

页数:43页

时间:2019-08-05

软件工程基础(胡思康)第6章_第1页
软件工程基础(胡思康)第6章_第2页
软件工程基础(胡思康)第6章_第3页
软件工程基础(胡思康)第6章_第4页
软件工程基础(胡思康)第6章_第5页
资源描述:

《软件工程基础(胡思康)第6章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、STY高茜gq@qlu.edu.cn软件质量测试STY软件测试--白盒测试CHAPTER6白盒测试(WhiteBoxTesting),按照程序内部的结构、逻辑驱动测试程序,通过测试来检测产品内部动作是否按照设计说明书的规定正常进行,检验程序中的每条路径是否都能按预定要求正确工作。白盒测试白盒测试的对象主要是源程序。是指用代码内部的分支、路径、条件,使程序设计的控制结构导出测试用例,是软件测试的主要方法之一。白盒测试白盒测试的方法静态测试白盒测试的方法不要求在计算机上实际执行所测程序,主要以一些人工的模拟技术对软件进行分析和

2、测试。静态测试大约可以找出25%-60%的逻辑错误白盒测试的方法动态测试静态测试白盒测试的方法输入一组预先按照一定的测试准则设计的实例数据驱动运行程序,检查程序功能是否符合设计要求,发现程序中的错误的过程。检查程序的内部数据结构是否有效32原则所有逻辑值都要测试真和假两种情况白盒测试的原则14保证一个模块中的所有路径至少被测试一次检查上、下边界及可操作范围内运行的所有循环“语句覆盖”是一个比较弱的测试标准,它的含义是:选择足够的测试用例,使得程序中每个语句至少都能被执行一次。如,例1:PROCEDUREM(VARA,B,X

3、:REAL);BEGINIF(A>1)AND(B=0) THENX:=X/A;IF(A=2)OR(X>1) THENX:=X+1;END.逻辑覆盖--语句覆盖为使程序中每个语句至少执行一次,只需设计一个能通过路径ace的例子就可以了,例如选择输入数据为:A=2,B=0,X=3就可达到“语句覆盖”标准。语句覆盖逻辑覆盖--语句覆盖从上例可看出,语句覆盖实际上是很弱的,如果第一个条件语句中的AND错误地编写成OR,上面的测试用例是不能发现这个错误的;又如第三个条件语句中X>1误写成X>0,这个测试用例也不能暴露它,此外,沿着路

4、径abd执行时,X的值应该保持不变,如果这一方面有错误,上述测试数据也不能发现它们。逻辑覆盖—分支覆盖比“语句覆盖”稍强的覆盖标准是“分支覆盖”(或称判定覆盖)标准。含义是:执行足够的测试用例,使得程序中的每一个分支至少都通过一次。A=2,B=1,X=3A=3,B=0,X=1判定覆盖判定覆盖逻辑覆盖—分支覆盖程序中含有判定的语句包括IF-THEN-ELSE、DO-WHILE、REPEAT-UNTIL等,除了双值的判定语句外,还有多值的判定语句,所以“分支覆盖”更一般的含义是:使得每一个分支获得每一种可能的结果。“分支覆盖”

5、比“语句覆盖”严格,因为如果每个分支都执行过了,则每个语句也就执行过了。但是,“分支覆盖”还是很不够的,例如例1两个测试用例未能检查沿着路径abd执行时,X的值是否保持不变。逻辑覆盖—条件覆盖一个判定中往往包含了若干个条件,如例1的程序中,判定(A>1)AND(B=0)包含了两个条件:A>1以及B=0,所以可引进一个更强的覆盖标准——“条件覆盖”。“条件覆盖”的含义是:执行足够的测试用例,使得判定中的每个条件获得各种可能的结果。逻辑覆盖—条件覆盖例1的程序有四个条件:A>1、B=0、A=2、X>1为了达到“条件覆盖”标准,

6、需要执行足够的测试用例使得在a点有:A>1、A≤1、B=0、B≠0等各种结果出现,以及在b点有:A=2、A≠2、X>1、X≤1等各种结果出现。现在只需设计以下两个测试用例就可满足这一标准:①A=2,B=0,X=4  (沿路径ace执行);②A=1,B=1,X=1  (沿路径abd执行)。逻辑覆盖—条件覆盖条件覆盖条件覆盖A=2,B=0,X=4A=1,B=1,X=1逻辑覆盖—条件覆盖“条件覆盖”通常比“分支覆盖”强,因为它使一个判定中的每一个条件都取到了两个不同的结果,而判定覆盖则不保证这一点。“条件覆盖”并不包含“分支覆盖

7、”,如对语句IF(AANDB)THENS设计测试用例使其满足“条件覆盖”,即使A为真并使B为假,以及使A为假而且B为真,但是它们都未能使语句S得以执行。逻辑覆盖—分支/条件覆盖针对上面的问题引出了另一种覆盖标准——“分支/条件覆盖”,它的含义是:执行足够的测试用例,使得分支中每个条件取到各种可能的值,并使每个分支取到各种可能的结果。对例1的程序,前面的两个例子①A=2,B=0,X=4(沿ace路径)②A=1,B=1,X=1(沿abd路径)是满足这一标准的。逻辑覆盖—条件组合覆盖针对上述问题又提出了另一种标准——“条件组合覆

8、盖”。它的含义是:执行足够的例子,使得每个判定中条件的各种可能组合都至少出现一次。显然,满足“条件组合覆盖”的测试用例是一定满足“分支覆盖”、“条件覆盖”和“分支/条件覆盖”的。逻辑覆盖—条件组合覆盖再看例1的程序,我们需要选择适当的例子,使得下面8种条件组合都能够出现:1)A>1,B=02) A>1,

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

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

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