白盒测试方法讲解.pptVIP

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

白盒测试 此方法把测试对象看做一个透明的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。 通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。 软件人员使用白盒测试方法,主要想对程序模块进行如下的检查: 对程序模块的所有独立的执行路径至少测试一次; 对所有的逻辑判定,取“真”与取“假”的两种情况都至少测试一次; 在循环的边界和运行界限内执行循环体; 测试内部数据结构的有效性等。 逻辑覆盖 语句覆盖 判定覆盖 条件覆盖 (1)语句覆盖 语句覆盖是最弱的逻辑覆盖 语句覆盖对程序的逻辑覆盖很少,在上面例子中两个判定条件都只测试了条件为真的情况,如果条件为假时处理有错误,显然不能发现。 此外,语句覆盖只关心判定表达式的值,而没有分别测试判定表达式中每个条件取不同值的情况。如果程序中把第一个判定表达式中逻辑运算符“AND”错写成“OR”或误把第二个表达式的条件“X1”误写成“X1”使用上面的测试数据并不能查出这些错误。 (2)判定覆盖(分支覆盖) (3)条件覆盖 第一判定表达式: 设条件 A1 取真 记为 T1 假 T1 条件 B=1 取真 记为 T2 假 T2 第二判定表达式: 设条件 A=2 取真 记为 T3 假 T3 条件 X1 取真 记为 T4 假 T4 (4)判定/条件覆盖 选取足够多的测试用例,使判断中的每个条件的所有可能取值至少执行一次,同时每个判断本身的所有可能判断结果至少执行一次。 (5)条件组合覆盖 条件组合覆盖 所有可能的条件取值组合至少执行一次 A1, B=0 A1, B≠0 A≯1, B=0 A≯1, B≠0 A=2, X1 A=2, X≯1 A≠2, X1 A≠2, X≯1 程序控制流程图 符号○为控制流图的一个结点,表示一个或多个无分支的PDL(程序设计语言)语句或源程序语句。箭头为边,表示控制流的方向。 在选择或多分支结构中,分支的汇聚处应有一个汇聚结点。 边和结点圈定的区域叫做区域,当对区域计数时,图形外的区域也应记为一个区域。 如果判断中的条件表达式是由一个或多个逻辑运算符 (OR, AND, ...) 连接的复合条件表达式,则需改为一系列只有单个条件的嵌套的判断。 程序环路复杂性 程序的环路复杂性给出了程序基本路径集中的独立路径条数,这是确保程序中每个可执行语句至少执行一次所必需的测试用例数目的上界。 从控制流图来看,一条独立路径是至少包含有一条在其它独立路径中从未有过的边的路径。 导出测试用例 导出测试用例,确保基本路径集中的每一条路径的执行。 根据判断结点给出的条件,选择适当的数据以保证某一条路径可以被测试到 — 用逻辑覆盖方法。 这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。 黑盒测试又叫做功能测试或数据驱动测试。 黑盒测试与白盒测试优缺点比较 谢谢大家! ④准备测试案例,强制执行基本集中的每条路径 准备路径4:1-2-3-4-5-8-9-2... 测试案例: i = 1; Total.input = total.valid = 0; ⑴ Sum = 0; DO WHILE value[i] -999 ⑵ AND total.input 100 ⑶ increment total.input by 1; ⑷ IF vale[i] = minimum ⑸ AND vale[i] = maximum ⑹ THEN increment total.valid by 1; sum = sum + value[i]; ⑺ ELSE skip; ENDIF increment i by 1; ⑻ ENDDO ⑼ IF total.valid 0 ⑽ THEN average = sum / total.valid; ⑾ ELSE average = -999; ⑿ ENDIF ⒀ 路径4测试案例: value[k]=有效输入 (其中k100) value[i] 最小值 (其中ik

文档评论(0)

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

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

1亿VIP精品文档

相关文档