- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软 件 测 试 技 术 课 程 第5讲 白盒测试技术 测试用例设计 测试用例的设计是软件测试的关键所在,我们需要设计出最有可能发现软件错误的测试用例,同时尽量避免测试用例的冗余(即避免使用发现错误效果相同的测试用例),尽量做到用最少的用例达到较高的覆盖。 为了达到这个目的,我们就需要使用一定的测试用例设计方法,本次课主要讲解基于了解内部结构的白盒测试方法。 白盒测试——逻辑覆盖法 逻辑覆盖是以程序内部的逻辑结构为基础的设计测试用例的技术,它考虑的是用测试数据执行程序时,对程序代码以及结构的逻辑覆盖程度。 逻辑覆盖法通常采用流程图来设计测试用例,它考察的重点是图中的判定框,因为这些判定通常是与选择结构或是循环结构有关,是决定程序结构的关键成分。 逻辑覆盖-语句覆盖 逻辑覆盖-语句覆盖 逻辑覆盖-语句覆盖 所有可执行语句都在路径acef上,所以我们只需要一个用例,这个用例执行路径acef,就可以覆盖所有的可执行语句 。 逻辑覆盖-语句覆盖 逻辑覆盖-判定覆盖 逻辑覆盖-判定覆盖 参考左图,要满足判定覆盖,需要选择路径acef和abdf,或abef和acdf。 逻辑覆盖-判定覆盖 判定覆盖同样满足语句覆盖。当然,并不是所有的判定都如此简单,判定条件还存在于多分支选择语句和循环语句中。 for(i=1;i=100;i++)全部覆盖需要多少用例? 没有不能实现的判定结果,因此,如果不考虑代价,达到100%的判定覆盖是可能的。 逻辑覆盖-判定覆盖 逻辑覆盖-判定覆盖 逻辑覆盖-条件覆盖 逻辑覆盖-条件覆盖 逻辑覆盖-判定条件覆盖 逻辑覆盖法-判定条件覆盖 逻辑覆盖-条件组合覆盖 逻辑覆盖-条件组合覆盖 逻辑覆盖-条件组合覆盖 路径覆盖 基本路径法 基本的控制结构对应的图形符号: 圆圈(结点):表示一个或多个的语句或源程序; 箭头(边或路径):代表控制流 由边和结点圈定的范围称为区域,当对区域计数时,图形外的区域也应记为一个区域。 基本路径法-控制流图 举例: 假定图中用菱形框表示的判定条件内没有复合条件。 基本路径法-控制流图 如果判断中的条件表达式是复合条件,即条件表达式是由一个或多个逻辑运算符(or、and、nor)连接的复合条件表达式,则需要改为一系列只有单个条件的嵌套的判断 。 基本路径法-程序环路复杂性 程序的环路复杂性是一种为程序逻辑复杂性提供定量测度的软件度量,通过对程序控制流图的分析和判断来计算模块的复杂性,从程序的环路复杂性可导出程序基本路径集合中的独立路径条数。 独立路径是指包括一组以前没有处理的语句或条件的一条路径。从控制流图上看,一条独立路径是至少包含有一条在其他独立路径中从未有过的边的路径。 基本路径法-程序环路复杂性 环路复杂性的计算方法有三种: 程序的环形复杂度计算公式为:V(G)=m-n+2,其中,m是程序流图G中边的数量,n是结点的数量。 如果P是流图中判定结点的个数:V(G)=P+1。源代码IF语句及While、For或Repeat循环语句的判定结点数为1,而Case型等多分支语句的判定结点数等于可能的分支数减去1。 环路复杂度等于控制流图的区域数。 基本路径法-设计步骤 基本路径测试法设计测试用例的步骤如下: 以详细设计或源代码作为基础,导出程序的控制流图。 计算得到控制流图G的环路复杂性V(G)。 确定线性独立路径的基本集合。 生成测试用例,确保基本路径集中的每条路径执行。 基本路径法-举例 第一步:画出程序控制流图 。 基本路径法-举例 第二步:计算环路复杂性 根据流图可以算出:V(G)=m-n+2=10-7+2=5。 第三步:确定独立路径数: 路径1:①-②-③-④-⑤-⑦(A-B-C-F-J) 路径2:①-②-③-④-⑤-⑥-⑦ (A-B-C-F-G-H) 路径3:①-②-③-④-⑥-⑦ (A-B-C-I-H) 路径4:①-②-④-⑤-⑦(A-D-F-J) 路径5:①-④-⑤-⑦(E-F-J) 基本路径法-举例 第二步:计算环路复杂性 根据流图可以算出:V(G)=m-n+2=10-7+2=5。 第三步:确定独立路径数: 路径1:①-②-③-④-⑤-⑦(A-B-C-F-J) 路径2:①-②-③-④-⑤-⑥-⑦ (A-B-C-F-G-H) 路径3:①-②-③-④-⑥-⑦ (A-B-C-I-H)
原创力文档


文档评论(0)