已阅读5页,还剩102页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,第4章白盒测试用例设计方法,本科软件测试与质量保证SEIofECNU孙海英版权所有4-2,本章内容,讨论常用的白盒测试用例设计方法,包括基于控制流的测试基本路径测试分支-条件测试循环测试综合运用白盒测试方法进行程序结构测试基于数据流的测试基于程序变异的测试白盒测试工具覆盖准则及其工具,本科软件测试与质量保证SEIofECNU孙海英版权所有4-3,白盒测试,定义基于系统或者组件的内部实现结构和逻辑寻找缺陷的测试技术常用的白盒测试技术基本路径测试分支-条件测试循环测试说明一般情况,仅使用一种测试用例设计方法很难获得被测对象所需的测试用例。在实际测试中,最终的测试用例通常都是多种设计技术相结合的结果。在使用白盒测试方法之前进行代码评审是一个非常好的工程实践,本科软件测试与质量保证SEIofECNU孙海英版权所有4-4,不可能进行彻底的白盒测试,结论是:41+42+43+410,需要14秒左右的时间如果循环次数为20次,100次时,结果又如何?结论是:循环20次,需要约4072小时,循环100次则大约需要6.79*1047年,左图是具有某程序的流程图,假设循环10次,请计算一下有多少条程序执行通路?假设由图中得到的所有路径都是可执行路径,执行一次循环大约需要10微秒(奔腾41.7G),且一年365天每天24小时不停机,请回答:如果循环次数为10的话,遍历图中所有路径需要多长时间?,本科软件测试与质量保证SEIofECNU孙海英版权所有4-5,基本路径测试,相关概念基本路径本质上是从程序入口到出口的一些通路。之所以称其为基本路径,原因在于可以通过对基本路径进行连接或者重复操作得到程序中的其它路径控制流图基于代码结构构造的有向图,可用于描述程序的控制结构测试思想根据程序的控制流图找出一个模块所需测试的基本路径,根据这些基本路径设计构造相应的测试用例,本科软件测试与质量保证SEIofECNU孙海英版权所有4-6,基本路径,基本路径1-2-111-2-3-4-5-6-10-2-111-2-3-4-5-7-10-2-111-2-3-8-9-10-2-111-2-3-8-10-2-11,1,2,3,4,5,6,7,8,9,10,11,本科软件测试与质量保证SEIofECNU孙海英版权所有4-7,控制流图,1,2,3,4,5,6,7,8,9,10,11,本科软件测试与质量保证SEIofECNU孙海英版权所有4-8,基本路径测试,设计步骤根据模块逻辑构造控制流图(FlowGraph)计算控制流图的环复杂度(CyclomaticComplexity)列出包含起始节点和终止节点的基本路径检查一下列出的基本路径数目是否超过控制流图的环复杂度设计覆盖这些基本路径的测试用例,本科软件测试与质量保证SEIofECNU孙海英版权所有4-9,控制流图,说明控制流图是由节点和边组成的有向图节点代表了代码或程序流程图中矩形框中所表示的处理,菱形表示的判断处理以及判断处理流程相交的汇合点,在图中用标有编号的圆圈表示边表明了控制的顺序,在图中用有向箭头表示。G=(V,E)是控制流图有如下定义V=vb,veUDUS,whereindegree(vb)=0是开始节点outdegree(ve)=0是结束节点D是二值判定节点的集合S是顺序节点的集合,S中的每一个元素代表一段顺序执行的语句EDXDUDXSUSXD是有向边的集合,本科软件测试与质量保证SEIofECNU孙海英版权所有4-10,控制流图,三种逻辑结构的控制流图,顺序,条件,循环,本科软件测试与质量保证SEIofECNU孙海英版权所有4-11,控制流图,1,2,3,4,5,6,7,8,9,10,11,1,2,3,5,6,7,10,8,B,11,4,9,E,本科软件测试与质量保证SEIofECNU孙海英版权所有4-12,环复杂度,含义用V(G)表示用来衡量一个模块判定结构的复杂程度,在数量上表现为独立的路径条数,是需要测试的基本路径数目的上限。计算公式V(G)=闭合区域的数目由节点和边围成的封闭区域这些封闭区域一定是不可再分的包括周边的区域V(G)=二值判定节点个数+1.V(G)=边的数目-节点的数目+2,本科软件测试与质量保证SEIofECNU孙海英版权所有4-13,环复杂度,环复杂度(不要超过10)闭合区域的数目=5(控制流图所在的平面也是一个封闭区,一定是原子的)二值判定节点个数+1=4+1=5边的数目-节点的数目+2=16-13+2=5,本科软件测试与质量保证SEIofECNU孙海英版权所有4-14,基本路径(选第一条基本路经希望二直结点尽可能的多),形式化定义路径p=vb,v1,v2,.,vn,ve是由有顺序的一系列节点组成且节点之间存在这样的关系,.,E一条路径p=vb,v1,v2,.,vn,ve是一条基本路径当且仅当p中不包含两个子序列s1,s2,s1=s2且length(s1)1andlength(s2)1.(s1)(s2)(subseq(s1,p)subseq(s2,p)s1=s2|s1|1|s2|1)子序列的定义:subseq(s1,p)(s0)(s2)(s0,s1,s2=p)更实用的定义(遍利所有的边)一条路径是基本路径如果是一条从起始节点到终止节点的路径至少包含一条其它基本路径没有包含的边,本科软件测试与质量保证SEIofECNU孙海英版权所有4-15,基本路径,基本路径1-2-111-2-3-4-5-6-10-2-111-2-3-4-5-7-10-2-111-2-3-8-9-10-2-111-2-3-8-10-2-11,本科软件测试与质量保证SEIofECNU孙海英版权所有4-16,三角形问题,使用基本路径设计测试用例方法推导三角形问题的测试用例P77,本科软件测试与质量保证SEIofECNU孙海英版权所有4-17,控制流图,81-86,87,88,92,99-100,93,102,95,96,97-98,89-90,94,本科软件测试与质量保证SEIofECNU孙海英版权所有4-18,环复杂度,环复杂度闭合区域的数目=5二值判定节点个数+1=4+1=5边的数目-节点的数目+2=15-12+2=5,本科软件测试与质量保证SEIofECNU孙海英版权所有4-19,基本路径和测试用例(1),基本路径和测试用例81-86-87-88-92-93-95-97-98-102相应的测试用例:测试输入=(68,68,56)预期结果=这是一个等腰三角形!81-86-87-88-92-93-95-96-102相应的测试用例:测试输入=(68,60,56)预期结果=这是一个不等边三角形!,本科软件测试与质量保证SEIofECNU孙海英版权所有4-20,基本路径和测试用例81-86-87-88-92-93-94-102相应的测试用例:测试输入=(68,68,68)预期结果=这是一个等边三角形!81-86-87-89-90-92-99-100-102相应的测试用例:测试输入=(68,8,60)预期结果=这不是一个三角形!,基本路径和测试用例(2),本科软件测试与质量保证SEIofECNU孙海英版权所有4-21,基本路径与环复杂度,81-86-87-88-92-99-100-10281-86-87-88-92-93-95-97-98-10281-86-87-88-92-93-95-96-10281-86-87-88-92-93-94-10281-86-87-89-90-92-93-94-102,基本路经不一定是测试用例.一定要可行才性,本科软件测试与质量保证SEIofECNU孙海英版权所有4-22,基本路径与环复杂度,结论如果基本路径必须是可行的,则逻辑关系会压缩基本路径集合数量,因此环复杂度是包含起始点和终止点的基本路径数目的上限,本科软件测试与质量保证SEIofECNU孙海英版权所有4-23,练习,本科软件测试与质量保证SEIofECNU孙海英版权所有4-24,练习,15-17,19,20,21,22-23,24,25,26,27,29,30,31,32,本科软件测试与质量保证SEIofECNU孙海英版权所有4-25,对节点粒度的讨论,本科软件测试与质量保证SEIofECNU孙海英版权所有4-26,对节点粒度的讨论,1,2,3,4,5,6,7,8,9,10,11,12,13,本科软件测试与质量保证SEIofECNU孙海英版权所有4-27,思考,如果被误写成if(a19-29-31-32(30-32?)测试用例:测试输入=(-999),0,360)预期结果=-99915-17-19-20-21-24-19-29-31-32(30-32?)测试用例:测试输入=(-10,-999),0,360),预期结果=-999,本科软件测试与质量保证SEIofECNU孙海英版权所有4-56,基本路径(方案1),基本路径和相应的测试用例15-17-19-20-21-22-23-25-26-27-19-29-30-32测试用例:测试输入=(180,-999),0,360),预期结果=180,本科软件测试与质量保证SEIofECNU孙海英版权所有4-57,环复杂度(方案2),环复杂度闭合区域的数目=6二值判定节点个数+1=5+1=6边的数目-节点的数目+2=17-13+2=6,1,2,3,4,5,6,7,8,9,10,11,12,13,本科软件测试与质量保证SEIofECNU孙海英版权所有4-58,基本路径(方案2),基本路径和相应的测试用例1-2-10-12-13(10-11?)测试用例:测试输入=(-999),0,360)预期结果=-9991-2-3-10-11-13测试用例测试输入=(0.100,-999),0,360),预期结果=49.5,本科软件测试与质量保证SEIofECNU孙海英版权所有4-59,基本路径(方案2),基本路径和相应的测试用例1-2-3-4-5-6-7-9-2-10-11-13测试用例:测试输入=(180,-999),0,360),预期结果=1801-2-3-4-5-8-2-10-12-13测试用例:测试输入=(-10,-999),0,360),预期结果=-999,本科软件测试与质量保证SEIofECNU孙海英版权所有4-60,基本路径(方案2),基本路径和相应的测试用例1-2-3-4-5-6-8-2-10-12-13测试用例:测试输入=(380,-999),0,360),预期结果=-999,本科软件测试与质量保证SEIofECNU孙海英版权所有4-61,分支-条件测试,需测试的逻辑条件P89Dowhile(valuei!=-999)&(inputNumber=minimum)&(valuei0,本科软件测试与质量保证SEIofECNU孙海英版权所有4-62,分支-条件测试,分支和相应的测试用例P89,相应的测试用例测试输入=(180,-999),0,360),预期结果=180测试输入=(-999),0,360),预期结果=-999测试输入=(0.100,-999),0,360),预期结果=49.5,本科软件测试与质量保证SEIofECNU孙海英版权所有4-63,分支-条件测试,分支和相应的测试用例P89,相应的测试用例测试输入=(180,-999),0,360),预期结果=180测试输入=(-10,-999),0,360),预期结果=-999测试输入=(380,-999),0,360),预期结果=-999,本科软件测试与质量保证SEIofECNU孙海英版权所有4-64,分支-条件测试,分支和相应的测试用例P89,相应的测试用例测试输入=(180,-999),0,360),预期结果=180测试输入=(-999),0,360),预期结果=-999,本科软件测试与质量保证SEIofECNU孙海英版权所有4-65,循环测试,需测试的循环条件Dowhile(valuei!=-999)&(inputNumber100)直接跳过循环体测试用例:测试输入=(-999),0,360),预期结果=-999只执行一遍循环体测试用例:测试输入=(180,-999),0,360),预期结果=180连续执行两遍循环体测试用例:测试输入=(10,20,-999),0,360),预期结果=15,本科软件测试与质量保证SEIofECNU孙海英版权所有4-66,循环测试,需测试的循环条件Dowhile(valuei!=-999)&(inputNumber100)如果循环次数为n,执行m(m1为真且B=0为假A1为假且B=0为真A1为假且B=0为假A=2为真且X1为真A=2为真且X1为假A=2为假且X1为真A=2为假且X1为假,本科软件测试与质量保证SEIofECNU孙海英版权所有4-95,多条件覆盖,Code1,测试用例A=2,B=0,X=4(t,t,t,t)A=1,B=0,X=3(f,t,f,t)A=2,B=1,X=1(t,f,t,f)A=1,B=1,X=1(f,f,f,f),1,3,4,2,E,1,3,4,2,E,1,3,4,2,E,1,3,4,2,E,1,3,4,2,E,1,3,4,2,E,本科软件测试与质量保证SEIofECNU孙海英版权所有4-96,路径覆盖,Code1,说明路径覆盖是指设计足够多的测试用例,使得程序中所有可能的路径至少被遍历一次。为了遍历code1中的四条可执行路径,设计4个测试用例:“A=2,B=0,X=3”,(t,t,t,f)“A=1,B=0,X=1”,(f,t,f,f)“A=2,B=1,X=1”(t,f,t,f)“A=3,B=0,X=1”。(t,t,f,f),本科软件测试与质量保证SEIofECNU孙海英版权所有4-97,注意,说明即使对路径数很有限的程序即使作到了路径覆盖,仍然不能保证被测程序的正确性。例如,对于代码“if(I=0)”,如果将“if(I=0)”错写成了“if(I0)”,假设设计的测试用例中I的值均大于0,这样,虽然满足了路径覆盖,但仍然发现不了这个问题。,本科软件测试与质量保证SEIofECNU孙海英版权所有4-98,RationalPurecoverage,RationalPurecoverage可以帮助检查使用.NET,Java,VisualC/C+和VisualBasic开发的程序并提供代码覆盖信息如何运行purecoverage有3种可以运行purecoverage的方法通过purecoverage自带的用户界面通过IDE如MicrosoftVisualStudio6,VisualStudio.NET,和IBMWebSphereStudio通过命令行,本科软件测试与质量保证SEIofECNU孙海英版权所有4-99,File-Run,通过自带用户界面,本科软件测试与质量保证SEIofECNU孙海英版权所有4-100,命令行coveragePurecoverage选项,通过命令行,本科软件测试与质量保证SEIofECNU孙海英版权所有4-101,命令,运行时信息,通过命令行,本科软件测试与质量保证SEIofECNU孙海英版权所有4-102,检查代码覆盖,通过Purecoverage自带用户界面的运行步骤设计测试用例使用Purecoverage运行测试用例直到
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年黄山祁门县县属国有企业招聘真题
- 2025-2026学年广东省中山市高三语文下册(一模)试卷(含答案)
- 沈阳水务集团有限公司招聘考试真题2025
- 特殊教育学校教师岗位职责
- 教师学术不端行为检讨书
- 教师值班值守不到位问题整改措施
- 机关部门章使用管理制度
- 有色金属凝固组织晶粒细化实验项目环评报告表
- 科技小探索:解锁未来星球小学主题班会课件
- 2026年一季度业绩提升商洽函5篇范本
- 信访业务知识培训课件
- GB/T 18281.3-2024医疗保健产品灭菌生物指示物第3部分:湿热灭菌用生物指示物
- 微循环课件教学课件
- 不完全肠梗阻护理
- 人教PEP版(一起)(2024)一年级上册英语全册教案(单元整体教学设计)
- 舞蹈基础知识考试题库150题(含答案)
- 《电力行业企业培训师能力标准与评价规范》
- 铁工电〔2023〕54号国铁集团关于印发《普速铁路工务安全规则》的通知
- 安全生产应急预案管理办法
- 小升初奥数思维训练100题(附解析)
- 锂硫电池市场调研报告
评论
0/150
提交评论