- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第三章结构性测试
第三章 结构性测试 目 录 3.1 结构性测试概述 3.1 结构性测试概述 3.1 结构性测试概述 3.1 结构性测试概述 3.1 结构性测试概述 3.2 逻辑覆盖--举例 3.2 逻辑覆盖--语句覆盖 3.2 逻辑覆盖--判定覆盖 3.2 逻辑覆盖--条件覆盖 3.2 逻辑覆盖--条件覆盖测试用例 3.2 逻辑覆盖--判定--条件覆盖 3.2 逻辑覆盖--分解例子 3.2 逻辑覆盖--条件组合覆盖 3.2 逻辑覆盖--条件组合覆盖测试用例 * 3.1 结构性测试概述3.2 逻辑覆盖3.3 路径测试3.4 数据流测试 结构性测试又叫做白盒测试,或透明盒测试。 输入 输出 A C D E F B 结构性测试是根据程序实现来设计测试用例。 此方法把测试对象看做一个透明的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。 通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。 结构性测试主要检查内容: 对程序模块的所有独立的执行路径至少测试一次; 对所有的逻辑判定,取“真”与取“假”的两种情况都至少测试一次; 在循环的边界和运行界限内执行循环体;等等 结构性测试的主要方法: 逻辑覆盖,是以程序内部的逻辑结构为基础的设计测试用例的技术,它属白盒测试。 - 语句覆盖 - 判定覆盖 - 条件覆盖 - 判定-条件覆盖 - 条件组合覆盖 路径测试 数据流测试 覆盖率是用来度量测试完整性的一个手段: - 逻辑覆盖 - 功能覆盖 覆盖率可以通过一个公式来表示: 覆盖率 = (至少被执行一次的item数)/item的总数; 覆盖率的意义: - 为测试是否充分提供依据; (A1)∧(B=0) x=x/A (A=2)∨(x1) x=x+1 T T F F a c b d e 路径: L1 (a?c?e) L2 (a?b?d) L3 (a?b?e) L4 (a?c?d) 语句覆盖就是设计若干个测试用例,运行被测程序,使得每一可执行语句至少执行一次。 在图例中,正好所有的可执行语句都在路径L1上,所以选择路径 L1设计测试用例,就可以覆盖所有的可执行语句。 L1:(A=2) and (B=0) or (A1) and (B=0) and (X/A1) 如果将例子中的∧和∨互换,使用该用例仍可覆盖所有4个可执行语句; 语句覆盖可能发现不了判断中逻辑运算中出现的错误; 【(2, 0, 4),(2, 0, 3)】覆盖 ace【L1】 判定覆盖就是设计若干个测试用例,运行被测程序,使得程序中每个判断的取真分支和取假分支至少经历一次。 L1: (A=2) and (B=0) or (A1) and (B=0) and (X/A1) L2: (A=1) and (X=1) or (B0) and (A2) and (X=1) 如果将X1错写成X1,利用上面的测试用例仍可得到同样的结果; 只是判定覆盖不能保证一定能查出在判断条件中存在的错误; 【(2, 0, 4),(2, 0, 3)】覆盖 ace【L1】【(1, 1, 1),(1, 1, 1)】覆盖 abd【L2】 条件覆盖就是设计若干个测试用例,运行被测程序,使得程序中每个判断的每个条件的可能取值至少执行一次。 对于第一个判断: 条件 A>1 取真为 T1,取假为!T1条件 B=0 取真为 T2,取假为!T2 对于第二个判断: 条件A=2 取真为 T3,取假为!T3 条件X>1 取真为 T4,取假为!T4 b,e T1 !T2 T3 !T4 abe(L3) 【(2, 1, 1),(2, 1, 2)】 b,d !T1 T2 !T3 T4 abd(L2) 【(1, 0, 1),(1, 0, 1)】 c,e T1 T2 T3 T4 ace(L1) 【(2, 0, 4),(2, 0, 3)】 覆盖分支 条件取值 通过路径 测试用例 b,e T1 !T2 T3 !T4 abe(L3) 【(2, 1, 1),(2, 1, 2)】 b,e !T1 T2 !T3 T4 abe(L3) 【(1, 0, 3),(1, 0, 4)】 覆盖分支 条件取值 通过路径 测试用例 判定-条件覆盖就是设计足够的测试用例,使得判断中每个条件的所有可能取值至少执行一次,同时每个判断的所有可能判断结果至少执行一次。 b,d !T1 !T2 !T3 !T4 abd(L2) 【(1, 1, 1),(1, 1, 1)】 c,e T1 T2 T3 T4 ace(L1) 【(2, 0, 4),(2, 0, 3)】 覆盖分支 条件取值 通过路径 测试用例 and or A1 T B=0 T X=X/A T F F A=2 T
文档评论(0)