- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3章白盒测试技术
《软件工程与软件测试技术》 韩 智 第3章白盒测试技术 3.1白盒测试概述 3.2静态测试 3.3动态测试技术 3.4白盒测试综合策略 3.1白盒测试概述 白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。 这一方法是把测试对象看作一个打开的盒子,测试人员依据程序内部逻辑结构相关信息,设计或选择测试用例,对程序所有逻辑路径进行测试,通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。 白盒测试方法 常用的软件测试方法有两大类:静态测试方法和动态测试方法。 软件的静态测试不要求在计算机上实际执行所测程序,主要以一些人工的模拟技术对软件进行分析和测试 而软件的动态测试是通过输入一组预先按照一定的测试准则构造的实例数据来动态运行程序,而达到发现程序错误的过程。 3.1.1词法分析与语法分析 通过词法分析与语法分析可以获取软件组成的重要基本因数,如变量标识符、过程标识符、常量等,组合获取的基本因数,可以得到软件的基本信息,如: 标号交叉引用表:列出各模块中出现的全部标号及标号的属性,模块以外的全局、计算标号 变量交叉引用表:列出变量定义及引用信息,变量的属性,变量类型(全局、局部) 子程序、宏和函数表:列出各个子程序、宏及函数的属性,输入、输出参数信息 等价表:列出在等价语句和等值语句中出现的全部变量和标号 常数表:列出全部数字常数和字符常数 3.1.1词法分析与语法分析 按功能分类,引用表的作用有以下3种: 直接从表中查出说明/使用错误,如标号交叉引用表、变量交叉引用表 为用户提供辅助信息,如子程序、宏和函数表、等价表、常数表 用来做错误预测和程序复杂度计算,如操作符和操作数的统计表 3.1.2 静态错误分析 静态错误分析用于确定在源程序中是否有某类错误或‘危险’结构,包括以下几种: (1) 类型和单位分析 对源程序的类型进行检查,为了强化检查效果,扩充一些新的数据类型,进行静态预处理程序,分析程序中的类型错误 (2) 引用分析 对程序中变量的引用进行检查,发现引用异常错误(如变量在定义前被引用,变量定义后未被引用)。 采用深度优选的方法遍历程序流图的每一条路径 建立引用异常的探测工具,包括变量定义表和变量引用表 3.1.2 静态错误分析 (3) 表达式分析对表达式进行分析,以发现和纠正在表达式出现的错误,如: 在表达式中不正确的使用了括号造成错误 数组下标越界错误 除数为零 浮点数计算的误差(最复杂) (4) 接口分析接口一致性是程序的静态错误分析和设计分析共同研究的题目,接口分析主要对下内容时进行一致性的分析: 各模块之间接口一致性 模块与外部数据库的接口一致性 形参与实参在类型,数量,顺序,维数,使用上的一致性 全局变量和公共数据区在使用上的一致性 3.1.3 程序插桩技术 在动态测试中,程序插桩(Program Instrumentation)是一种基本的测试手段,有广泛的应用。 程序插桩主要借助向程序中插入操作,来实现测试目的的方法( 即向源程序中添加一些语句(也称探测器),实现对程序语句的执行、变量的变化等情况进行检查) 3.1.3 程序插桩技术 设计程序插桩程序时需要考虑的问题: 明确要探测哪些信息 在程序的什么部位设置探测点 需要设计多少个探测点 探测点设置位置(以Fortran为例) 程序块的第一个可执行语句之前 entry语句的前后 有标号的可执行语句处 循环语句之后 条件语句之后 logical if语句之后 call语句之后 go to语句之后 断言语句 在程序中的特定部位插入某些用以判断变量特性的语句,使得程序执行中这些语句得以证实,从而使程序的运行特性得到证实,我们把这些插入的语句称为断言语句。 3.2 静态测试 3.2.1 代码检查法 3.2.2 静态结构分析法 3.2.3 静态质量度量法 3.2.1 代码检查法 静态分析中进行代码检查的主要方法有桌面检查、代码审查和走查。 代码检查主要检查以下内容: 检查代码和设计的一致性 代码对标准的遵循、可读性 代码逻辑表达的正确性 代码结构的合理性 程序编写与编写标准的符合性 程序中不安全、不明确和模糊的部分 编程风格问题等 经验表明,使用这种方法能够有效地发现30%~70%的逻辑设计和编码错误。 1.代码检查方式-桌面检查 由程序员自己检查自己编写的程序。 程序员在程序通过编译之后,进行单元测试设计之前,对源程序代码进行分析、检验,并补充相关的文档,目的是发现程序中的错误。 1.代码检查方式-代码审查 代码审查是由若干程序员和测试员组成一个审查小组,通过阅读、讨论和争议,对程
您可能关注的文档
最近下载
- 贵州省2024年高职(专科)分类考试招生中职毕业生文化综合考试数学.docx VIP
- HP DeskJet 2700 多功能一体打印机中文说明书.pdf
- (完整版)2025年全国自考《马克思主义基本原理概论》真题及答案汇总.docx VIP
- 欧科PT300变频器说明书.pdf
- 全版《边城》ppt课件.pptx VIP
- 2-5《无常》(思维导图) 统编版七年级语文上册大单元教学.docx VIP
- 2025年辅警招聘考试试题库及答案详解(各地真题).docx
- 在泥沙中崛起三门峡(连载3).doc VIP
- 高龄患者的麻醉要点.ppt VIP
- 天安人寿附加吉祥树终身重大疾病保险条款0101.docx VIP
文档评论(0)