北京大学工程硕士软件工程教第六章软件测试技术.pptVIP

北京大学工程硕士软件工程教第六章软件测试技术.ppt

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
北京大学工程硕士软件工程教第六章软件测试技术

第六章、软件测试技术 环境 被测对象 人员素质 被测对象模型 测试执行 正确? 环境模型 错误模型 ? 软件测试过程所涉及的要素,以及 ? 这些要素之间的关系 正确 1) 测试过程模型 2)依据程序逻辑结构-白盒测试技术 (1)关于建立被测对象模型 控制流程图:结点/分支/过程块/链 路径 1 2 3 6 4 5 7 X5 and Y3 其中:节点1、节点3、节点5、节点6、节点7为过程块 节点2为分支,节点4为结点 例如:以下为一个程序流程图,其中该例子中有两个判断, 每个判断都包含复合条件的逻辑表达式。 (A?1)?(B=0) (A=2)?(X?1) X=X/A X=X+1 a b c d e F T T F 其控制流程图为: (A?1) ? (B=0) X=X/A (A=2) ? (X?1) X=X+1 T T a c b d e 结点1 结点2 (2)“完整测试”策略 该控制流程图有4条不同的路径。4条路径可表示为: L1(a→c→e)简写ace 、L2(a→b→d)简写abd L3(a→b→e)简写abe 、L4(a→c→d)简写acd ? 路径测试(PX):执行所有可能的穿过程序的控制 流程路径。 一般来说,这一测试严格地限制为所有可能的入口/出 口路径。如果遵循这一规定,则我们说达到了100%路径覆盖 率。在路径测试中,该策略是最强的,但一般是不可实现的。 针对该例子,要想实现路径覆盖,可选择以下一组测试 用例(规定测试用例的设计格式为:【输入的(A,B,X), 输出的(A,B,X)】)。 测 试 用 例 覆盖路径 【(2,0,4),(2,0,3)】 L1 【(1,1,1),(1,1,1)】 L2 【(1,1,2),(1,1,3)】 L3 【(3,0,3),(3,0,1)】 L4 ? 语句测试(P1):至少执行程序中所有语句一次。 如果遵循这一规定,则我们说达到了100%语句覆盖率( 用C1表达)。 在该例子中,只要设计一种能通过路径ace的测试用例, 就覆盖了所有的语句。所以可选择测试用例如下: 【(2,0,4),(2,0,3)】 覆盖L1 语句覆盖是最弱的逻辑覆盖准则。 问题:就该程序而言,如果两个判断的逻辑运算写错, 例如,第一个判断中的逻辑运算符“∧”错写成了“∨”,或 者第二个判断中的逻辑运算符“∨”错写成了“∧”,利用上面 的测试用例,仍可覆盖所有4个可执行路径,而发现不了判 断中逻辑运算符出现的错误。 ? 分支测试(P2):至少执行程序中每一分支一次。如果 遵循这一规定,则我们说达到了100%分支覆盖率(用C2表示)。 分支覆盖是一种比语句覆盖稍强的逻辑覆盖。但若程序中 分支的判定是由几个条件联合构成时,它未必能发现每个条件 的错误。 例如对于以上例子,如果选择路径L1和L2,就可得到实现 分支覆盖的测试用例: 【(2,0,4),(2,0,3)】 覆盖L1 【(1,1,1),(1,1,1)】 覆盖L2 如果选择路径L3和L4,还可得另一组可用的测试用例: 【(2,1,1),(2,1,2)】 覆盖L3 【(3,0,3),(3,1,1)】 覆盖L4 问题:分支覆盖还不能保证一定能查出在判断的条件中存 在的错误。例如,在该例子中,若第二个分支X1错写成X1, 利用上述两组测试用例进行测试,无法查出这一错误。因此, 需要更强的逻辑覆盖准则去检验判定的内部条件。 ? 条件组合测试 条件组合测试是一种具有更强逻辑覆盖的测试。 条件组合测试,就是设计足够的测试用例,使每个判定 中的所有可能的条件取值组合至少执行一次。如果遵循这一 规定,则我们说就实现了条件组合覆盖。只要满足了条件组 合覆盖,就一定满足分支覆盖。 在条件组合覆盖技术发展过程中,最初,在设计测试用 例时,人们只考虑使分支中各个条件的所有可能结果至少出 现一次。但发现该测试技术未必能覆盖全部分支。例如,在 上图的例子中,程序段中有四个条件:A1,B=0,A=2,X1。 条件A>1 取真值标记为T1,取假值标记为F1

文档评论(0)

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

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

版权声明书
用户编号:6212135231000003

1亿VIP精品文档

相关文档