教学课件第五章:白盒测试ppt(全).pptx
《教学课件第五章:白盒测试ppt(全).pptx》由会员分享,可在线阅读,更多相关《教学课件第五章:白盒测试ppt(全).pptx(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、教学课件第五章:白盒测试软件测试项目实战(第四版)技术学院教师:于艳华第4章:白盒测试目录录CONTENTS知识储备5.5.1 1020203030404添加标题 添加标题在此输入您的标题添加标题 添加标题在此输入您的标题添加标题 添加标题在此输入您的标题添加标题 添加标题Click here to enter your text.Click here to enter your text.Click here to enter your text.Click here to enter your text.Click here to enter your text.Click here to
2、 enter your text.5.1 5.1知识储备第第5章章 测试技划测试技划白盒测试用例的设计方法从大的方面来说包括两个:逻辑覆盖法和基本路径测试法。5.1.1逻辑覆盖法逻辑覆盖法逻辑覆盖是以程序内部的逻辑结构为基础的测试用例设计技术,这一方法要求测试人员对程序的逻辑结构有清楚的了解。它是通过对程序逻辑结构遍历实现程序的覆盖,是一系列测试过程的总称,这组测试过程逐渐进行越来越完整的通路测试。从覆盖源程序语句的详尽程度分析,逻辑覆盖可分为:语句覆盖(SC)、判定覆盖(DC)、条件覆盖(CC)、判定-条件覆盖(CDC)、多条件覆盖(MCC)与修正判定条件覆盖(MCDC)。intfuncti
3、on(boola,boolb,boolc)intx;x=0;if(a&(b|c)x=1;returnx;第第5章章 白盒测试白盒测试程序流程图如图6-1所示。图6-1程序流程图第第5章章 白盒测试白盒测试一、语句覆盖一、语句覆盖语句覆盖就是设计若干个测试用例,运行所测程序,使得每一可执行语句至少执行一次。要想使每个语句都覆盖一次,我们设计以下的测试用例即可实现:a=T,b=T,c=T通过上面的用例,可以实现执行上述程序中的所有语句,但是语句覆盖的方法并不能测试到程序的逻辑错误,比如,在if(a&(b|c)中,&错写成|,或者|错写成&,上述测试用例虽然可以达到语句100%的覆盖率,但该逻辑错误
4、却无法发现。因此一般认为语句覆盖是很弱的逻辑覆盖法。二、判定覆盖二、判定覆盖判定覆盖就是设计足够的若干个测试用例,运行所测程序,使得程序中每个判断的取真分支和取假分支至少经历一次,因此判定覆盖又称分支覆盖。判定覆盖比逻辑覆盖稍强。除了双值(“真”或“假”)的判定语句以外,还有多值判定语句,如case语句,因此判定覆盖更一般的含义是:使得每一个判定获得每一种可能的结果至少一次。以上述代码为例,构造下面的测试用例即可实现判定覆盖标准:a=T,b=T,c=Ta=F,b=F,c=F第第5章章 白盒测试白盒测试试用上述用例测试代码,它不仅满足了判定覆盖,而且包含满足了语句覆盖,因此判定覆盖比语句覆盖更强
5、。但是,假设本段程序中有逻辑错误,第一个运算符&错写成了|,或者第二个运算符错写成了&。这时,虽然上述测试用例可以达到100%的判定覆盖(真假条件都走了一遍),但是并不能发现上述的逻辑错误,如表6-1所示,当a=T,b=T,c=T时,a&(b|c)如预期一样为T,但是如果把a&(b|c)错写成a|(b|c),其结果仍然为T,并不能发现这个逻辑错误。因此需要更强的逻辑覆盖标准。序号abca&(b|c)a|(b|c)判定覆盖1TTTTT502FFFFF50三、条件覆盖三、条件覆盖由于程序中的判定条件可能是由多个条件组合而成的复合条件,条件覆盖就是设计若干个测试用例,运行所测程序,使得程序中每个判断
6、的每个条件的可能取值至少执行一次。按照这个想法,设计一个测试用例,使得上述代码达到100%的条件覆盖:a=F,b=T,c=Fa=T,b=F,c=T经过研究可以发现,上述两个测试用例,在满足了条件覆盖的同时,也覆盖了两个分支条件,但是,如果选用下面的测试用例:a=F,b=T,c=Ta=T,b=F,c=F你会发现,它们满足了条件覆盖,但并没有满足判定覆盖,如表6-2所示。那么为了解决这个问题,需要对条件和分支兼顾。第第5章章 白盒测试白盒测试表6-2 条件覆盖序号abca&(b|c)条件覆盖判定覆盖1TTTT100502FFFF四、判定四、判定-条件覆盖条件覆盖判定-条件覆盖就是设计足够的测试用例
7、,使得判断中每个条件的所有可能取值至少执行一次,同时每个判断的所有可能判断结果也至少执行一次。针对代码中的条件,选用下面的测试用例:a=T,b=T,c=Ta=F,b=F,c=F但是如前所述,这时虽然可以满足判定-条件覆盖,仍无法测试出一些逻辑错误,如表6-3所示。序号abca&(b|c)a&(b&c)判定-条件覆盖%1TTTTT1002FFFFF表6-3 判定-条件覆盖第第5章章 白盒测试白盒测试五、条件组合覆盖条件组合覆盖也称多条件覆盖,就是设计足够的测试用例,运行所测程序,使得每个判断的所有可能的条件取值组合至少执行一次,显然满足条件组合覆盖的测试用例一定是满足判定覆盖、条件覆盖和判定-条
8、件覆盖的。我们用排列组合的方法得出测试用例,该例子代码中的判定语句有三个逻辑条件a,b,c,每个逻辑条件有两种可能取值,因此共有23种可能的组合,如表6-4所示,满足了条件组合覆盖。序号abca&(b|c)1TTTT2TTFT3TFTT4TFFF5FTTF6FTFF7FFTF8FFFF表6-4 条件组合覆盖虽然上述测试用例满足了条件组覆盖,但是一旦判定语句中的逻辑条件较多时,排列组合的数目是非常巨大的。第第5章章 白盒测试白盒测试六、修正条件判定覆盖六、修正条件判定覆盖修正条件判定覆盖是由欧美的航空/航天制造厂商和使用单位联合制定的“航空运输和装备系统软件认证标准”,目前在国外的国防、航空航天
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教学 课件 第五 测试 ppt
限制150内