- 1、本文档共82页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5章-白盒测试
白盒测试 白盒测试 白盒测试概念 测试覆盖标准 逻辑驱动测试 基本路径测试 白盒测试(结构测试)概念 把测试对象看做一个透明的盒子 白盒测试是根据被测程序的内部结构设计测试用例并完成测试的一种测试方法 白盒测试或逻辑驱动测试 基于一个应用代码的内部逻辑知识,测试覆盖全部代码、分支、路径和条件 白盒测试 (结构测试)特点 可以构成测试数据使特定程序部分得到测试 有一定的充分性度量手段 可获得较多工具支持 通常只用于单元测试 白盒测试的方法 静态测试方法: 程序结构分析 正式审查 同事审查 公开陈述 检验 动态测试方法: 逻辑覆盖 语句覆盖 判定覆盖 条件覆盖 判定-条件覆盖 条件组合 路径覆盖 通用代码审查清单 数据引用错误 数据声明错误 计算错误 比较错误 控制流程错误 子程序参数错误 输入、输出错误 其他错误 代码覆盖率 采用白盒法进行测试时,考虑的是测试用例对程序内部逻辑的覆盖程度 最彻底的白盒法是覆盖程序中的每一条路径,但这往往无法实现 采用其它一些标准来量度覆盖的程度,并希望覆盖程度尽可能高些 测试覆盖标准 测试覆盖标准 上页小程序的流程图,其中包括了一个执行达20次的循环。那么它所包含的不同执行路径数高达520(=1013)条,若要对它进行穷举测试,覆盖所有的路径。假使测试程序对每一条路径进行测试需要1毫秒,同样假定一天工作24小时,一年工作365 天, 那么要想把如图所示的小程序的所有路径测试完,则需要3170年。 逻辑驱动测试 语句覆盖 判定覆盖 条件覆盖 判定-条件覆盖 条件组合覆盖 路径覆盖 例:实现一个简单的数学运算 Dim a,b As Integer Dim c As Double If (a0 And b0) Then c=c/a End if If (a1 or c1) Then c=c+1 End if c=b+c 1.语句覆盖 基本思想是:设计若干测试用例,运行被测程序,使程序中每个可执行语句至少执行一次。 1.语句覆盖……续1 只需设计一个测试用例:a=2,b=1,c=6;即达到了语句覆盖。 1.语句覆盖……续2 【优点】 :可以很直观地从源代码得到测试用例,无须细分每条判定表达式。 【缺点】 :由于这种测试方法仅仅针对程序逻辑中显式存在的语句,但对于隐藏的条件是无法测试的。如在多分支的逻辑运算中无法全面的考虑。语句覆盖是最弱的逻辑覆盖。 2.判定覆盖 基本思想是:设计若干测试用例,运行被测程序,使得程序中每个判断的取真分支和取假分支至少经历一次,即判断真假值均曾被满足。 2.判定覆盖……续1 a=2,b=1 ,c=6可覆盖判断M的Y分支和判断Q的Y分支; a=-2,b=-1 ,c=-3可覆盖判断M的N分支和判断Q的N分支 。 这两组测试用例可覆盖所有判定的真假分支。 2.判定覆盖……续2 a=1,b=1 ,c=-3 可覆盖判断M的Y分支和判断Q的N分支 ; a=1,b=-2 ,c=3可覆盖判断M的N分支和判断Q的Y分支 ; 同样的这两组测试用例也可覆盖所有判定的真假分支。 2.判定覆盖……续3 【优点】:判定覆盖具有比语句覆盖更强的测试能力。同样判定覆盖也具有和语句覆盖一样的简单性,无须细分每个判定就可以得到测试用例。 【缺点】:往往大部分的判定语句是由多个逻辑条件组合而成,若仅仅判断其整个最终结果,而忽略每个条件的取值情况,必然会遗漏部分测试路径。判定覆盖仍是弱的逻辑覆盖。 3.条件覆盖 基本思想是:设计若干测试用例,执行被测程序以后要使每个判断中每个条件的可能取值至少满足一次。 3.条件覆盖……续1 判断M表达式: 设条件 a0 取真 记为 T1 假 F1 条件 b0 取真 记为 T2 假 F2 判断Q表达式: 设条件 a1 取真 记为 T3 假 F3 条件 c1 取真 记为 T4 假 F4 3.条件覆盖……续2 3.条件覆盖……续3 【优点】:增加了对条件判定情况的测试,增加了测试路径。 【缺点】:条件覆盖不一定包含判定覆盖。例如,我们刚才设计的用例就没有覆盖判断M的Y分支和判断Q的N分支。条件覆盖只能保证每个条件至少有一次为真,而不考虑所有的判定结果。 4.判定-条件覆盖 基本思想是:设计足够的测试用例,使得判断条件中的所有条件可能至少执行一次取值,同时,所有判断的可能结
文档评论(0)