好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

白盒测试介绍.doc

58页
  • 卖家[上传人]:汽***
  • 文档编号:555606825
  • 上传时间:2023-06-24
  • 文档格式:DOC
  • 文档大小:2.11MB
  • / 58 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 第 6 章 白盒测试技术相关知识点软件测试方法 :分为两类( 1)静态测试:不要求在计算机上实际执行所测程序,主要以一些人工的模拟技术对软件进行分析和测试( 2)动态测试:通过输入一组预先按照一定的测试准则构造的实例数据动态运行程序,而达到发现程序错误的过程,特点如下:●必须生成测试数据来运行被测试程序, 取得程序运行的真实情况、 动态情况, 进而进行分析●测试质量依赖于测试数据●生成测试数据,分析测试结果的工作量大,使开展测试工作费时、费力、费人●动态测试中涉及多方面工作,人员多,设备多,数据多,要求有较好的管理和工作规程一.概述1. 定义白盒测试:也称结构测试或逻辑驱动测试, 按照程序内部的结构对程序进行测试,通过测试来检查产品内部动作是否按照设计规格说明书的规定正常进行, 检查程序中的每条通路是否能按照预定要求正确工作白盒测试又称为逻辑驱动测试, 根据软件概要设计和详细设计说明文档生成用于白盒测试的测试用例2. 测试内容把测试对象看成是一个打开的盒子, 测试人员依据程序内部逻辑结构相关信息,设计或选择测试用例, 对程序的所有逻辑路径进行测试, 通过不同点检查程序的状态,确定实际的状态与预期的状态一致3. 测试基本技术( 1)词法分析与语法分析( 2)静态错误分析( 3)程序插桩技术4. 测试方法( 1)代码检查法( 2)静态结构分析法( 3)静态质量度量法( 4)逻辑覆盖法( 5)基本路径测试法( 6)域测试( 7)符号测试( 8) Z 路径覆盖( 9)程序变异5.黑盒测试与白盒测试比较黑盒测试不涉及程序结构用软件规格说明书生成测试用例白盒测试考查程序逻辑结构用程序结构信息生成测试用例可适用于从单元测试到系统联调 适用于单元测试和集成测试某些代码段得不到测试 对所有逻辑路径进行测试二.白盒测试基本技术1.词法和语法分析( 获取信息、作用 )(1)获取信息可以获取软件组成的重要基本因数,如变量标识符、过程标识符、常量等组合获取的基本因数,可以得到软件的基本信息,如:标号交叉引用表: 列出各模块中出现的全部标号及标号的属性, 模块以外的全局、计算标号变量交叉引用表: 列出变量定义及引用信息, 变量的属性,变量类型(全局、局部)子程序、宏和函数表:列出各个子程序、宏及函数的属性,输入、输出参数信息等价表:列出在等价语句和等值语句中出现的全部变量和标号常数表:列出全部数字常数和字符常数(2)作用直接从表中查出说明 / 使用错误,如标号交叉引用表、变量交叉引用表为用户提供辅助信息,如子程序、宏和函数表、等价表、常数表用来做错误预测和程序复杂度计算,如操作符和操作数的统计表2.静态错误分析( 类型和单位分析、引用分析、表达式分析、接口分析 )用于确定在源程序中是否有某类错误或‘危险’结构,包括以下几种:(1) 类型和单位分析对源程序的类型进行检查,为了强化检查效果,扩充一些新的数据类型,进行静态预处理程序,分析程序中的类型错误(2) 引用分析对程序中变量的引用进行检查,发现引用异常错误(如变量在定义前被引用,变量定义后未被引用) 。

      采用深度优选的方法遍历程序流图的每一条路径建立引用异常的探测工具,包括变量定义表和变量引用表(3) 表达式分析对表达式进行分析,以发现和纠正在表达式出现的错误,如:在表达式中不正确的使用了括号造成错误数组下标越界错误除数为零浮点数计算的误差(最复杂)(4) 接口分析接口一致性是程序的静态错误分析和设计分析共同研究的题目, 接口分析主要对下内容时进行一致性的分析:各模块之间接口一致性模块与外部数据库的接口一致性形参与实参在类型,数量,顺序,维数,使用上的一致性全局变量和公共数据区在使用上的一致性3.程序插桩技术 (设计时考虑的问题、探测点设置位置、断言语句 )(1) 概述在动态测试中,是一种基本的测试手段,有广泛的应用主要借助向程序中插入操作,来实现测试目的的方法(即向源程序中添加一些语句(也称探测器) ,实现对程序语句的执行、变量的变化等情况进行检查)(2) 设计时考虑的问题明确要探测哪些信息在程序的什么部位设置探测点需要设计多少个探测点(3) 探测点设置位置(以 Fortran 为例)程序块的第一个可执行语句之前entry 语句的前后有标号的可执行语句处循环语句之后条件语句之后logical if 语句之后call 语句之后go to 语句之后(4) 断言语句在程序中的特定部位插入某些用以判断变量特性的语句, 使得程序执行中这些语句得以证实,从而使程序的运行特性得到证实,我们把这些插入的语句称为断言语句。

      三、白盒测试方法-静态测试静态测试 :代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、其他测试法(域测试、符号测试、 Z 路径覆盖、程序变异) 1. 代码检查法(1) 目的通过桌面检查,代码审查和走查方式,对以下内容进行检查检查代码和设计的一致性代码对标准的遵循、可读性代码逻辑表达的正确性代码结构的合理性程序编写与编写标准的符合性程序中不安全、不明确和模糊的部分编程风格问题等(2) 代码检查方式方式 执行人员 检查内容 检查过程名称桌面检程序员对源程序代码进行分析、检验,并补充相关的文档,发查现程序中的错误代码审程序员和通过阅读、讨论第一步:小组成员提前阅读设计规格测试员组和争议,以程序书、程序文本等相关文档查成的审查进行静态分析小组 的过程程序员和 通过逻辑运行测 试 员 组 程序,发现问题走查 成的审查小组第二步:召开程序审查会, 开发人员读程序,审查小组讨论、发现、解决问题第一步:小组成员提前阅读设计规格书、程序文本等相关文档第二步:利用测试用例, 使程序逻辑运行,记录程序的踪迹,发现、讨论、解决问题(3) 代码检查项目(采用分析技术)检查变量的交叉引用表:检查未说明的变量和违反了类型规定的变量,变量的引用和使用情况检查标号的交叉引用表:验证所有标号的正确性检查子程序、宏、函数:验证每次调用与所调用位置是否正确,调用的子程序、宏、函数是否存在,参数是否一致等价性检查:检查全部等价变量的类型的一致性常量检查:确认常量的取值和数制、数据类型标准检查:检查程序中是否违反标准的问题风格检查:检查程序的设计风格比较控制流:比较设计控制流图和实际程序生成的控制流图的差异选择、激活路径:在设计控制流图中选择某条路径,到实际的程序中激活这条路径,如果不能激活,则程序可能有错对照程序的规格说明,详细阅读源代码,比较实际的代码,从差异中发现程序的问题和错误补充文档根据以上检查项目,可以编制代码规则,规范和检查表等作为测试用例(4) 编码规范程序编写过程中必须遵守的规则,规定代码的语法格式、语法规则,如排版、注释、标识符命名、可读性、变量、函数、过程、可测性、程序效率、质量保证、代码编辑、编译、审查、代码测试、维护、宏等各方面的编码要求(5) 代码检查规则对程序逻辑结构检查时,所规定的规则,形成(6) 缺陷检查表主要包括一些容易出错的地方和在以往工作中遇到的典型错误,形成表格形式重要性 审查项 结论文件结构 重要 头文件和定义文件的名称是否合理2. 静态结构分析法在静态结构分析中,测试者通过 使用测试工具 分析程序源代码的系统结构、数据结构、数据接口、内部控制逻辑等内部结构,生成 函数调用关系图、模块控制流图 、内部文件调用关系图等各种图形图表,清晰地标识整个软件的组成结构,便于理解,通过分析这些图表,检查软件有没有存在缺陷或错误;包括控制流分析、数据据流分析、接口分析、表达式分析(1) 函数调用关系图: 通过应用程序各函数之间的调用关系展示了系统的结构。

      列出所有函数,用连线表示调用关系,作用:可以检查函数的调用关系是否正确是否存在孤立的函数而没有被调用明确函数被调用的频繁度,对调用频繁的函数可以重点检查(2) 模块控制流图:由许多结点和连接结点的边组成的图形,其中每个结点代表一条或多条语句,边表示控制流向,可以直观地反映出一个函数的内部结构 例子 1-GIS 软件:存在无法执行的死代码;有多个出口,可能没有在所有出口进行内存释放与回收,有内存泄露的可能* 例子 2-MIS软件:有多个出口,存在内存泄露的可能;有点,易出现逻辑错误,降低可靠性,可能会破坏对优化的处理,影响其运行性能3. 静态质量度量法10 逻辑判断结CPU操作进行(1) 软件质量:根据 ISO/IEC9126 国际标准,包括以下六个方面:功能性( functionality )可靠性( reliability )可用性( usability )有效性( efficiency )可维护性( maintainability )轻便性( portability )(2) 质量度量模型(从上到下)质量因素( Factors ):与分类标准的计算方式相似,依据各分类标准取值组合权重方法来计算,依据结果将软件质量分为四个等级,与分类标准等级内容相同分类标准( criteria ):对某一软件质量分为不同的分类标准,每个分类标准由一系列度量规则组成,每个规则分配一个权重,每个分类标准的取值由规则的取值与权重值计算得出, 依据结果将软件质量分为四个等级:优秀( excellent ):符合本模型框加中的所有规则(可以接受)良好( good):未大量偏离模型框架中的规则(可以接受)一般( fair ):违背了模型框架中的大量规则(可以接受)较差( poor ):无法保障正常的软件可维护性(不可以接受)度量规则( Metrics ):使用代码行数、注释频度等参数度量软件各种行为属性四. 白盒测试方法-动态测试(即设计测试用例的方法)1. 白盒测试的动态测试原则 -根据程序的控制结构设计测试用例(1) 保证每个模块的所有独立路径至少被使用一次(2) 对所有的逻辑值均测试 true 和 false(3) 上下边界及可操作范围内运行所有循环(4) 检查内部数据结构以确保其有效性2. 逻辑覆盖法(1) 概述逻辑覆盖是通过对程。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.