白盒测试及其用例的设计

白盒测试及其用例的设计

ID:17676853

大小:34.00 KB

页数:4页

时间:2018-09-04

白盒测试及其用例的设计_第1页
白盒测试及其用例的设计_第2页
白盒测试及其用例的设计_第3页
白盒测试及其用例的设计_第4页
资源描述:

《白盒测试及其用例的设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第四章白盒测试及其用例的设计4.1问:为什么要进行白盒测试?答:贯穿程序的独立路径数通常巨大,即使每条路径都测试过了,仍然可能存在错误。这是因为:(1)穷举路经测试法无法检查出程序本身是否违反了设计规范,即程序是否是一个错误的程序。(2)穷举路经测试不可能查出程序因为遗漏路径而出错。(3)穷举路经测试发现不了一些与数据相关的错误。4.2问:采用白盒测试方法必须遵循哪些原则?答:采用白盒测试方法必须遵循以下几条原则,才能达到测试的目的:(1)保证一个模块中的所有独立路径至少被测试一次。(2)所有逻辑值均需测试真(t

2、rue)和假(false)两种情况。(3)检查程序的内部数据结构,保证其结构的有效性。(4)在上下边界及可操作范围内运行所有循环。4.3问:常用的白盒测试方法有哪些?答:白盒测试主要是检查程序的内部结构、逻辑、循环和路径。常用测试用例设计方法有:(1)逻辑覆盖法(逻辑驱动测试);(2)基本路径测试法。其中,逻辑覆盖法中根据覆盖标准从低到高分别是:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖。4.4问:请用一个实例说明各种比较常用的覆盖测试方法,包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆

3、盖和路径覆盖等。答:下面以一个简单但经典的小程序作为参考实例:IF((A>1)AND(B=0)) THENX=X/AIF((A=2)OR(X>1)) THENX=X+1其中,“AND”和“OR”为逻辑运算符。其所对应的程序流程图如下所示。其控制流图中的各个程序点分别由字母a,b,c,d,e来表示。(1)语句覆盖语句覆盖方法选择足够多的测试用例,使程序中的每个可执行语句至少执行一次。例如上例,设计一个能通过路径ace的测试路径即可。即当A=2,B=0,X=3时,程序按照流程图上的路径ace执行,即程序段中的4个语句

4、均得到执行,完成语句覆盖。语句覆盖可以保证程序中每个语句都得到执行,但是它并不能全面地检验每一个语句,即它并不是一种充分的检验方法。当程序段中两个判定的逻辑运算存在问题时,如果第一个判定的运算符“AND”错写成运算符“OR”,这时仍使用该测试用例,则程序仍按流程图上的路径ace执行;当第二个条件语句中X>1误写成X>0时,上述的测试用例也不能发现这一错误。(2)判定覆盖判定覆盖是比语句覆盖较强一些的方法,即通过执行足够的测试用例,使得程序中的每个判定至少都获得一次“真”值和“假”值,也就是使程序中的每个取“真”分

5、支和取“假”分支至少均经历一次,也称为“分支覆盖”。对上述示例程序段,设计两个测试用例,使它们能通过路径ace和abd,或通过路径acd及abe,即可达到“判定覆盖”的标准。若选用的两组测试用例如判定覆盖测试用例表所示,则可分别执行流程图上的路径ace和abd,从而使两个判断的4个分支c,e和b,d分别得到覆盖。判定覆盖测试用例表测试用例A,B,X(A>1)AND(B=0)(A=2)OR(X>1)执行路径测试用例12,0,3真(T)真(T)ace测试用例21,0,1假(-T)假(-T)abd需要注意的是,上述的两

6、组测试用例在满足判定覆盖的同时,还完成了语句覆盖,因此判定覆盖要比语句覆盖更强一些。但是,此时仍然存在这样的问题,即如果程序段中的第2个判定条件X>1误写为X<1,执行上述测试用例原路经abe执行而不影响结果。这表明,仅仅满足判定覆盖仍然无法确定判断内部条件的错误。(3)条件覆盖在实际程序代码中,一个判定中通常都包含了若干个条件,如上述示例程序段,判定(A>1)AND(B=0)包含了两个条件:A>1及B=0。此时一个更强的覆盖标准是“条件覆盖”,条件覆盖的目的是设计若干测试用例,在执行被测程序以后,要使每个判定中

7、每个条件的可能值至少满足一次。因此,在第一个判定(A>1)AND(B=0)中应考虑到各种条件取值的情况:●A>1为真与A>1为假的情况●B=0为真与B=0为假的情况同样,对于第二个判定(A=2)OR(X>1)应考虑到:●A=2为真与A=2为假的情况●X>1为真与X>1为假的情况因此,只需要采用两个测试用例,就可以满足测试要求,即覆盖4个条件可能产生的8种情况,如条件覆盖测试用例表表所示。条件覆盖测试用例表测试用例A,B,X执行路径覆盖条件测试用例12,0,3ace(BCEF)T1,T2,T3,T4测试用例51,1

8、,1abd(AD)-T1,-T2,-T3,-T4这两个测试用例不但覆盖了4个条件的全部8种情况,而且将两个判定的4个分支b,c,d,e也同时覆盖了,即同时达到了条件覆盖和判定覆盖。但是,并不是说满足条件覆盖,就一定能够满足判定覆盖。(4)判定/条件覆盖判定/条件覆盖要求设计足够的测试用例,使得判定中每个条件的所有(真/假)至少出现一次,并且每个判定本身的判定结果(真/假)

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

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

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