2014第5讲白盒测试方法(一)解析.ppt
《2014第5讲白盒测试方法(一)解析.ppt》由会员分享,可在线阅读,更多相关《2014第5讲白盒测试方法(一)解析.ppt(37页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软软 件件 测测 试试 技技 术术 课课 程程第第5讲讲 白盒测试技术白盒测试技术山东建筑大学计算机科学与技术学院软件工程专业Testing测试用例设计测试用例设计 测试用例测试用例的设计是软件测试的关键所的设计是软件测试的关键所在在,我们需要,我们需要设计设计出最有可能发现软件错出最有可能发现软件错误的测试用例误的测试用例,同时尽量,同时尽量避免测试用例的避免测试用例的冗余冗余(即避免使用发现错误效果相同的(即避免使用发现错误效果相同的测测试用例),尽量做到用最少的用例达到较试用例),尽量做到用最少的用例达到较高的覆盖。高的覆盖。为了达到这个目的,我们就需要使用为了达到这个目的,我们就需要使
2、用一定的测试用例设计方法,本次课主要讲一定的测试用例设计方法,本次课主要讲解基于了解内部结构的解基于了解内部结构的白盒测试方法白盒测试方法。山东建筑大学计算机科学与技术学院软件工程专业Testing白盒测试白盒测试逻辑覆盖法逻辑覆盖法 逻辑覆盖是以逻辑覆盖是以程序内部的逻辑结构为程序内部的逻辑结构为程序内部的逻辑结构为程序内部的逻辑结构为基础基础基础基础的设计测试用例的技术,它考虑的是的设计测试用例的技术,它考虑的是用测试数据执行程序时,用测试数据执行程序时,对程序代码以及对程序代码以及结构的逻辑覆盖程度结构的逻辑覆盖程度。逻辑覆盖法通常采用逻辑覆盖法通常采用流程图流程图来设计测来设计测试用例
3、,它考察的重点是图中的试用例,它考察的重点是图中的判定框判定框,因为这些判定通常是与选择结构或是循环因为这些判定通常是与选择结构或是循环结构有关,是决定程序结构的关键成分。结构有关,是决定程序结构的关键成分。山东建筑大学计算机科学与技术学院软件工程专业Testing发现错误发现错误的能力的能力标标 准准含含 义义 1 1(弱弱)语句覆盖语句覆盖 2 2判定覆盖判定覆盖 3 3条件覆盖条件覆盖4 4 判定判定/条件覆盖条件覆盖5 5条件组合覆盖条件组合覆盖 逻辑覆盖测试的逻辑覆盖测试的6 6种标准种标准 每条语句至少执行一次每条语句至少执行一次每一判定的每个分支至少执行一次每一判定的每个分支至少
4、执行一次每一判定中的每个条件,分别按每一判定中的每个条件,分别按“真真”、“假假”至少至少各执行一次各执行一次同时满足判定覆盖和条件覆盖的要求同时满足判定覆盖和条件覆盖的要求求出判定中所有条件的各种可能组合值,每一可能求出判定中所有条件的各种可能组合值,每一可能的条件组合至少执行一次的条件组合至少执行一次山东建筑大学计算机科学与技术学院软件工程专业Testing逻辑覆盖逻辑覆盖-语句覆盖语句覆盖语句覆盖,它的含义是设计若干个语句覆盖,它的含义是设计若干个测试用例,测试用例,使得程序中的每一条可使得程序中的每一条可执行语句至少执行一次。执行语句至少执行一次。山东建筑大学计算机科学与技术学院软件工
5、程专业Testing逻辑覆盖逻辑覆盖-语句覆盖语句覆盖案例代码:案例代码:1 Int A,B,X;2 If(A1 AND B=0)3 X=X-A;4 End If5 If(A=5 OR X1)6 X=X+3;7 End If8 X=B/X;1.给出程序流程图2.辅助设计测试用例设计方法:山东建筑大学计算机科学与技术学院软件工程专业Testing逻辑覆盖逻辑覆盖-语句覆盖语句覆盖 所有可执行语句都在路径所有可执行语句都在路径acef上,上,所以我们只需要一个用例,这个用例所以我们只需要一个用例,这个用例执行路径执行路径acef,就可以覆盖所有的可,就可以覆盖所有的可执行语句执行语句。1.给出程序
6、流程图2.辅助设计测试用例测试用例:测试用例:A=5,B=0,X=7执行路径:执行路径:acef山东建筑大学计算机科学与技术学院软件工程专业Testing逻辑覆盖逻辑覆盖-语句覆盖语句覆盖语句覆盖的缺点:语句覆盖的缺点:1.无法区分某些逻辑错误。无法区分某些逻辑错误。2.缺失路径。缺失路径。用例:用例:A=5,B=0,X=7A1orB=0测试结果还是正确的。测试结果还是正确的。山东建筑大学计算机科学与技术学院软件工程专业Testing逻辑覆盖逻辑覆盖-判定覆盖判定覆盖判定覆盖(判定覆盖(Decision Coverage)也被称为分支覆盖,它的含义是设也被称为分支覆盖,它的含义是设计若干个测试
7、用例,计若干个测试用例,使得程序中的使得程序中的每一个取每一个取“真真”分支和取分支和取“假假”分分支至少执行一次。支至少执行一次。山东建筑大学计算机科学与技术学院软件工程专业Testing逻辑覆盖逻辑覆盖-判定覆盖判定覆盖 参考左图,要满足判定覆盖,参考左图,要满足判定覆盖,需要选择路径需要选择路径acef和和abdf,或,或abef和和acdf。测试用例:测试用例:A=5,B=0,X=4(覆盖(覆盖acef)A=1,B=1,X=1(覆盖(覆盖abdf)测试用例:测试用例:A=5,B=1,X=1(覆盖(覆盖abef)A=3,B=0,X=1(覆盖(覆盖acdf)山东建筑大学计算机科学与技术学院
8、软件工程专业Testing逻辑覆盖逻辑覆盖-判定覆盖判定覆盖用例用例 A=5,B=0,X=4 A=1,B=1,X=1 满足判定覆盖,但是依然存在问满足判定覆盖,但是依然存在问题。题。这两个用例对于判定只是满足:这两个用例对于判定只是满足:test A 1 B=0 AND OR1 T T T T2 F F F FA1orB=0测试还是能通过的。测试还是能通过的。山东建筑大学计算机科学与技术学院软件工程专业Testing逻辑覆盖逻辑覆盖-判定覆盖判定覆盖 满足判定覆盖,也不是完整的测试。满足判定覆盖,也不是完整的测试。对于对于复合条件复合条件,判定覆盖会在其一,判定覆盖会在其一个组合中被测试到,但
9、是不能执行所有个组合中被测试到,但是不能执行所有条件的不同分支。因此,条件的不同分支。因此,判定覆盖的完判定覆盖的完整性整性虽然比语句覆盖高,但是却虽然比语句覆盖高,但是却不如条不如条件覆盖件覆盖。用例用例 A=5,B=0,X=4 A=1,B=1,X=1test A 1 B=0 A=5 X11 T T T F2 F F F F山东建筑大学计算机科学与技术学院软件工程专业Testing逻辑覆盖逻辑覆盖-条件覆盖条件覆盖条件覆盖(条件覆盖(Condition Coverage)是设计若干个测试用)是设计若干个测试用例,运行被测程序,使得程序中例,运行被测程序,使得程序中每每一判定语句中每个逻辑条件
10、的可能一判定语句中每个逻辑条件的可能取值至少执行一次取值至少执行一次。山东建筑大学计算机科学与技术学院软件工程专业Testing逻辑覆盖逻辑覆盖-条件覆盖条件覆盖对于第一个判定条件:对于第一个判定条件:条件条件1:A1,真,真T1,假,假F1条件条件2:B=0,真,真T2,假,假F2对于第二个判定条件:对于第二个判定条件:条件条件3:A=5,真,真T3,假,假F3条件条件4:X1,真,真T4,假,假F4测试用例测试用例条件取值条件取值路径路径A=5,B=1,X=1A=5,B=1,X=1T1,F2,T3,F4T1,F2,T3,F4abefabefA=1,B=0,X=3A=1,B=0,X=3F1,
11、T2,F3,T4F1,T2,F3,T4abefabef条件覆盖不一定条件覆盖不一定包含判定覆盖,包含判定覆盖,存在路径缺失问存在路径缺失问题。题。山东建筑大学计算机科学与技术学院软件工程专业Testing逻辑覆盖逻辑覆盖-判定条件覆盖判定条件覆盖判定判定/条件覆盖条件覆盖(Decision/Condition Coverage)也叫分支)也叫分支/条件覆盖是将判定条件覆盖是将判定覆盖、条件覆盖结合起来的一种测试用例覆盖、条件覆盖结合起来的一种测试用例设计方法。设计方法。其含义是设计足够的测试用例,其含义是设计足够的测试用例,使使得判定中每个条件的所有可能取值至少执得判定中每个条件的所有可能取值
12、至少执行一次,同时所有判定的可能结果也至少行一次,同时所有判定的可能结果也至少被执行一次被执行一次。山东建筑大学计算机科学与技术学院软件工程专业Testing逻辑覆盖法逻辑覆盖法-判定条件覆盖判定条件覆盖测试用例测试用例通过通过路径路径条件取值条件取值覆盖覆盖分支分支A=5,B=0,X=7A=5,B=0,X=7acefacefT1,T2,T3,T4T1,T2,T3,T4c,ec,eA=1,B=1,X=1A=1,B=1,X=1abdfabdfF1,F2,F3,F4F1,F2,F3,F4b,db,d满足了判断覆盖。满足了判断覆盖。满足了条件覆盖。满足了条件覆盖。缺点:缺点:不是所有的条件不是所有的
13、条件都能真正检查到。都能真正检查到。条件条件1:A1,真,真T1,假,假F1条件条件2:B=0,真,真T2,假,假F2条件条件3:A=5,真,真T3,假,假F3条件条件4:X1,真,真T4,假,假F4没有真正的没有真正的检查到。检查到。山东建筑大学计算机科学与技术学院软件工程专业Testing逻辑覆盖逻辑覆盖-条件组合覆盖条件组合覆盖条件组合覆盖也称多条件覆盖(条件组合覆盖也称多条件覆盖(Multiple Condition Coverage),它的含义是设),它的含义是设计足够的测试用例,使得计足够的测试用例,使得每个判定中每个每个判定中每个条件的各种组合都至少被执行一次。条件的各种组合都至
14、少被执行一次。满足条件组合覆盖的测试用例一定满足条件组合覆盖的测试用例一定满足判定覆盖、条件覆盖和判定满足判定覆盖、条件覆盖和判定/条件覆条件覆盖。盖。山东建筑大学计算机科学与技术学院软件工程专业Testing逻辑覆盖逻辑覆盖-条件组合覆盖条件组合覆盖对于所举示例,对于所举示例,每个判定中有每个判定中有2个逻辑条件个逻辑条件,每个逻辑条件有每个逻辑条件有2种取值种取值,因此共有因此共有8种可能组合。先对各个判定的条件取值组合加以标记种可能组合。先对各个判定的条件取值组合加以标记。山东建筑大学计算机科学与技术学院软件工程专业Testing逻辑覆盖逻辑覆盖-条件组合覆盖条件组合覆盖测试用例测试用例
15、路径路径条件取值条件取值覆盖组合覆盖组合A=5,B=0,X=7A=5,B=0,X=7acefacefT1,T2,T3,T4T1,T2,T3,T4(1 1)()(5 5)A=5,B=1,X=1A=5,B=1,X=1abefabefT1,F2,T3,F4T1,F2,T3,F4(2 2)()(6 6)A=1,B=0,X=3A=1,B=0,X=3abefabefF1,T2,F3,T4F1,T2,F3,T4(3 3)()(7 7)A=1,B=1,X=1A=1,B=1,X=1abdfabdfF1,F2,F3,F4F1,F2,F3,F4(4 4)()(8 8)满足条件组合覆盖标准的测试数据满足条件组合覆盖标
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2014 讲白盒 测试 方法 解析
限制150内