- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第2章 白盒测试 2.1 白盒测试概述 2.2 白盒测试的测试用例设计方法 2.3 白盒测试的典型案例 2.4 白盒测试的工具 2.1 白盒测试概述 白盒测试又称为结构测试,主要是根据被测程序的内部结构设计测试用例。白盒测试根据测试方法可以分为静态白盒测试和动态白盒测试。 静态白盒测试是指在不执行的条件下有条理地仔细审查软件设计、体系结构和代码,从而找出软件缺陷的过程。 动态白盒测试是指测试运行中的程序,并利用查看代码功能和实现方式得到的信息来确定哪些需要测试,哪些不要测试,如何开展测试,从而设计和执行测试,找出软件缺陷的过程。 2.2 白盒测试的测试用例设计方法 白盒测试的测试用例设计方法主要为逻辑覆盖测试,逻辑覆盖测试包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖和路径覆盖 . 2.3 白盒测试的典型案例 例1 If (a1) and (b=0) then x=x/a if(a=2) or (x1) then x=x+1 语句覆盖 选择足够的测试用例,使程序中的可执行语句至少执行一次。 例子中要设计一个能通过ace的测试用例即可,a=2 b=0 x=3 语句覆盖较弱,测试不充分,无法发现程序中某些逻辑运算符和逻辑条件的错误。 判定覆盖 执行足够的测试用例,使得程序中的每个判定至少都获得一次“真”和“假”值,或者说使得程序中取“真”分支和取“假”分支至少经历一次。 例子:路径ace和abd,或通过路径acd和abe,即可达到判定覆盖标准。 X1错写为x1无法测试出来。 条件覆盖 设计若干测试用例,要使每个每个判定中每个条件的可能取值至少满足一次。 例子:第一个判定:a1,为真,记为t1; a1,为假,记为-t1; b=0,为真,记为t2; b=0 ,为假,记为-t2; 第二个判定:a=2,为真,记为t3; a=2,为假,记为-t3; x1,为真,记为t4; x1 ,为假,记为-t4; 下面第一组测试用例既判定覆盖,又条件覆盖;第二组测试用例条件覆盖,但没有判定覆盖。 判定/条件覆盖 条件组合覆盖 执行足够的测试用例,使得每个判定种条件的各种可能组合都至少出现一次。 例子中的条件组合: 1)a1,b=0 记为t1,t2 2)a1,b0 记为t1,-t2 3)a=1,b=0 记为-t1,t2 4)a = 1,b0 记为-t1,-t2 5) a = 2,x1记为t3,t4 6) a = 2,x=1记为t3,-t4 7) a 2,x1记为-t3,t4 8) a 2,x=1记为-t3,-t4 路径覆盖 设计足够多测试用例,要求覆盖程序中所有可能的路径。 例子: 路径1:ace 路径2:abd 路径3:abe 路径4:acd 测试用例 2.3 白盒测试的典型案例 例2 void DoWork (int x,int y,int z) { int k=0,j=0; if ( (x3)(z10) ) { k=x*y-1; j=sqrt(k); } //语句块1 if ( (x==4)||(y5) ) { j=x*y+10; } //语句块2 j=j%3; //语句块3 } 语句覆盖 要实现DoWork函数的语句覆盖,只需设计一个测试用例就可以覆盖程序中的所有可执行语句。 测试用例输入为:{ x=4、y=5、z=5 } 程序执行的路径是:abd 分析: 语句覆盖可以保证程序中的每个语句都得到执行,但发现不了判定中逻辑运算的错误,即它并不是一种充分的检验方法。例如在第一个判定((x3)(z10))中把“”错误的写成了“||”,这时仍使用该测试用例,则程序仍会按照流程图上的路径abd执行。可以说语句覆盖是最弱的逻辑覆盖准则。 判定覆盖 要实现DoWork函数的判定覆盖,需要设计两个测试用例。 测试用例的输入为:{x=4、y=5、z=5};{x=2、y=5、z=5} 程序执行的路径分别是:abd;ace 分析: 上述两个测试用例不仅满足了判定覆盖,同时还做到语句覆盖。从这点看似乎判定覆盖比语句覆盖更强一些,但仍然无法确定判定内部条件的错误。例如把第二个判定中的条件y5错误写为y5,使用上述测试用例,照样能按原路径执行而不影响结果。因此,需要有更强的逻辑覆盖准则去检验判定内的条件。 条件覆盖 在实际程序代码中,一个判定中通常都包含若干条件。 条件覆盖的目的是设计若干测试用例
您可能关注的文档
- 路由交换技术与应用项目化教程 作者 孙秀英 nat.ppt
- 路由交换技术与应用项目化教程 作者 孙秀英 ospf.ppt
- 路由交换技术与应用项目化教程 作者 孙秀英 RIP.ppt
- 路由交换技术与应用项目化教程 作者 孙秀英 TCP协议与子网划分.ppt
- 路由交换技术与应用项目化教程 作者 孙秀英 VLAN技术应用.ppt
- 路由交换技术与应用项目化教程 作者 孙秀英 路由器基础与路由技术基础.ppt
- 路由交换技术与应用项目化教程 作者 孙秀英 数据通信基础.ppt
- 路由交换技术与应用项目化教程 作者 孙秀英 网络基础.ppt
- 路由交换技术与应用项目化教程 作者 孙秀英 虚拟局域网技术技术.ppt
- 路由交换技术与应用项目化教程 作者 孙秀英 以太网交换技术.ppt
- 软件测试实践教程 作者 路晓丽 第3章 黑盒测试.ppt
- 软件测试实践教程 作者 路晓丽 第5章 测试流程和测试文档.ppt
- 软件测试实践教程 作者 路晓丽 第8章 TestDirector测试管理工具的.ppt
- 软件工程 第2版 作者 王宜贵 第2章 制定计划.ppt
- 软件工程 第2版 作者 王宜贵 第5章 程序编码.ppt
- 软件工程 第2版 作者 王宜贵 第6章 软件检验.ppt
- 软件工程 第2版 作者 王宜贵 第7章 软件维护.ppt
- 软件工程 第2版 作者 王宜贵 第9章 软件项目管理.ppt
- 软件工程 第2版 作者 王宜贵 附录A 统一建模语言UML.ppt
- 软件工程 作者 马林艺 第八章软件进化.ppt
文档评论(0)