0405_测试理论_白盒测试技术.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
白盒测试技术 一:白盒测试概述: 概念 基于应用代码的内部逻辑知识,即基于覆盖全部代码、分支、路径、条件,使用程序设计的控制结构导出测试用例 又称结构测试、逻辑驱动测试或基于程序代码内部构成的测试。此时,测试工程师将深入考查程序代码的内部结构,逻辑设计等 白盒测试帮助测试人员增大代码覆盖率,提高代码质量 白盒测试使用原则 保证一个模块中所有独立路径至少被测试一次 所有逻辑值均需要测试真假两种情况 检查程序的内部数据结构,保证其结构的有效性 在上、下边界及可操作范围内运行所有循环 白盒测试方法 代码检查法 逻辑覆盖法 基本路径覆盖法 二:代码检查法: 使用范围 检查代码和设计的一致性 代码对标准的遵循和可读性 代码逻辑表达的正确性 代码结构合理性 程序编写与编写标准符合性 程序中不安全、不明确和模糊部分 编程风格 代码检查法的方式 桌面检查:程序员对源文件代码进行分析、检查并补充相关文档,发现程序中错误的过程 走查:程序员和测试员组成的审查小组通过逻辑运行程序发现问题的过程 代码审查:程序员和测试员组成的审查小组通过阅读、讨论、分析技术对程序进行静态分析的过程 三:逻辑覆盖法: 逻辑覆盖法的方式 语句覆盖法:选择足够多的测试数据,使得程序中的每个执行语句至少执行一次 判定覆盖法:设计足够多的测试用例,使得程序中每个判定至少获得一次真和假 条件覆盖法: 设计足够多的测试用例,使得程序中每个判定包含的每个条件的可能取值都至少满足一次 条件判定组合覆盖法:设计足够多的测试用例,使程序中每个判定包含的每个条件所有情况至少出现一次,且每个判定本身的判定结果也至少出现一次 多重条件覆盖法:条件组合 测试方式说明: class Demo { public int function(boolean a,boolean b,boolean c){ int x; x=0; if(a(b||c)){ x=1; } return x; } } 语句覆盖法:编写足够的测试情况,使得每条语句至少执行一次 用例1:a=T,b=T,c=T。 判定覆盖法:1.编写足够的测试情况,使得每个判定至少有一次“真”和一次“假”的结果,2.每个分支方向都必须至少经过一次,3.要在程序或子程序的每个入口点至少进入一次(强调判断的取值) 用例1:a=T,b=T,c=T。 用例2:a=F,b=F,c=F。 条件覆盖法:1.编写足够的测试情况,使得判定中每个条件的所有可能结果至少出现一次,2.要在程序或子程序的每个入口点至少进入一次(强调条件的取值) 用例1:a=T,b=T,c=T。 用例2:a=F,b=F,c=F。 条件判定组合覆盖法:1.编写足够的测试情况,使得判定中每个条件的所有可能结果至少出现一次,2.每个判定本身所有可能结果也至少出现一次,3.同时每个入口点至少要进入一次 用例1:a=T,b=T,c=T。 用例2:a=F,b=F,c=F。 多重条件覆盖法:1.要写出足够的测试情况,以使判定的每条分支至少通过一次,2.编写足够的测试情况,使得每个判定判定中条件结果的所有可能组合至少出现一次,3.所有的入口点都至少进入一次 用例1:a=T,b=T,c=T。 用例2:a=T,b=T,c=F。 用例3:a=T,b=F,c=F。 用例4:a=T,b=F,c=T。 用例5:a=F,b=T,c=T。 用例6:a=F,b=T,c=F。 用例7:a=F,b=F,c=T。 用例8:a=F,b=F,c=F。 例:用不同的方式设计用例? class Demo { public void fun(int a,int b,int x) { if(a1b==0) { x=x/a; } if(a==2||X1){ x=x+1; } } } 四:基本路径测试法: 概念 从一个程序的入口开始,执行所经历的各个语句的完整过程 基本步骤 画出程序控制流图 计算程序环路复杂度 导出基本路径集 根据03中的独立路径,设计测试用例输入数据和输出数据 程序控制流图:描述程序控制流的一种方式 圆圈代表节点,程序控制流边和点圈定的部分叫区域,对区域计数时,图形外的一个部分也应记为一个区域,控制流线由带箭头的弧或线表示,称为边,它代表程序中的控制流,为了满足路径覆盖,必须首先确定具体的路径及路径个数 程序环路复杂度: 概念:也称为圈复杂度,是为程序逻辑复杂度提供定量尺度的软件度量 目的: 1.提供程序基本集的独立路径数量,2.确保所有语句至少执行一次测试 环路复杂度计算步骤:1.控制流图中区域的数量对应于环路复杂度,2.给定控制流图G的环路复杂度V(G),3.定义为V(G)=E-N+2,其中E是控制流图中边的数量,4.N是控制流图中的节点数量 独立路

文档评论(0)

bm5044 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档