- 1、本文档共94页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程sofareengineering课件
编码和测试 编码就为是用编程(程序)语言把软件表达翻译为计算机可以理解的形式—用某种程序设计语言书写的程序。 测试 软件测试的工作量往往占软件开发总工作量的40%以上,在极端情况,测试那种关系生命安全的软件所花费的成本,可能相当于软件工程其他开发步骤总成本的3—5倍。 测试的目的是发现错误,但软件生产的最终目的是开发出高质量的完全符合用户需要的软件。 本章主要内容 编码 测试基础 单元测试 集成测试 确认测试 白盒测试技术 黑盒测试技术 调试 软件可靠性 编 码 编码之前的一项重要工作是选择适当的程序设计语言 适当的编程语言可以减少需要的程序测试量,可以得出更易阅读和更易维护的程序 汇编语言和高级语言相比,使用高级语言写的程序更易阅读、测试、调试和维护 编 码 在进行高级语言的选择时,应该有标准参照 系统用户的要求 可以使用的编译程序 可以得到的软件工具 工程规模 程序员的知识 软件可移植性要求 软件的应用领域 编码风格 设计出易读易懂程序的规则: 程序内部的文档 标识符:含义鲜明的名字 注解:帮助理解程序 程序的视觉组织:程序清单的布局 编码风格 数据说明: 数据说明的次序应该标准化,提高效率 按字母顺序排列变量 使用注解说明复杂的数据结构 编码风格 语句构造:每个语句都应该简单而直接 可以使用一些规则使语句构造简单,如:尽量避免复杂的条件测试,不要为了节省空间而把多个语句写在同一行等。 编码风格 输入输出 在设计和编写程序时应考虑输入和输出 风格的规则。 编码风格 效率:处理机时间和存储器容量 三条基本原则: 效率是性能要求,需求分析阶段确定 效率是靠好设计来提高的 程序的效率和程序的简单程度是一致的 编码风格 效率 程序运行时间:写程序的风格对执行速度有影响 存储器效率:提供存储器效率 输入输出的效率:提高人机通信的效率 基本概念 软件测试的目标 软件测试准则 测试方法 测试步骤 测试阶段的信息流 软件测试的定义 测试的正确定义:为了发现程序中的错误而执行程序的过程 错误观念:测试是为了表明程序是正确的 测试应由专门的测试小组来完成 测试只能查找程序中的错误,不能证明程序中没有错误 软件测试准则 所有测试都能追溯到用户需求 应该尽早开始测试计划的制定 应用Pareto原理定位错误 测试应该有“小”到“大” 穷举测试不可能 应该由独立的第三方从事测试工作 测试阶段的信息流 输入 软件配置:需求说明书、设计说明书和程序清单 测试配置:测试计划和测试方案 调试 测试发现错误之后排除错误的过程,由程序编者负责 可靠性模型 使用错误率数据估计未来出现错误的情况 单元测试 测试重点 代码审查 计算机测试 代码审查 过程: 审查之前,由设计者简要介绍设计说明书和对程序的设计 审查会上程序的编写者解释怎样实现设计 对照程序错误清单,分析审查程序 代码审查 代码审查的优势:一次审查会上可以发现许多错误,同时可以减少系统验证的工作量 人工测试和计算机测试相互补充,相辅相成 集成测试 自顶向下结合 自底向上结合 不同集成测试策略的比较 验收测试 验收测试的范围 软件配置复查 验收测试 软件有效性:如果软件的功能和性能如同用户所合理期待的那样,软件就是有效的。 验收测试又称为确认测试,目标是验证软件的有效性。 设计测试方案 逻辑覆盖 等价划分 边界值分析 错误推测 实用测试策略 控制结构测试 根据程序的控制结构进行测试用例的选择 基本路径测试 条件测试 循环测试 控制结构测试 基本思路:计算程序的环形复杂度,根据该复杂度定义执行路径的基本集合,从该集合导出的测试用例。 可以保证程序中的每条语句至少执行一次,而且每个条件在执行时都将分别取真、假两种值。 控制结构测试 步骤: 根据过程设计结果画出流图 计算流图的环形复杂度 确定线性独立路径的基本集合 设计可强制执行基本集合中每条路径的测试用例 基本路径测试 流图:“退化了的”程序流程图,只描绘程序的控制流程,数据的具体操作及分支或循环的条件无须画出。 流图画法:一个圆(即结点)表示一条或多条语句,将程序流程图中的处理框或菱形框映射为结点;箭头线(即边)表示控制流;点和边围成的面积称为域。 procedure:sort do while records remain read record; if record field 1=0 then process record; store in buffer;
文档评论(0)