实验二:白盒测试_201432817444460.ppt

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验二:白盒测试_201432817444460

白盒测试的主要目的 保证一个模块中的所有独立路径至少被执行一次; 对所有的逻辑值均需要测试真、假两个分支; 在上下边界及可操作范围内运行所有循环; 检查内部数据结构以确保其有效性。 基于一个应用代码的内部逻辑知识,测试是基于覆盖全部代码、分支、路径、条件。 应用白盒法,必须有程序的规格说明以及程序清单。 白盒测试 如上流程图,其中包括了一个执行达20次的循环。那么它所包含的不同执行路径数高达520(=1013)条,若要对它进行穷举测试,覆盖所有的路径。假使测试程序对每一条路径进行测试需要1毫秒,同样假定一天工作24小时,一年工作365 天, 那么要想把如图所示的小程序的所有路径测试完,则需要3170年。 白盒测试 白盒测试也称结构测试或逻辑驱动测试,是一种测试用例设计方法,它从程序内部逻辑结构及有关信息来设计和选择测试用例,对程序的逻辑路径进行测试。 白盒测试的测试方法有代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、域测试、符号测试、Z路径覆盖、程序变异。 其中运用最为广泛的是基本路径测试法。 逻辑覆盖包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖,发现错误的能力呈由弱至强的变化。 白盒测试 语句覆盖:是一个较弱的测试标准,含义为:选择足够多的测试用例,使得程序中每个语句至少执行一次; 判定覆盖(也称为分支覆盖):执行足够的测试用例,使得程序中的每一个分支至少通过一次。 条件覆盖:执行足够的测试用例,使程序中的每个判断的每个条件的每个可能取值至少执行一次; 判定/条件覆盖:执行足够的测试用例,使得判定中每个条件取到的各种可能的值,并使每个分支取到各种可能的结果; 条件组合覆盖:执行足够的例子,使得每个判定中条件的各种可能组合都至少出现一次; 基本路径测试方法:路径测试就是设计足够多的测试用例,覆盖被测试对象中的所有可能路径。 逻辑覆盖法 逻辑覆盖法 逻辑覆盖法 3、条件覆盖  程序有四个条件: ???????? 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 等各种结果出现。 现在只需设计以下两个测试用例就可满足这一标准: ① A=2,B=0,X=4??(沿路径ace执行); ② A=1,B=1,X=1?? (沿路径abd执行)。 逻辑覆盖法 逻辑覆盖法 4、组合覆盖   再看例1的程序,我们需要选择适当的例子,使得下面 8种条件组合都能够出现: 1)A1, B=0? 2) A1, B≠0 3) A≤1, B=0 4) A≤1, B≠0 5) A=2, X1 6) A=2,X≤1 7) A≠2, X1 8) A≠2, X≤1 5)、 6)、 7)、8)四种情况是第二个 IF语句的条件组合。 逻辑覆盖法 4、组合覆盖 下面设计的四个例子可以使上述 8种条件组合至少出现一次: ① A=2,B=0,X=4 使 1)、5)两种情况出现; ② A=2,B=1,X=1 使 2)、6)两种情况出现; ③ A=1,B=0,X=2 使 3)、7)两种情况出现; ④ A=1,B=1,X=1 使 4)、8)两种情况出现。 上面四个例子虽然满足条件组合覆盖,但并不能覆盖程序中的每一条路径,例如路径acd就没有执行,因此,条件组合覆盖标准仍然是不彻底。 逻辑覆盖法 5、路径覆盖   1)主要特点:设计足够的测试用例,覆盖程序中所有可能的路径。   2)用例设计: 逻辑覆盖法 5、路径覆盖 优点:这种测试方法可以对程序进行彻底的测试,比前面五种的覆盖面都广。 缺点:由于路径覆盖需要对所有可能的路径进行测试(包括循环、条件组合、分支选择等),那么需要设计大量、复杂的测试用例,使得工作量呈指数级增长。而在有些情况下,一些执行路径是不可能被执行的,如:  If? (!A)B++;   If? (!A)D--;   这两个语句实际只包括了2条执行路径,即A为真或假时候对B和D的处理,真或假不可能都存在,而路径覆盖测试则认为是包含了真与假的4条执行路径。这样不仅降低了测试效率,而且大量的测试结果的累积,也为排错带来麻烦。 基本路径测试方法 基本路径测试法是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例的方法。 基本路径测试方法包括4个步骤: 1.画出程序的控制流图:描述程序控制流的一种图示方法。 2.计算程序圈复杂度:McCabe复

文档评论(0)

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

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

1亿VIP精品文档

相关文档