Ch3-白盒测试方法.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文档。上传文档
查看更多
软件测试方法与实践 - Ch.3 白盒测试 erdonghs@sh163a.sta.net.cn 第3章 白盒测试方法 良好测试用例的特征 可以最大程度地找出软件隐藏的缺陷 可以最高效率的找出软件缺陷 可以最大程度地满足测试覆盖要求 既不过分复杂、也不能过分简单 使软件缺陷的表现可以清楚的判定 测试用例包含期望的正确的结果 待查的输出结果或文件必须尽量简单明了 不包含重复的测试用例 测试用例内容清晰、格式一致、分类组织 3.1白盒测试 白盒测试:是一种基于源程序或代码结构的逻辑,生成测试用例以尽可能多地发现并修改源程序中的错误。白盒测试分为静态和动态两种类型: 静态分析。静态方法是指按一定步骤直接检查源代码或代码的测试方法,包括:代码审查、桌面检查、代码走查等 动态测试。动态测试是指按一定步骤生成测试用例并驱动被测程序运行来发现错误,包括:基本路径测试、边界值测试、逻辑驱动覆盖、循环测试、数据流测试、程序插装等 白盒测试 白盒测试,有时称为玻璃盒测试,是一种基于源程序或代码的测试方法。 白盒测试动态方法是使用程序设计的控制结构导出测试用例。使用这类方法,软件工程师能够产生测试用例: (1)保证一个模块中的所有独立路径至少被使用一次; (2)对所有逻辑值均需测试true和 false; (3)在上下边界及可操作范围内运行所有循环; (4)检查内部数据结构以确保其有效性。 为什么需要白盒测试 “我们应该更关注保证程序需求的实现,为什么要在逻辑细节的测试上花时间和精力呢? ” 逻辑错误和不正确假设与一条程序路径被执行的可能性成反比。人们往往会忽略非主流的偶然现象! 我们经常相信某逻辑路径不可能被执行,而事实上,它可能在正常的情况下被执行。程序的逻辑流有时是违反直觉的!只有路径测试才能发现这些问题! 笔误是随机的。当一个程序被翻译为程序设计语言源代码时,有可能产生某些笔误,很多错误将由语法检查机制发现,但是,其他的会在测试开始时才会被发现。 “错误潜伏在角落里,聚集在边界上”,而白盒测试更可能发现它! 白盒测试用例设计方法 白盒测试用例的设计方法 逻辑覆盖:以程序的内部逻辑结构为基础,分为语句覆盖、判定覆盖、判定-条件覆盖、条件组合覆盖等 基本路径测试:在程序控制流程的基础上,分析控制构造的圈复杂性,导出基本可执行路径集合,从而设计测试用例。 3.1白盒测试分类 控制结构测试 条件测试 数据流测试 循环测试 逻辑驱动覆盖测试 语句覆盖 判定(分支)覆盖 条件覆盖 判定-条件覆盖 条件组合覆盖 基本路径测试 程序插装 条件测试 条件测试 条件测试 分支测试 分支(判定)覆盖 执行足够测试用例,以覆盖软件中所有路径: - “True” 和 “False”都要有 - 通过每条分支。 例如 IF b THEN s1 ELSE s2 CASE x OF 1 : …. 2 : …. 3 : …. 分支测试- example 1 PROGRAM som ( maxint, N : INT ) 2 INT result := 0 ; i := 0 ; 3 IF N 0 4 THEN N := - N ; 5 WHILE ( i N ) AND ( result = maxint ) 6 DO i := i + 1 ; 7 result := result + i ; 8 OD; 9 IF result = maxint 10 THEN OUTPUT ( result ) 11 ELSE OUTPUT ( “too large” ) 12 END. 分支测试 3.2.2数据流测试 数据流分析通过对变量构造定义-使用对来实现。 数据流测试的基本思想是:一个变量的定义,通过辗转的使用和定义,可以影响到另一个变量的值,或影响到路径的选择等,因此,可以选择一定的测试数据,使程序按照一定变量的定义-使用路径执行,并检查执行结果是否与预期的相符,从而发现代码的错误。 数据流测试方法按照程序中的变量定义和使用的位置来选择程序的测试路径。 数据流测试 为了说明数据流测试方法,假设程序的每条语句都赋予了独特的语句号,而且每个函数都不改变其参数和全局变量。对于语句号为S的语句,   Def(S)={X|语句S包含X的定义}   Use(S)={X|语句S包含X的使用} 如果存在从S到S′的路径,并且该路径不 含X的其他定义,则称变量X在语句S处的 定义在语句S′仍有效。 变量X的“du-关联”形式如【x,S,S ′ 】 其中S和S′是语句号,x在Def(S) 和use( S′ )中,而且语句S定义

文档评论(0)

小教资源库 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档