《白盒测试逻辑覆盖》PPT课件

《白盒测试逻辑覆盖》PPT课件

ID:37193540

大小:427.10 KB

页数:30页

时间:2019-05-10

《白盒测试逻辑覆盖》PPT课件_第1页
《白盒测试逻辑覆盖》PPT课件_第2页
《白盒测试逻辑覆盖》PPT课件_第3页
《白盒测试逻辑覆盖》PPT课件_第4页
《白盒测试逻辑覆盖》PPT课件_第5页
资源描述:

《《白盒测试逻辑覆盖》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、白盒测试方法逻辑覆盖法测试用例测试用例由测试输入数据以及与之对应的输出结果组成。测试用例设计的好坏直接决定了测试的效果和结果。所以说在软件测试活动中最关键的步骤就是设计有效的测试用例。测试用例可以针对黑盒测试设计用例,也可以针对白盒测试设计用例,我们今天开始讲针对白盒测试的用例设计方法。白盒测试方法为什么要进行白盒测试?如果所有软件错误的根源都可以追溯到某个唯一原因,那么问题就简单了。然而,事实上一个bug常常是由多个因素共同导致的,如下图所示。假设此时开发工作已结束,程序送交到测试组,没有人知道代码中有一个潜在

2、的被0除的错误。若测试组采用的测试用例的执行路径没有同时经过x=0和y=5/x进行测试,显然测试工作似乎非常完善,测试用例覆盖了所有执行语句,也没有被0除的错误发生。白盒测试方法(续)程序结构分析;逻辑覆盖;基本路径测试;白盒测试根据程序的控制结构设计导出测试用例,主要用于软件程序的验证。需要全面了解程序内部的逻辑结构,对所有逻辑路径进行测试,是一种穷举路径的测试方法。穷举路径仍然存在遗憾穷举路径测试法无法检查出程序本身是否违反了设计规范,即程序是否是一个错误的程序;穷举路径测试不可能查出程序因为遗漏路径而出错;

3、穷举路径测试发现不了一些与数据相关的错误;白盒测试原则保证一个模块中的所有独立路径至少被测试一次;所有逻辑值均需测试真(True)和假(False)两种情况;检查程序的内部数据结构,保证其结构的有效性;在取值上、下边界,即可操作范围内运行所有循环.白盒测试方法(续)白盒测试主要是检查程序的内部结构、逻辑、循环和路径。常用测试用例设计方法有:逻辑覆盖法(逻辑驱动测试)基本路径测试方法覆盖测试主要是测试覆盖率,以程序内在逻辑结构为基础的测试。包括以下6种类型:语句覆盖判定覆盖条件覆盖判定-条件覆盖条件组合覆盖修正-判

4、定条件覆盖逻辑覆盖法intfunction1(inta,intb,intc){intx;x=0;if(a&&(b

5、

6、c))x=1;returnx;}1、语句覆盖(StatementCoverage)原理:如果语句中有错误,仅靠观察不执行可能发现不了在测试时,首先设计若干个测试用例,然后运行被测程序,使程序中的每个可执行语句至少执行一次若干个->尽量少语句覆盖、程序段覆盖、程序块覆盖语句覆盖率语句覆盖率已执行的可执行语句占程序中可执行语句总数的百分比复杂的程序不可能达到语句的完全覆盖语句覆盖率越高越好语句覆盖测试用

7、例达到语句覆盖100%的测试用例A=1B=1C=1未达到语句覆盖100%的测试用例A=0B=1C=3语句覆盖的优点检查所有语句结构简单的代码的测试效果较好容易实现自动测试代码覆盖率高如果是程序块覆盖,则不涉及程序块中的源代码语句覆盖不能检查出的错误逻辑运算(&&、

8、

9、)错误判定的第一个运算符“&&”错写成“

10、

11、”,或第二个运算符“

12、

13、”错写成“&&”,这时使用上述的测试用例仍然可以达到100%的语句覆盖。语句覆盖不能检查出的错误循环语句错误循环次数错误跳出循环条件错误语句覆盖不能检查出的错误循环语句例子for(i

14、=0;i<10;i++){statement;}While(x>3){statement;}for(i=0;i<=10;i++){statement;}While(x>3&&x<7){statement;}语句覆盖率的问题能达到很高的语句覆盖率语句覆盖率看似很高,却有严重缺陷if(x!=1){statements;……;}else{statement;}}99句}1句测试用例x=2语句覆盖率99%50%的分支没有达到2、判定覆盖(DecisionCoverage)比语句覆盖稍强的覆盖标准是判定覆盖。判定覆盖的含义

15、是:设计足够多的测试用例,使程序中的每个判定至少都获得一次“真值”或“假值”。除了双值判定语句外,还有多值判定语句,如case语句,因此判定覆盖更一般的含义是:使得每一个判定获得每一种可能的结果至少一次。16352789410构造测试用例如下可实现判定覆盖标准a=T,b=T,c=T;a=F,b=F,c=F;不仅满足了判定覆盖还满足了语句覆盖,因此比语句覆盖稍强。但,仍然无法发现程序段中存在的逻辑判定错误。3、条件覆盖(ConditionCoverage)在设计程序中,一个判定语句是由多个条件组合而成的复合判定,判

16、定(a)&&(b

17、

18、c)包含了三个条件:a,b和c。为了更彻底的实现逻辑覆盖,可以采用条件覆盖。条件覆盖的含义是:构造一组测试用例,使得每一判定语句中每个逻辑条件的可能值至少满足一次。测试用例如下:a=F,b=T,c=Fa=T,b=F,c=T仔细分析可发现,该用例在满足条件覆盖的同时把判定的两个分支也覆盖了,这样是否能说达到了条件覆盖也就必然实现了判定覆盖呢?a=F,b=

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

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

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