现代软件测试分类与比较.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二章 白盒测试 主要内容 测试的分类与比较 白盒测试的重点以及相应对策 白盒测试的方法 白盒测试的覆盖准则 白盒测试的工具 代码的持续集成和测试 1. 测试的分类与比较 1.1 测试方式 白盒测试:将程序的执行表现与编码意图作比较 关心软件内部设计和程序实现,主要测试依据是设计文档 静态质量分析 覆盖测试分析 RUNTIME问题检测 代码执行性能..... 黑盒测试: 不关心软件内部,只关心输入输出,主要测试依据是需求文档 单元测试阶段的白盒测试 代码静态质量分析 编程规则检查 覆盖测试分析 代码静态质量分析 依据ISO/IEC 9126标准、国标、国军标,采取度量统计的方法能够分析程序的某些质量因素 通过对软件进行度量,结合适当的质量模型,可以给出具有参考价值的判断结果,尤其在软件可维护性方面 进行代码静态质量分析所依据的度量理论 McCabe度量法:是由Thomas McCabe提出的一种基于程序控制流的复杂性度量方法。 HalStead度量法 McCabe度量法 基于图论,进行程序复杂度度量 V(G)=E-n+2p E为图G中的边数,n为节点数,P为连通分量个数 V(G)值过大,程序不易理解与维护 用McCabe度量法检查代码的可维护性 Halstead度量法 Halstead度量法以程序中出现的操作符和操作数为计算对象, 给出源程序后,根据程序中的这些参数,按公式可求得程序工作量的估值,其中用到以下程序参数: nl 程序中运算符出现的种类; n2 程序中运算对象出现的种类; N1 程序中运算符的总数; N2 程序中运算对象的总数。 根据这几个参数,我们可以估计程序的长度、程序量、语言抽象级别和程序工作量。这些公式为: 程序的长度: N=N1+ N2 程序量:V =(N1 + N2)log2(n1 +n2 ) 语言抽象级别: L= (2 * n2)/(nl * N2) 程序工作量:E=V/L 静态分析过程 静态质量分析(示例) 编程规则检查 进行编程规则的检查,达到增加程序的可理解性、降低维护成本的目的 编码规则 针对程序指令、运算符、代码结构、声明等方面制定规则并检查,如: 为了保证程序模块的结构化,规定不得使用GOTO语句 命名规则 对程序中局部变量、全局变量、类等的命名制定规则并检查,以利于程序的理解、维护 覆盖测试分析 衡量软件被测试执行的程度 在尽可能多地执行程序的路径,进行逻辑覆盖的同时,考察程序执行表现是否异常,尤其是某些复杂的和正常情况下不易执行的路径。 覆盖测试级别 通常从低到高分别是:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖等 对“安全-关键”软件,依据RTCA/DO-178B标准进行MCDC覆盖测试: “安全-关键”软件的MCDC覆盖测试 针对“安全-关键”软件的RTCA/DO-178B标准 此标准中最严格的为A系统级,与“异常行为能够造成或者有助于系统功能故障从而导致出现悲惨飞行器事故发生的条件”的软件相对应。 RTCA/DO-178B标准推荐了MCDC覆盖测试方法,并且规定A系统级软件必须进行MCDC覆盖测试 进行MCDC覆盖测试,要求达到以下两点标准: 被测程序中,部件的入口与出口必须至少被调用一次,程序中判断的每一个分支必须至少被执行一次 对于程序中通过逻辑运算(AND,OR,等)组成判断的基本布尔条件,每个条件必须取遍所有可能的值且每一个条件对判断的结果具有独立的作用,也就是说,判断结果随某个单独的条件的变更而变更 覆盖测试分析过程 集成测试阶段的白盒测试 代码审查 静态质量分析(侧重于调用关系、继承关系)在集成测试过程中考察函数间的调用关系、类之间的继承关系是否合理. 函数之间的调用关系是否合理采用以下指标进行计算:调用的路径数、相对调用关系中的层次数、层次复杂性、结构复杂性、系统可测性(由相对调用关系中的深度、广度综合决定) 编程规则检查 覆盖测试分析(侧重于模块间调用关系上的覆盖): 考察模块间的调用关系是否成立,同时是对模块间接口数据流的测试 RUNTIME问题检测 软件运行时(RUNTIME)问题 软件运行时(RUNTIME)问题表现 软件运行时(RUNTIME)问题危害 普遍存在 操作系统环境 软件开发环境 通过测试尽量消除软件运行时问题 依据 编码质量问题; 软件故障外在表现:随机发生,无规律 引入故障内在原因:客观存在,不变 2.白盒测试的重点以及相应对策 2.白盒测试的重点以及相应对策 2.1模块接口测试 检查进出模块的数据是否正确 Checklist: 模块的实际输入与定义的输入是否一致 个数、类型、顺序 模块中对于非内部/局部变量是否合理使用 使用其他模块时,是否检查可用性和处理

文档评论(0)

nnh91 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档