软件测试用例(白盒).pptVIP

  1. 1、本文档共18页,可阅读全部内容。
  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文档。上传文档
查看更多
软件测试用例(白盒).ppt

实用软件测试培训 测试方法 软件结构测试方法 白盒法考虑的是测试用例对程序内部逻辑的覆盖程度。最彻底的白盒法是覆盖程序中的每一条路径,但是由于程序中一般含有循环,所以路径的数目极大,要执行每一条路径是不可能的,只能希望覆盖的程度尽可能高些。 为了衡量测试的覆盖程度,需要建立一些标准,目前常用的一些覆盖标准从低到高分别是: 语句覆盖。 判定覆盖。 条件覆盖。 判定/条件覆盖。 条件组合覆盖 语句覆盖:就是设计若干个测试用例,运行所测程序,使得每一条可执行语句至少执行一次。 判定覆盖(或称分支覆盖) :执行足够的测试用例,使得程序中的每一个分支至少都通过一次。 条件覆盖”:执行足够的测试用例,使得判定中的每个条件获得各种可能的结果。 判定/条件覆盖:执行足够的测试用例,使得判定中每个条件取到各种可能的值,并使每个判定取到各种可能的结果。 条件组合覆盖:执行足够的例子,使得每个判定中条件的各种可能组合都至少出现一次。 一个程序模块的例子 一个程序模块的例子 4条路径应该满足的逻辑表达式分别为: 设定:M={(A>1)and(B=0)};N={(A=2)or(X/A>1)},”/M”表示M的反,”/N”表示N的反 L1(a→c→e)= M and N = {(A>1)and(B=0)}and {(A=2)or(X/A>1)} L2(a→b→d)=/M and /N = {(A>1)and(B=0)}and {(A=2)or(X/A>1)} L3(a→b→e)=/M and N = {(A>1)and(B=0)}and {(A=2)or(X/A>1)} L4(a→c→d)= M and /N = {(A>1)and(B=0)}and {(A=2)or(X/A>1)} 由符号”and”连接起来的语句是为了遍历这条路径各个输入变量应取值的范围,而由”or”划分了几组可选的取值。 根据上面的逻辑表达式,就可以用来设计测试用例了。 语句覆盖 语句覆盖就是设计若干个测试用例,运行所测程序,使得每一条可执行语句至少执行一次。 结合上面的例子,所有可执行语句就在路径L1上,所以选择路径L1来设计测试用例,就能覆盖所有的可执行语句。 测试用例的设计格式如下: [输入的(A,B,X),输出的(A,B,X)] 为覆盖路径: L1(a→c→e)= M and N。 能够设计的测试用例: [(2,0,4),(2,0,3)],覆盖ace[L1]。 语句覆盖 在程序中执行每一段的语句 if (condition) { DO_SOMETHING; } 把条件 condition 设为真的测试案例,就能全覆盖上面的语句 语句覆盖并不意味着执行每一行的语句 语句覆盖 优点 最简单的结构测试覆盖 易于自动化 易于实现大量的代码覆盖 缺点 语句覆盖所用标准是结构测试里最弱的 仅测试条件语句的一方面 判断覆盖 所谓判断覆盖就是运行所测程序,使得程序中每个判断取“真”的分支和取“假”的分支至少经历一次,判断覆盖又称为分支覆盖。 我们依然结合开始的例子。 如果选择路径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),(1,1,1)],覆盖acd[L4] 条件覆盖 一个判定中往往包含了若干个条件,例如程序中,判定 (A>1) AND (B=0)包含了两个条件: A>1以及 B=0,所以可引进一个更强的覆盖标准——“条件覆盖”。 “条件覆盖”的含义是:执行足够的测试用例,使得判定中的每个条件获得各种可能的结果。 ??? 程序有四个条件: A>1、 B=0、A=2、X>1 为了达到“条件覆盖”标准,需要执行足够的测试用例使得在a点有: A>1、A≤1、B=0、B≠0 等各种结果出现,以及在b点有: A=2、A≠2、X>1、X≤1 等各种结果出现。 判断-条件覆盖 针对上面的问题引出了另一种覆盖标准——“判定/条件覆盖”,它的含义是:执行足够的测试用例,使得判定中每个条件取到各种可能的值,并使每个判定取到各种可能的结果。 判断-条件覆盖 “判定/条件覆盖”似乎是比较合理的,但事实并非如此,因为大多数计算机不能用一条指令对多个条件作出判定,而必须将源程序中对多个条件的判定分解成几个简单判定,所以较彻底的测试应使每一个简

文档评论(0)

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

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

1亿VIP精品文档

相关文档