实验二白盒测试.ppt

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
白盒测试(White-box Testing) 中科大软件学院 白盒测试的主要目的 保证一个模块中的所有独立路径至少被执行一次; 对所有的逻辑值均需要测试真、假两个分支; 在上下边界及可操作范围内运行所有循环; 检查内部数据结构以确保其有效性。 基于一个应用代码的内部逻辑知识,测试是基于覆盖全部代码、分支、路径、条件。 应用白盒法,必须有程序的规格说明以及程序清单。 如上流程图,其中包括了一个执行达20次的循环。那么它所包含的不同执行路径数高达520条,若要对它进行穷举测试,覆盖所有的路径。假使测试程序对每一条路径进行测试需要1毫秒,同样假定一天工作24小时,一年工作365 天, 那么要想把如图所示的小程序的所有路径测试完,则需要3170年。 白盒测试 白盒测试 白盒测试也称结构测试或逻辑驱动测试,是一种测试用例设计方法,它从程序内部逻辑结构及有关信息来设计和选择测试用例,对程序的逻辑路径进行测试。 白盒测试的测试方法有代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、域测试、符号测试、Z路径覆盖、程序变异。 其中运用最为广泛的是基本路径测试法。 逻辑覆盖包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖,发现错误的能力呈由弱至强的变化。 白盒测试 语句覆盖:是一个较弱的测试标准,含义为:选择足够多的测试用例,使得程序中每个语句至少执行一次; 判定覆盖(也称为分支覆盖):执行足够的测试用例,使得程序中的每一个分支至少通过一次。 条件覆盖:执行足够的测试用例,使程序中的每个判断的每个条件的每个可能取值至少执行一次; 判定/条件覆盖:执行足够的测试用例,使得判定中每个条件取到的各种可能的值,并使每个分支取到各种可能的结果; 条件组合覆盖:执行足够的例子,使得每个判定中条件的各种可能组合都至少出现一次; 基本路径测试方法:路径测试就是设计足够多的测试用例,覆盖被测试对象中的所有可能路径。 逻辑覆盖法 1、语句覆盖 PROCEDURE??M(VAR A,B,X:REAL);?? BEGIN IF (A1) AND (B=0) ?THEN X:=X/A; IF (A=2) OR (X1) ? THEN X:=X+1; END. 例如选择输入数据为: A=2,B=0,X=3 就可达到“语句覆盖”标准。 X Y 路径 1 50 50 OBDE 2 90 70 OBCE 缺点:由于这种测试方法仅针对程序逻辑中显式存在的语句,但对于隐藏的条件和可能到达的隐式逻辑分支,是无法测试的。在本例中如去掉了语句1——T,那么就少了一条测试路径。在if结构中若源代码没有给出else后面的执行分支,那么语句覆盖测试就不会考虑这种情况。 逻辑覆盖法 判定覆盖 2、判定覆盖 A=3,B=0,X=1 (沿路径acd执行)?? A=2,B=1,X=3 (沿路径abe执行) 缺点:往往大部分的判定语句是由多个逻辑条件组合而成(如,判定语句中包含AND、OR、CASE),若仅仅判断其整个最终结果,而忽略每个条件的取值情况,必然会遗漏部分测试路径。 逻辑覆盖法 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执行)。 PROCEDURE??M(VAR A,B,X:REAL);?? BEGIN IF (A1) AND (B=0) ?THEN X:=X/A; IF (A=2) OR (X1) ? THEN X:=X+1; END. 逻辑覆盖法 条件覆盖 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语句的条件组

文档评论(0)

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

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

1亿VIP精品文档

相关文档