网站大量收购闲置独家精品文档,联系QQ:2885784924

第十六白盒测试技术精要.ppt

  1. 1、本文档共58页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
/ 白盒测试技术 几个问题 对测试过的软件有足够信心吗? 系统测试覆盖了多少代码? 某些难执行到的异常处理分支测试到了吗? 实验室条无法难模拟出真实的测试环境,怎么办? 本章学习目标 了解白盒测试的目的 了解白盒测试和黑盒测试的联系 掌握白盒测试的策略 隐藏的错误 使用一个经过运算处理后的数据作为除数进行运算: 白盒测试 又称透明盒测试、逻辑驱动测试 是测试被测单元内部如何工作的一种测试方法 允许测试人员根据程序内部逻辑结构及有关信息来设计测试用例,对程序的逻辑结构进行测试 可覆盖全部代码、分支、路径和条件等 白盒测试目的 保证一个模块中的所有独立路径至少被执行一次; 对所有的逻辑值均需要测试真、假两个分支; 在上下边界及可操作范围内运行所有循环; 检查内部数据结构以确保其有效性。 白盒测试和黑盒测试比较 白盒测试的策略 桌前检查(Desk Check) 单元测试(Unit Testing) 同行评审(Peer Review) 代码评审(Code Review) 代码走查(Walkthrough) 静态分析(static analyse) 白盒测试对测试人员的要求 了解软件语言 了解软件开发技术 有开发经验最好 掌握白盒测试工具 掌握白盒测试用例设计方法 掌握开发人员编程中容易出现的问题,不断积累经验 内容进度 白盒测试 白盒测试的目的 白盒测试和黑盒测试的联系 白盒测试的策略 代码质量 代码度量 代码检查工具 软件质量 软件质量 《GB/T16260-1996(idt ISO/IEC9126:1991)信息技术软件产品评价质量特性及其使用指南》 功能性、可靠性、易用性、效率、可维护性、可移植性 常用指标 缺陷率(缺陷密度 ) 可靠性(运行n小时失效次数) 顾客满意度 影响软件质量的因素 代码质量对软件质量的贡献 代码是软件产品中的重要部分 代码质量反映软件质量 其它非代码因素也起着关键作用 文档(设计、帮助、用户手册等) 制约程序员编写高质量代码的因素 对需求和设计的理解不透彻 对软件业务流程不熟悉 没有开发经验 对开发工具或开发语言不熟悉 受情绪因素的影响等因素 其它非代码因素也起着关键作用 如何提高代码质量 编码规范和标准 坚持标准和规范的原因 可靠性 可读性/可维护性 移植性 代码审查单 代码审查单 代码质量度量 程序复杂性:费用、周期、错误 代码度量-代码行度量 Windows的代码行复杂度 代码度量-Halstead软件科学法 程序=运算符化 + 运算元结构度量 Halstead公式 N=N1+N2=n1log2(n1)+n2log2(n2) N1=运算符出现的总次数 N2=运算元出现的总次数 n1=不同运算元的个数 n2=不同运算符的个数 代码度量-结构度量 扇入:调用该模块的模块计数; 扇出:该模块所调用的模块计数; 使用扇入、扇出来评价软件设计 具有大扇入和大扇出的模块可能是不良设计。这种模块可能未能正确分解并需要重新设计。 程序复杂性与扇出的平方成正比 McCabe度量法 辅助分析工具 对源代码进行分析经常需要辅助分析工具 白盒测试的三种覆盖标准 逻辑覆盖 基本路径覆盖 循环覆盖 逻辑覆盖测试 针对程序的内部逻辑结构设计测试用例 通过运行测试用例达到逻辑覆盖目的 要求测试人员对程序的逻辑结构非常清楚 是最传统最经典的白盒测试技术 例子代码 先看下面代码: 辅助方法-流程图 语句覆盖概念 语句覆盖-设计用例 分支(判定)覆盖概念 分支(判定)覆盖-设计用例 条件覆盖概念 条件覆盖-设计用例 条件覆盖-设计用例 测试用例(1) 测试用例(2) 分支-条件测试概念 设计足够的测试用例,使得判断中每个条件的所有可能取值至少执行一次,同时每个判断的真假分支至少执行一次,即要求各个判断的所有可能的条件取值组合至少执行一次。 分支-条件测试-设计用例 根据定义只需设计以下两个测试用例便可以覆盖8个条件值以及4个判断分支。 分析 例如对于条件表达式(x3)(z10)来说,必须两个条件都满足才能确定表达式为真。如果(x3)为假则一般的编译器不在判断是否z10了。 对于第二个表达式(x= =4)||(y5)来说,若x==4测试结果为真,就认为表达式的结果为真,这时不再检查(y5)条件了。 条件组合覆盖概念 设计足够的测试用例,运行被测试对象,使得每一个判断的所有可能的条件取值组合至少执行一次。 标记 流程图 设计测试用例 路径测试 路径测试就是设计足够多的测试用例,覆盖被测试对象中的所有可能路径。 测试用例 测试充分性 内容进度 逻辑覆盖 语句覆盖 判定(分支)覆盖 条件覆盖 判定-条件覆盖 条件组合覆盖 循环覆盖 简单循环 嵌套循环 串接循环 循环测试-简单循环 简单循环: 简

文档评论(0)

宝贝计划 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档