版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、软件测试软件测试第第4 4章章 白盒测试方法白盒测试方法 其他方法其他方法Logo目目 录录循环测试循环测试1Z Z路径测试路径测试2程序插桩技术程序插桩技术3静态测试方法静态测试方法4白盒测试总结白盒测试总结5Logo 引例引例有如下代码(有如下代码(C C语言):语言): For (i=0;inum;i+) For (i=0;i0) while (j0) j-;j-; 该循环的测试用例设计思路是怎样的?该循环的测试用例设计思路是怎样的?循环测试循环测试Logo循环测试循环测试LogoLogo循环测试循环测试Logo循环测试循环测试LogofdcabeLogoLogo循环测试循环测试Logo
2、循环测试循环测试Logo循环测试循环测试 回到引例回到引例有如下代码(有如下代码(C C语言):语言):for(i=0;inum;i+)for(i=0;i0) while (j0) j-;j-; 应用应用嵌套循环嵌套循环的测试思路,应该怎么设计测试用的测试思路,应该怎么设计测试用例呢?例呢?Logo循环测试循环测试Logo循环测试问题循环测试问题 1.对于最多为n次的简单循环,要测试n-1次,n次,n+1次。最多为n次,n+1次怎么测; 2.第一问的条件下,若第一步i赋值为1,然后判断i是否小于m,m是要输入的值,如果m随便输入,无上界,那么n次,n+1次怎么判断,我m不同,最大次数不也不同?
3、 3.嵌套循环内层测试时,外层循环取最小值,最小值什么意思,是外层不循环,还是循环一次? LogoZ Z路径覆盖路径覆盖LogoZ Z路径覆盖路径覆盖LogoZ路径覆盖路径覆盖LogoZ路径覆盖路径覆盖 对这个流程图,应该怎么应用z路径覆路径覆盖盖设计测试用例呢?Logo程序插桩技术程序插桩技术在软件动态测试中,程序插桩在软件动态测试中,程序插桩(ProgramInstrumentation)是一种基是一种基本的测试手段本的测试手段方法简介:借助往被测程序中插入操方法简介:借助往被测程序中插入操作,来实现测试目的的方法。作,来实现测试目的的方法。最简单的插桩:在程序中插入打印语最简单的插桩:在
4、程序中插入打印语句句printf(“”)语句语句LogoZ Z路径覆盖路径覆盖 注意:循环化简是指限制循环的次数。无论循环的形式和实际执行循环体的次数是多少,只考虑循环一次和零次两种情况。即:只考虑执行时进入循环体一次和跳过循环体的两种情况。Logo 方法简介方法简介 如果我们想要了解一个程序在某次运行中所有可执行语句被覆盖的情况,或是每个语句实际执行次数,最好的办法就是利用程序插桩技术.程序插桩技术程序插桩技术Logo方法简介方法简介 例:求取两个整数X和Y的最大公约数程序如下:int gsd (int X,int Y) int Q=X; int R=Y; while(Q!=R) if(QR
5、) Q=Q-R;else R=R-Q; return Q;Logo最大公约数算法最大公约数算法之之更相减损术更相减损术 在我国古代的数学著作九章算术中,就介绍了“约分术”:“可半者半之,不可半者半之,不可半者,副置分母、子之数,以少减多,可半者,副置分母、子之数,以少减多,更相减损,求其等也。以等数约之更相减损,求其等也。以等数约之。”Logo程序插桩技术程序插桩技术 可以根据程序绘制出其流程图 为了记录该程序中语句的执行次数,我们使用插桩技术插如如下语句:C(i)=C(i)+1, i=1,2,6 插桩之后的流程图如下:LogoLogo程序插桩技术程序插桩技术 程序从入口开始执行,到出口结束,
6、凡经历的计数语句都能记录下该程序点的执行次数。 如果我们在程序的入口处还插入了对计数器C(i)初始化的语句,在出口处插入了打印这些计数器的语句,就构成了完整的插桩程序。它就能记录并输出在各程序点上语句的实际执行次数.Logo程序插桩技术程序插桩技术 右图为插桩之后的程序,箭头所指为插入的语句。原程序的语句已略去。Logo程序插桩技术程序插桩技术 设计插桩程序时需要考虑的问题包括: (1)需要探测哪些信息 (2)在程序的什么部位设置探测点 (3)需要设置多少个探测点 前两个问题需要结合具体的问题解决,并不能给出笼统的回答。至于第三个问题,需要考虑如何设置最少的探测点!Logo静态测试法简介静态测
7、试法简介静态测试静态测试不实际运行软件,只是检查和审阅,主要对软件的编程格式,结构等方面进行评估。静态测试 代码检查代码检查静态结构分析静态结构分析代码质量度量代码质量度量代码审查代码走查桌面检查控制流分析数据流分析信息流分析Logo代码审查(代码审查(code inspection)code inspection) 程序员和测试员组成的审查小组通过阅读、讨论讨论和争议,对程序进行静态分析的过程 。 第一步:小组成员提前阅读设计规格书、程序文本等相关文档 第二步:召开程序审查会,开发人员读程序,审查小组讨论、发现、解决问题Logo代码审查(代码审查(code inspection)code i
8、nspection) 内容内容检查代码和设计的一致性检查代码对标准的遵循、可读性检查代码的逻辑表达的正确性检查代码结构的合理性形成公司积累变成容易出错的checklistLogo代码走查(代码走查(code walkthrough)code walkthrough) 程序员和测试员组成的审查小组通过逻辑运行程序,发现问题。 第一步:小组成员提前阅读设计规格书、程序文本等相关文档 第二步:利用测试用例,使程序逻辑运行,记录程序的踪迹,发现、讨论、解决问题 Logo桌面检查桌面检查 可视为由单人进行的代码检查或代码走查。 是程序员对源程序代码进行分析、检验,并补充相关的文档,发现程序中的错误的一种方法。Logo白盒测试综合策略白盒测试综合策略 在白盒测试中,可以使用各种测试方法的综合测试如下所示:在测试中,应尽量先用工具进行静态结构分析。测试中可采取先静态后动态的组合方式:先进行静态结构分析、代码检查和静态质量度量,再进行覆盖率测试。Logo白盒测试综合策略白盒测试综合策略 利用静态分析的结果作为引导,通过代码检查和动态测试的方式对静态分析结果进行进一步的确认,使测试工作更为有效。 覆盖率测试是白盒测试的重点,一般可使用基本路径测试法达到语句覆盖标准;对于软件的重点模块,应使用多种覆盖率标准衡量代码的覆盖率;Logo白盒测试综合策略白盒测试综合策略 在不同的测试阶段,测试的侧
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 四川省乐至县联考2025-2026学年初三第三次诊断语文试题含解析
- 2026届天津市新华圣功校初三尖子生班3月调研考试语文试题含解析
- 落实教育公平助学承诺书(5篇)
- 河北省秦皇岛青龙县联考2026届下学期初三年级期末考试(联考卷)英语试题含解析
- 快乐运动的演讲比赛稿15篇
- 企业沟通渠道评估模板优化交流
- 文档编写格式规范工具包
- 物资采购合规管控承诺书6篇
- 环保建材绿色生产承诺书范文5篇
- 多平台文档编辑格式规范
- 消防维保方案(消防维保服务)(技术标)
- 车辆交通危险点分析预控措施
- QC成果提高SBS防水卷材铺贴质量一次合格率
- 大舜号海难事故案例分析
- TGRM 057.1-2023 非煤岩岩爆倾向性评价规范 第1部分:室内指标测定及等级分类
- 2023年安徽新闻出版职业技术学院单招考试职业技能考试模拟试题及答案解析
- LY/T 2271-2014造林树种与造林模式数据库结构规范
- GB/T 6554-2003电气绝缘用树脂基反应复合物第2部分:试验方法电气用涂敷粉末方法
- GB/T 19409-2013水(地)源热泵机组
- GA/T 1047-2013道路交通信息监测记录设备设置规范
- PMPv20流程培训教材-课件
评论
0/150
提交评论