- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第06课 白盒测试
软件测试 第三章 白盒测试 3.1 控制流测试 3.2 数据流测试 3.3 程序插装 3.4 程序变异测试 3.5 白盒测试工具 3.6 软件缺陷分析 白盒测试 白盒测试是按照程序内部的结构测试程序,检验程序中的每条通路是否都能按预定要求正确工作,而不顾它的功能。 白盒测试要求对被测程序的结构特性做到一定程度的覆盖,并以软件中的某类成分是否都已经得到测试为准则来判断软件测试的充分性,也称为基于覆盖的测试技术。 白盒测试 白盒测试要求测试人员对程序的结构和处理过程有完全的了解,一般由开发工程师负责实施。 白盒测试主要对程序模块进行以下检查: 对程序模块的所有独立的执行路径至少要测试一次。 对所有的逻辑判定,取真或假的两种情况至少要测试一次。 对程序进行边界检查(常见的如数据越界检验)。 检验内部数据结构的有效性。 白盒测试 控制流测试 一个软件程序的结构可以用控制流图来描述,程序的运行过程也可以用控制流图中的路径来刻画。 为了突出程序的内部结构,可以对程序流程图进行简化,生成由节点和控制边组成的控制流图。 白盒测试 白盒测试——控制流测试使用的方法: 语句覆盖:每条语句至少执行一次 判定覆盖:每个判定的每个分支至少执行一次 条件覆盖:每个判定的每个条件应取到各种可能的值 判定-条件覆盖:同时满足判定覆盖和条件覆盖 条件组合覆盖:每个判定中各条件的每一种组合至少出现一次 路径覆盖:使程序中每一条可能的路径至少执行一次 基本路径测试: 在程序控制流图的基础上,通过分析控制构造的环路复杂性导出基本可执行路径集合,从而设计测试用例的方法。 控制流测试方法举例 使用控制流测试方法测试以下程序段: 控制流测试方法举例 控制流测试方法举例 分析: 1. 要满足语句覆盖,执行路径通过:1→2 →8 和 1→5→6→8 即可。可设计测试用例: 1: A=1 B=1 X=0 (路径1→2 →8 ) 2: A=0 B=3 X=0 (路径1→5→6→8 ) 2. 要满足判定覆盖,两个判定表达式的取真和取假分支都要走到,执行路径为: 1→2 →8 、 1→5→8 和 1→5→6→8 ,可设计测试用例: 1: A=1 B=1 X=0 (路径1→2 →8 覆盖条件: TA) 2: A=0 B=3 X=0 (路径1→5→6→8 覆盖条件: ~TA TB) 3: A=-1 B=3 X=2 (路径1→5→8 覆盖条件: ~TA ~TB) 程序段控制流图中只有以上三条路径,可见这组测试用例也满足路径覆盖。 控制流测试方法举例 3. 要满足条件覆盖,每个判定中的每个条件的可能取值都要取到,即:T1 T2 T3 T4 ~T1 ~T2 ~T3 ~T4。观察前面设计测试用例: 1: A=1 B=1 X=0 (路径1→2 →8 覆盖条件: T1 T2) 2: A=0 B=3 X=0 (路径1→5→6→8 覆盖条件: ~ T1 ~T2 T3 T4) 3: A=-1 B=3 X=2 (路径1→5→8 覆盖条件: ~ T1 ~T2 ~T3 ~T4) 上述测试用例覆盖了4个条件产生的8种情况。 可见,这组测试用例同时覆盖了两个判定的取真分支和取假分支以及4个条件产生的8种情况,所以它们满足判定-条件覆盖的标准。 控制流测试方法举例 4. 要满足条件组合覆盖,每个判定中各条件的每一种组合至少要出现一次,在两个判定中有8种可能的组合: ① A0, B2: T1, T2 ② A0, B≥2: T1, ~T2 ③ A≤0, B2: ~T1, T2 ④ A≤0, B≥2: ~T1, ~T2 ⑤ A=0, X1: T3, T4 ⑥ A=0, X≥1: T3, ~T4 ⑦ A≠0, X1: ~T3, T4 ⑧ A≠0, X≥1: ~T3, ~T4 沿用前面设计测试用例: 1: A=1 B=1 X=0 (路径1→2 →8 覆盖条件: T1 T2 ①) 2: A=0 B=3 X=0 (路径1→5→6→8 覆盖条件: ~T1 ~T2 T3 T4 ④ ⑤) 3: A=-1 B=3 X=2 (路径1→5→8 覆盖条件: ~T1 ~T2 ~T3 ~T4 ④ ⑧) 再设计测试用例: 4: A=1 B=3 X=0 (路径1→5→6→8 覆盖条件: T1 ~T2 ~T3 T4 ② ⑦) 5: A=0 B=1 X=2 (路径1→5→6→8 覆盖条件: T1 ~T2 T3 ~T4 ③ ⑥) 以上5个测试用例满足条件组合标准。 控制流测试方法举例 白盒测试 控制流测试中,部分覆盖准则间的关系如下: 控制流测试方法举例 基本路径测试步骤: 依据程序内部逻辑画出相应的流图 计算流图的环
文档评论(0)