- 1、本文档共111页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
个人成果,妥善保存,请勿传播 调试 调试过程总会有以下两种结果之一: 找到了问题的原因并把问题改正和排除掉 没找出问题的原因 猜测一个原因-》用例验证假设-》重复... 调试困难与软件错误的特征: 症状和产生症状的原因可能在程序中相距甚远,紧耦合的程序结构更加剧了这种情况 当改正了另一个错误之后,症状可能暂时消失了。 症状可能实际上并不是由错误引起的(例,舍入误差) 个人成果,妥善保存,请勿传播 调试 调试困难与软件错误的特征: 症状可能是由不易跟踪的人为错误引起的 症状可能是由定时问题而不是由处理问题引起的。 可能很难重新产生完全一样的输入条件(例如,输入顺序不确定的实时应用系统) 症状可能时有时无,这种情况在硬件和软件紧密地耦合在一起的嵌入式系统中特别常见 症状可能是由分布在许多任务中的原因引起的,这些任务运行在不同的处理机上 个人成果,妥善保存,请勿传播 调试 调试技术 输出存储器内容(memory dump): 以八进制或十六进制的形式印出存储器的内容。 缺点: ? 输出信息量极大, 不易解读且大多无用; ? 输出的是程序在某一 时刻的静态情况,且 往往不是出错时的状态。 个人成果,妥善保存,请勿传播 调试 调试技术 ② 插入“watch points” (或称“spy points”) 人工插入打印 缺点: 改动源代码,增加了出错机会; 打印信息可能太多。 自动调试工具 无须打印额外信息,且不改动源代码 个人成果,妥善保存,请勿传播 调试 调试策略 调试过程的关键不是调试技术,而是用来推断错误原因的基本策略。 主要有: 试探法,凭经验猜测。 回溯法:由症状最先出现的地方,沿control flow向回检查。适用于小型程序。 对分法:在关键点插入变量的正确值 输出正确 错误在前半段 错误在后半段 N Y 个人成果,妥善保存,请勿传播 收集数据 组织数据 研究数据 间的关系 提出假设 证明假设 纠正错误 能 能 不能 ④ 归纳法:从错误症状中找出规律,推断根源 个人成果,妥善保存,请勿传播 列举可能 的原因 排除不正确 的假设 精化余下 的假设 证明 假设 收集更多数据 纠正 错误 有剩余 能 不能 无剩余 ⑤ 演绎法:普通 ? 特殊 从假设中逐步排除、精化,从而导出错误根源。 个人成果,妥善保存,请勿传播 调试 在动手改正错误之前,软件工程师应该仔细考虑下述3个问题: 是否同样的错误也在程序其他地方存在? 一个程序错误是由错误的逻辑思维模式造成的 而这种逻辑思维模式也可能用在别的地方 仔细分析这种逻辑模式,有可能发现其他错误 要进行的修改可能引入的“下一个错误”是什么? 在改正错误之前应该仔细研究源程序(最好也研究设计文档),以评估逻辑和数据结构的耦合程度 如果所要做的修改位于程序的高耦合段中,则修改时必须特别小心谨慎 为防止今后出现类似的错误,应该做什么? 个人成果,妥善保存,请勿传播 课程内容提纲 第7章:“实现” 编码 软件测试基础 单元测试、集成测试、确认测试 白盒测试技术 黑盒测试技术 调试 软件可靠性 个人成果,妥善保存,请勿传播 软件可靠性 基本概念 软件可靠性 软件可靠性是程序在给定的时间间隔内,按照规格说明书的规定成功地运行的概率。 按照IEEE的规定 术语“错误”的含义是由开发人员造成的软件差错(bug) 术语“故障”的含义是由错误引起的软件的不正确行为 个人成果,妥善保存,请勿传播 软件可靠性 基本概念 可靠性(Reliability):程序在给定的时间间隔内,按照说明书的规定,成功地运行的概率。 可用性(Usability):程序在给定的时间点,按照说明书的规定,成功地运行的概率。 正确性(Correctness):程序的功能正确。 Reliability Correctness Usability 个人成果,妥善保存,请勿传播 软件可靠性 设系统故障停机时间为td1, td2, …; 正常运行时间为tu1, tu2, … ; 则系统的“稳态可用性”为 Availability = (Shooman, 1983) 其中 MTTF = Mean Time To Failure = MTTR = Me
文档评论(0)