第7章+实现.ppt

  1. 1、本文档共110页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章实现资料

软件工程 信电工程学院 王小磊 swxl121@xzit.edu.cn 第1章 软件工程学概述 第2章 可行性研究 第3章 需求分析 第4章 形式化说明技术 第5章 总体设计 第6章 详细设计 第7章 实现 第8章 维护 第9章 面向对象方法学引论 第10章 面向对象分析 第11章 面向对象设计 第12章 面向对象实现 第13章 软件项目管理 编码 测试 编码 软件测试基础 调试 软件可靠性 编码 什么是编码? 选择程序设计语言的重要性 选择程序设计语言时应考虑哪些因素? 编码阶段应交付的文档是什么? 选择程序设计语言时应考虑的因素: 软件测试基础 测试阶段的根本目标 软件测试准则 软件测试方法 软件测试步骤 软件测试阶段的信息流 软件测试的根本目标 软件测试准则 1、所有测试都应该能追溯到用户需求; 2、应该远在测试开始之前就制定出测试计划; 3、把Pareto原理应用到软件测试中; 4、应该从“小规模”测试开始,并逐步进行“大规模”测试; 5、穷举测试是不可能的 6、应该由独立的第三方从事测试工作 测试方法 测试步骤 1. 模块测试 测试阶段的信息流 7.3 单元测试 单元测试集中检测软件设计的最小单元——模块。通常,单元测试和编码属于软件过程的同一个阶段。 可以应用人工测试和计算机测试这样两种不同类型的测试方法,完成单元测试工作。 单元测试主要使用白盒测试技术,而且对多个模块的测试可以并行地进行。 7.3.1 测试重点 模块接口 在对模块接口进行测试时主要检查下述几个方面: 参数的数目、次序、属性或单位系统与变元是否一致; 是否修改了只作输入用的变元; 全局变量的定义和用法在各个模块中是否一致。 2. 局部数据结构 对于模块来说,局部数据结构是常见的错误来源。应该仔细 设计测试方案,以便发现局部数据说明、初始化、默认值等 方面的错误。 3. 重要的执行通路 由于通常不可能进行穷尽测试,因此,在单元测试期间必需 选择最有代表性、最可能发现错误的执行通路进行测试。应 该设计测试方案用来发现由于错误的计算、不正确的比较或 不适当的控制流而造成的错误。 4. 出错处理通路 好的设计应该能预见出现错误的条件,并且设置适当的处理错误的通路; 当评价出错处理通路时,应该着重测试下述一些可能发生的错误: (1) 对错误的描述是难以理解的; (2) 记下的错误与实际遇到的错误不同; (3) 在对错误进行处理之前,错误条件已经引起系统干预; (4) 对错误的处理不正确; (5) 描述错误的信息不足以帮助确定造成错误的位置。 5. 边界条件 边界测试是单元测试中最后的也可能是最重要的任务。 软件常常在它的边界上失效,例如,处理n元数组的第n个元素时,或做到i次循环中的第i次重复时,往往会发生错误。 使用刚好小于、刚好等于和刚好大于最大值或最小值的数据结构、控制量和数据值的测试方案,非常可能发现软件中的错误。 7.3.2 代码审查 代码审查:由审查小组正式进行的人工测试源程序的程序验证技术。 审查小组最好由下述4人组成: (1) 组长,应该是一个很有能力的程序员,而且没有直接参与这项工程; (2) 程序的设计者; (3) 程序的编写者; (4) 程序的测试者; 两种常见的代码审查方法: (1) 一般方法 (2) 预排 采用代码审查的方法可以减少系统验证的总工作量。 人工测试和计算机测试是互相补充,相辅相成的,缺少其中任何一种方法都会使查找错误的效率降低。 7.3.3 计算机测试 模块并不是一个独立的程序,因此必须为每个单元测试开发驱动软件和(或)存根软件。 驱动程序是一个“主程序”,它接收测试数据,把这些数据传送给被测试的模块,并且印出有关的结果; 存根程序代替被测试的模块所调用的模块 ,即“虚拟子程序”。它使用被它代替的模块的接口,可能做最少量的数据操作,印出对入口的检验或操作结果,并且把控制归还给调用它的模块。 Ⅰ. TEST STUB(*测试正文编辑模块用的存根程序*) 初始化; 输出信息“进入了正文编辑程序”; 输出“输入的控制信息是”CFUNCT; 输出缓冲区中的字符串; IF CFUNCT=CHANGE THEN 把缓冲区中第二个字改为*** ELSE 在缓冲区的尾部加??? END IF; 输出缓冲区中的新字符串; END TEST STUB Ⅱ. TEST DRIVER(*测试正文编辑模块用的驱动程序*) 说明长度为2500个字符的一个缓冲区; 把CF

文档评论(0)

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

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

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档