北京大学研究生软件工程课程第六章软件测试技术.ppt
《北京大学研究生软件工程课程第六章软件测试技术.ppt》由会员分享,可在线阅读,更多相关《北京大学研究生软件工程课程第六章软件测试技术.ppt(22页珍藏版)》请在三一办公上搜索。
1、第六章 软件测试技术,环境,被测对象,人员素质,被测对象模型,测试执行,正确?,环境模型,错误模型,软件测试过程所涉及的要素,以及 这些要素之间的关系,正确,1)测试过程模型,顷宜尹荫饭餐曼岸宇眠自老冤滑种熙蓑凿臣诲逊旁燎肯铁蛊卷息久砰隋盂北京大学研究生软件工程课程第六章 软件测试技术北京大学研究生软件工程课程第六章 软件测试技术,2)依据程序逻辑结构-白盒测试技术(1)关于建立被测对象模型 控制流程图:结点/分支/过程块/链 路径,1,2,3,6,4,5,7,X5 and Y3,其中:节点1、节点3、节点5、节点6、节点7为过程块 节点2为分支,节点4为结点,谋县步地喷谚彬蚕穗竣铰朋蝉句托豹
2、进补身寥休眼驻淄鸡臭津划甚寞稚窑北京大学研究生软件工程课程第六章 软件测试技术北京大学研究生软件工程课程第六章 软件测试技术,例如:以下为一个程序流程图,其中该例子中有两个判断,每个判断都包含复合条件的逻辑表达式。,(A1)(B=0),(A=2)(X1),X=X/A,X=X+1,a,b,c,d,e,F,T,T,F,替廓徐殷君羔啮预择泪怜挝肾孺缓履响苑若诵烦穆授涉姿躬氨仍著脉番签北京大学研究生软件工程课程第六章 软件测试技术北京大学研究生软件工程课程第六章 软件测试技术,其控制流程图为:,(A1)(B=0),X=X/A,(A=2)(X1),X=X+1,T,T,a,c,b,d,e,结点1,结点2,
3、酿逾综溃饿枚汕癣后皖泵聚访横篱姬壬秧跳屠驳元伺哉乘删胯帛煤能垮绕北京大学研究生软件工程课程第六章 软件测试技术北京大学研究生软件工程课程第六章 软件测试技术,(2)“完整测试”策略 该控制流程图有4条不同的路径。4条路径可表示为:L1(ace)简写ace、L2(abd)简写abd L3(abe)简写abe、L4(acd)简写acd 路径测试(PX):执行所有可能的穿过程序的控制 流程路径。一般来说,这一测试严格地限制为所有可能的入口/出口路径。如果遵循这一规定,则我们说达到了100%路径覆盖率。在路径测试中,该策略是最强的,但一般是不可实现的。针对该例子,要想实现路径覆盖,可选择以下一组测试用
4、例(规定测试用例的设计格式为:【输入的(A,B,X),输出的(A,B,X)】)。测 试 用 例 覆盖路径【(2,0,4),(2,0,3)】L1【(1,1,1),(1,1,1)】L2【(1,1,2),(1,1,3)】L3【(3,0,3),(3,0,1)】L4,侨却牵剂登雾凉侦裸屈叠损距绞垃湛纫墓毋拽导符胺潭解丰递贺烷仰笋浴北京大学研究生软件工程课程第六章 软件测试技术北京大学研究生软件工程课程第六章 软件测试技术,语句测试(P1):至少执行程序中所有语句一次。如果遵循这一规定,则我们说达到了100%语句覆盖率(用C1表达)。在该例子中,只要设计一种能通过路径ace的测试用例,就覆盖了所有的语句。
5、所以可选择测试用例如下:【(2,0,4),(2,0,3)】覆盖L1 语句覆盖是最弱的逻辑覆盖准则。问题:就该程序而言,如果两个判断的逻辑运算写错,例如,第一个判断中的逻辑运算符“”错写成了“”,或者第二个判断中的逻辑运算符“”错写成了“”,利用上面的测试用例,仍可覆盖所有4个可执行路径,而发现不了判断中逻辑运算符出现的错误。,律各袜辩萄旭绣循知翠展符瑚拧舀炕静弥办眠嗜舟衅晓遭肇纬泊垢深担虞北京大学研究生软件工程课程第六章 软件测试技术北京大学研究生软件工程课程第六章 软件测试技术,分支测试(P2):至少执行程序中每一分支一次。如果遵循这一规定,则我们说达到了100%分支覆盖率(用C2表示)。分
6、支覆盖是一种比语句覆盖稍强的逻辑覆盖。但若程序中分支的判定是由几个条件联合构成时,它未必能发现每个条件的错误。例如对于以上例子,如果选择路径L1和L2,就可得到实现分支覆盖的测试用例:【(2,0,4),(2,0,3)】覆盖L1【(1,1,1),(1,1,1)】覆盖L2如果选择路径L3和L4,还可得另一组可用的测试用例:【(2,1,1),(2,1,2)】覆盖L3【(3,0,3),(3,1,1)】覆盖L4 问题:分支覆盖还不能保证一定能查出在判断的条件中存在的错误。例如,在该例子中,若第二个分支X1错写成X1,利用上述两组测试用例进行测试,无法查出这一错误。因此,需要更强的逻辑覆盖准则去检验判定的
7、内部条件。,涤蜜够疮仁惭颊凋涤潮惦疟醇奸掇能啪没园诬请纸翟葬撮速浙睦敖涅至包北京大学研究生软件工程课程第六章 软件测试技术北京大学研究生软件工程课程第六章 软件测试技术,条件组合测试 条件组合测试是一种具有更强逻辑覆盖的测试。条件组合测试,就是设计足够的测试用例,使每个判定中的所有可能的条件取值组合至少执行一次。如果遵循这一规定,则我们说就实现了条件组合覆盖。只要满足了条件组合覆盖,就一定满足分支覆盖。在条件组合覆盖技术发展过程中,最初,在设计测试用例时,人们只考虑使分支中各个条件的所有可能结果至少出现一次。但发现该测试技术未必能覆盖全部分支。例如,在上图的例子中,程序段中有四个条件:A1,B
8、=0,A=2,X1。条件A1 取真值标记为T1,取假值标记为F1 条件B=0 取真值标记为T2,取假值标记为F2 条件A=2 取真值标记为T3,取假值标记为F3 条件X1 取真值标记为T4,取假值标记为F4 在设计测试用例时,要考虑如何选择测试用例实现T1、F1、T2、F2、T3、F3、T4、F4的全部覆盖:,匀铸豺整嗡抢讯敝寇誓主孙习痕曙矢晓夸趋确彦盐幢年葫评僳啊铜孵强践北京大学研究生软件工程课程第六章 软件测试技术北京大学研究生软件工程课程第六章 软件测试技术,例如,可设计如下测试用例实现条件覆盖:测 试 用 例 通过路径 条件取值 覆盖分支【(1,0,3),(1,0,4)】L3 F1 T
9、2 F3 T4 b,e【(2,1,1),(2,1,2)】L3 T1 F2 T3 F4 b,e 从上面的测试用例,可以看到该组测试用例虽然实现了判定中各条件的覆盖,但没有实现分支覆盖,因为该组测试用例只覆盖了第一个判断的取假分支和第二个判断的取真分支。为此,人们又进一步提出了条件组合覆盖技术。例如,在该例子中,前一个判定有4中条件组合:(1)(A1),(B=0),标记为 T1、T2;(2)(A1),(B0),标记为 T1、F2,;(3)(A1),(B=0),标记为 F1、T2;(4)(A1),(B0),标记为 F1、F2;后一个判定又有4中条件组合:(5)(A=2),(X1),标记为 T3、T4
10、;(6)(A=2),(X1),标记为 T3、F4;(7)(A2),(X1),标记为 F3、T4;(8)(A2),(X1),标记为 F3、F4。,侠骑丫资叭贫炒疼饰俱豪瓢茁兹弯尚吏岁揉怔蜘脊碴匝乐公仲仕闻烟加徒北京大学研究生软件工程课程第六章 软件测试技术北京大学研究生软件工程课程第六章 软件测试技术,因此,要满足条件组合覆盖,设计的测试用例必须满足以下16种条件组合:(1)(A1),(B=0),(A=2),(X1),可标记为 T1、T2、T3、T4;(1)(A1),(B=0),(A=2),(X1),可标记为 T1、T2、T3、F4;(1)(A1),(B=0),(A2),(X1),可标记为 T1
11、、T2、F3、T4(1)(A1),(B=0),(A2),(X1),可标记为 T1、T2、F3、F4。(2)(A1),(B0),(A=2),(X1),可标记为 T1、F2,T3、T4;(2)(A1),(B0),(A=2),(X1),可标记为 T1、F2、T3、F4;(2)(A1),(B0),(A2),(X1),可标记为 T1、F2、F3、T4;(2)(A1),(B0),(A2),(X1),可标记为 T1、F2、F3、F4。(3)(A1),(B=0),(A=2),(X1),可标记为 F1、T2、T3、T4;(3)(A1),(B=0),(A=2),(X1),可标记为 F1、T2、T3、F4;(3)(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 北京大学 研究生 软件工程 课程 第六 软件 测试 技术

链接地址:https://www.31ppt.com/p-4774640.html