- 1、本文档共38页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二章 静态测试 本章要点 静态测试 缺陷发现越早修复成本越低 评审 同行评审 V模型的评审时间点 同行评审的类型 审查 审查流程 审查中的角色 审查工作流程 审查工作流程 审查工作流程 审查工作流程 审查规则 小组评审 走读和同级桌查 临时评审 软件评审指导书 内容 目的 范围 评审角色及职责 过程准则 目标 进入标准 活动 退出标准 度量 相关资料 过程监控 规格说明书的概要评审(1) 规格说明书的概要评审(2) 规格说明书的概要评审(3) 规格说明书的概要评审(4) 规格说明书的详细评审(1) 规格说明书的详细评审(2) 规格说明书的详细评审(3) 静态分析 定义 静态分析是对被测程序进行特性分析的一些方法的总称,一般借助工具进行 可提供的功能包括: 发现代码中的缺陷,包括 用错的局部变量和全程变量 不匹配的参数 不适当的循环嵌套和分支嵌套 不适当的处理顺序 无终止的死循环 未定义的变量 不允许的递归 调用并不存在的子程序 遗漏了标号或代码 不恰当的连接等 静态分析 可提供的功能 找到潜伏着缺陷的根源。 未使用的变量 不会执行到的代码 未引用过的标号 可疑的计算 潜在的死循环等 提供间接涉及程序缺陷的信息:每一类型语句出现的次数、所用变量和常量的交叉引用表、标识符的使用方式、过程的调用层次、违背编码规则等 为进一步查错作准备。 静态分析工具 说明 静态分析工具是一类实现静态分析方法的软件工具,通过对代码进行扫描并对其进行词法和语法分析,构造与代码结构特征相关的抽象模型以达到对代码进行某些方面分析的目的。 分类 按照功能,例如 代码审查 一致性检查 交叉索引 接口分析 输入输出规格说明分析 数据流分析 错误检查 类型分析 单元分析 静态分析工具 基于数据流分析方法的静态分析工具,可提供的缺陷信息: 语法错误信息; 各种类型源语句出现的次数; 标识符使用的交叉索引; 标识符在每个语句中使用的各种情况,如数据源点、数据终点、调用参数、哑参数和下标等; 每个程序所调用的子程序和函数; 未经初始化的变量; 未曾使用过的变量; 任何输入数据都执行不到的孤立代码段; 违背编码标准之处,包括背离语言标准以及用户制定的实用标准; 错用的全程变量、公用变量及参数表,如参数个数有误、类型不匹配、输入参数未经初始化、输出参数未赋值、输出参数虽赋值但未使用、对输入和输出均无用的参数等等。 静态分析工具 按工具来源分 商业工具 Klocwork Insight GIMPEL Software的PC-Lint(针对C/C++语言) ParaSoft的C++ Test和JTest 开源工具 FindBugs 小结 静态测试的对象集中在需求文档、设计文档以及程序代码上,是在不执行被测代码的条件下发现缺陷的一类方法。通过运用静态测试方法可以尽早地发现软件中的缺陷。 常用的静态测试方法包括评审、静态分析等。 同级评审是以发现缺陷为主要目的的一种评审方法。按照正式程度由高到低,同级评审可分为审查、小组评审、走查、同行桌查和临时评审等几种。在实际的项目开发过程中,被评审对象越重要或者风险越高,采用的评审方法越正式。 静态分析是对被测程序进行特性分析的一些方法的总称,可用于确定代码某些特定类别的缺陷。 经过评审、静态分析之后的代码,为真正进行动态的代码测试做好了准备。 问题 QA 请注意 不同的编码语言和项目团队可能采用不同的标准和基线,适合项目的就是最好的 编码规范和检查表应该在一个项目完成后被检验和更新 编码规范和代码检查表 给出checklist、预审意见模版等的示例 还有另外一种方式,直接确认问题 《软件测试方法和应用》 2-* * 讨论与静态测试相关的内容,包括 评审 评审的定义和分类 同行评审的分类 评审工作流程 对规格说明书的测试 源代码评审 静态分析及其工具 定义 通过检查和评审软件而不是运行软件对软件进行测试的方法 对象 各种与软件相关的有必要进行测试的产物,例如各类文档、源代码等 方法 评审 对软件元素或项目状态进行评估的活动,用以确定与预期结果之间的偏差和相应的改进意见 通常由人来执行 静态分析 被测程序进行特性分析的一些方法的总称 通常需要工具辅助 除了在项目早期发现缺陷和降低项目失败风险外,项目中需要进行评审的其它原因包括 分享知识 培训团队成员 为管理层决策提供依据 为过程改进提供信息 评审分类 培训评审 预备
文档评论(0)