网站大量收购闲置独家精品文档,联系QQ:2885784924

白盒和黑盒测试用例设计方法.doc

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE 1 白盒测试方法 语句覆盖 语句覆盖就是设计若干个测试用例, 运行所测程序,使得每一可执行语句至少执行一次. 对上面例子, 正好所有的可执行语句都在路径L1上, 所以选择路径L1来设计测试用例,就可覆盖所有的可执行语句. 测试用例的设计格式如下: [输入(A,B,X), 预期的输出(A,B,X)] 可设计出满足语句覆盖的测试用例是: [(2,0,4), (2,0,3)], 覆盖ace [L1] 从每个执行语句都得到执行这一点来看, 语句覆盖的方法似乎能够比较全面地经验每个可执行语句. 但实际上并非如此. 不足:假如该程序段中的两个逻辑运算有问题, 例如, 第一个判断中的逻辑运算符∧错写成了∨, 或者第二个判断中的逻辑运算符∨错写成了∧, 利用上面的测试用例, 仍然可覆盖所有4个可执行语句. 这说明虽然做到了语句覆盖测试, 但可能发现不了判断中逻辑运算中出现的错误. 语句覆盖是最弱的逻辑覆盖准则. 判定覆盖 判定覆盖就是设计若干个测试用例, 运行所测程序, 使得程序中每个判断的取TURE分支和取FALSE分支至少经历一次. 判断覆盖又称分支覆盖. 根据定义,可分别选择路径L1 和L2 或路径L3和L4设计测试用例. 如果选择路径L1 和L2, 可得到满足要求的测试用例: [(2,0,4), (2,0,3)], 覆盖ace[L1] [(1,1,1), (1,1,1)], 覆盖abd[L2] 如果选择路径L3和L4, 可设计另一组测试用例: [(2,1,1), (2,1,2)], 覆盖abe[L3] [(3,0,3), (3,1,1)], 覆盖acd[L4] 可看出,测试用例的选择不唯一. 不足: 假如第二个判断中的条件x1被错写成了x1, 利用上面两组测试用例, 仍能得到同样的结果. 这表明, 只是判断覆盖, 还不能保证一定能查出在判断的条件中存在的错误. 条件覆盖 条件覆盖就是设计若干个测试用例, 运行所测程序, 使得程序中每个判断的每个条件的可能取值至少执行一次. 因此首先要对所有的条件加以标记: 对第一个判断: 条件 A1 取TURE 时为 T1, 取FALSE时为 F1 条件 B=0 取TURE 时为 T2, 取FALSE时为 F2 对第二个判断: 条件 A=2 取TURE 时为 T3, 取FALSE时为 F3 条件 x1 取TURE 时为 T4, 取FALSE时为 F4 根据这8个条件取值, 可分别设计如下两组测试用例: 表1(第一组): 测试用例 通过路径 条件取值 覆盖分支 [(1,0,3), (1,0,4)] abe(L3) F1,T2,F3,T4 b,e [(2,1,1), (2,1,2)] abe(L3) T1,F2,T3,F4 b,e 表2(第二组) 测试用例 通过路径 条件取值 覆盖分支 [(2,0,4), (2,0,3)] ace (L1) T1,T2,T3,T4 c,e [(1,0,1),(1,0,1)] abd(L2) F1,T2,F3,F4 b,d [(2,1,1),(2,1,2)] abe(L3) T1,F2,T3,F4 b,e 从表1和2可看出, 两组测试用例都满足了条件覆盖, 即覆盖了所有的条件取值. 不足: 第一组测试用例不满足判定(分支)覆盖要求. 判定-条件覆盖 判定-条件覆盖就是设计足够的测试用例,使得判断中每个条件的所有可能取值至少执行一次,同时每个判断的所有可能判断结果至少执行一次. 也就是说要求各个判断的所有可能的条件取值组合至少执行一次. 根据判定-条件覆盖的定义, 只需设计下面两个测试用例便可覆盖例子的8个条件取值以及4个判断分支. 测试用例 通过路径 条件取值 覆盖分支 [(2,0,4), (2,0,3)] ace(L1) T1,T2,T3,T4 c,e [(2,1,1), (2,1,2)] abd(L2) F1,F2,F3,F4 b,d 不足: 表面来看, 判断-条件覆盖测试了所有条件的取值, 但实际上并非如此, 而是某些条件掩盖了另一些条件(由于多重条件判定). 例如, 对条件表达式(A1) AND (B=0) 来说, 若(A1)的测试结果为FALSE 时, 可以立即确定表达式的结果为FALSE, 这时往往就不再测试(B=0)的取值了, 因此, 条件(B=0)就没有被检查. 同样, 对条件表达式(A=2) OR (x1)来说, 若(A=2)的测试结果为TURE时, 就立即确定表达式的结果为TURE, 这时, 条件(x1)就没有被检查. 因此, 采用判定-条件覆盖测试, 逻辑表达式中的错误不一定能够查得出来. 条件组合覆盖 条件组合覆盖就是实际足够得测试用例, 运行所测程序, 使得每个判断得所有可能得条件取值组合至少执行一次.

您可能关注的文档

文档评论(0)

xieliandimei + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档