软件工程总复习6-12.ppt

  1. 1、本文档共60页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第七章 测试 基本概念 单元测试 集成测试 验收测试 设计测试方案 调试 软件可靠性 日立预测法 自动测试工具 一、基本概念 1、软件测试的目标 测试是为了发现程序中的错误而执行程序的过程 只能尽可能查错,不能证明程序中没有错 测试员与程序员不应是同一个人 2、黑盒测试和白盒测试 黑盒测试----已经知道产品应该具有的功能,检验每个功能是否都能正常使用----功能测试 白盒测试----已经知道产品内部工作过程,检验产品内部动作是否按规定正常使用----结构测试 一、基本概念 3、软件测试的步骤 模块测试测试某一个单元模块也称为单元测试 子系统测试主要测试模块的接口 系统测试把两个单元,三个单元合成在一起形成子系统,子系统和子系统形成一个大的系统做测试,系统测试和子系统测试合称集成测试。 验收测试 平行运行 三、集成测试 1、非渐增式测试 分别测试每个模块,再放在一起结合成所要的程序 2、 渐增式测试 将下一个要测试的模块同以测试好的模块放在一起测试,类推结合成所要的程序 分为自顶向下和自底向上两种方法 三、集成测试 3、两者比较 渐增式测试可以较早发现模块间的接口错误 非渐增式测试最后才组装,因此错误发现得晚。 非渐增式测试中发现错误后难以诊断定位 渐增式测试中,出现的错误往往跟最新加入的模块有关。 渐增式测试在不断集成的过程中使模块不断在新的条件下受到新的检测,测试更彻底。 渐增式测试较非渐增式测试费时。 非渐增式测试可以同时并行测试所有模块,能充分利用人力。 六、调试 1、调试技术 ①输出存储器内容。以八进制或十六进制的形式印出存储器的内容。 缺点 输出信息量极大,不易解读且大多无用 输出的是程序在某一时刻的静态情况,且往往不是出错时的状态 ②打印语句 缺点 可能输出大量需要分析的信息,对于大型程序系统来说情况更是如此 必须修改源程序才能插入打印语句,但是这可能改变了关键的时间关系,从而既可能掩盖错误,也可能引进新的错误。 六、调试 2、调试策略 ①试探法 凭经验猜测。 ②回溯法 由症状最先出现的地方,沿控制流向回检查。适用于小型程序。 ③对分查找法 在关键点插入变量的正确值 ④归纳法 从错误症状中找出规律,推断根源 ⑤演绎法 普通 ? 特殊 从假设中逐步排除、精化,从而导出错误根源 一、软件维护的定义 1、在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程 2、改正性维护 诊断和改正错误 ——约占全部维护活动的 17~20% 3、适应性维护 为了和变化了的环境(如软\硬件升级、新数据库等)适当地配合而修改软件,约占全部维护活动的18~25% 一、软件维护的定义 4、完善性维护 为了增加新功能,修改已有功能,改造界面,增加HELP等,而修改软件,约占全部维护活动的50~66% 5、预防性维护 为了改进未来的可维护性或可靠性,或为了给未来的改进奠定更好的基础而修改软件,与其它维护活动共占总维护的4%左右 二、维护的特点 2、维护的代价 有形代价 费用已上升至总预算的80% 无形代价 占用资源以致延误开发 修改不及时引起用户不满 维护引入新错误,降低了软件质量 3、维护的问题 别人的程序很难读懂 文档与代码不一致 开发人员往往不参加维护 大多数软件在设计时没有考虑将来的修改 四、可维护性 维护人员理解、改正、改动和改进这个软件的难易程度 1、决定软件可维护性的因素 四、可维护性 1、决定软件可维护性的因素 ①可理解性 是指由文档代码理解功能运行的容易程度。 好程序的特征:模块化、结构化、代码与设计风格一致,高级语言实现 度量方法:90 - 10 Test ——读源程序10分钟,能否默写出90%? ②可测试性 是指论证程序正确性的容易程度 好程序的特征:可理解、可靠、简单 度量方法:程序复杂度 第九章 面向对象方法学引论 传统方法学的缺点 软件工程的新途径 基本概念 面向对象建模 对象模型 动态模型 功能模型 二、软件工程的新途径 二、软件工程的新途径 3、两种新途径的结合 ①瀑布模型 需求稳定少变化 对环境较熟悉(低风险) 用户很少参与开发 面向过程编程 ②螺旋模型 需求可能在开发早期有变化 对环境较熟悉(中风险) 用户不同程度地参与整个过程 面向对象编程OOP ③渐增模型适 需求随时可能变化 对环境不熟悉(高风险) 用户完全参与开发 面向对象编程O

文档评论(0)

好文精选 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档