北京理工大学《C语言程序设计》课件-第12章.pdfVIP

  • 0
  • 0
  • 约4.59万字
  • 约 104页
  • 2022-12-07 发布于北京
  • 举报

北京理工大学《C语言程序设计》课件-第12章.pdf

谁痛谁知道 • 程序员的悲伤,有谁会懂? 调试:找出你错误 主讲 陈朔鹰 查找错误 软件纠错的六个阶段: 1. 这不可能。 2. 在我的机器上就没事。 3. 绝对不应该呀?! 4. 为什么会出现这种问题? 5. 噢,噢,噢,我明白了。 6. 以前怎么就没问题? 查找错误 物理学家、工程师和程序员三人驾驶着一 辆汽车行驶在山上。下山时刹车失灵,汽车无 法控制地向下冲向一个悬崖。很幸运,悬崖前 面的小树让他们的汽车停了下来。三人惊魂未 定地从车里爬了出来。 物理学家说:“我觉得我们应该建立一个 模型来模拟在下山过程中刹车片在高温情况下 失灵的情形”。 工程师说:“我车的后备厢有个扳手,要 不我们把车拆开看看到底是什么原因”。 程序员说:“为什么我们不找个相同的车 ,再来一次以重现这个问题呢?” 程序中的错误 • 程序的错误类型 – 编译错误: • 错误(error):无法通过编译,编译器 会给出错误指示信息,不能运行程序。错 误定位信息可能不准确。 • 警告(warning):可以通过编译,但会 给出提示信息;可以运行程序,但可能存 在潜在的错误。 – 链接错误:相关头文件、函数名错误。 – 运行错误:程序编程思路存在问题。 程序中的错误 • 找错方法 测试(test)和调试(debug) • 软件测试的目的 发现程序中可能存在的错误。 软件测试的目的不是证明软件没有错误,而 是要发现系统中至今尚未发现的错误。 • 调试的目的 定位并修改程序中已经发现的错误(bug) 。 软件测试方法 • 软件测试的方法 白盒法:将程序打开,针对程序中的各个分 支的各种可能(组合可能)进行测试。 优点:可进行完全测试,确保质量和效率。 缺点:工作量太大,人工几乎没法完成。 黑盒法:将程序看成一个黑盒子,只关心程 序的输入是否能够得到正确的输出,不关心程 序内部的实现细节。 优点:工作量较小,满足一般的测试要求。 缺点:不能确保发现程序中所有潜在的错误。 软件测试方法 • 黑盒法测试的一般步骤 1.研究软件的功能说明,设计测试用例 (一 组); 2.事先预计测试结果; 3.进行软件测试,记录实际的测试结果; 4.将实际的测试结果与预计的测试结果进行 比较,若两者一致,则通过测试;若不一致, 则分析原因,确定错误。 软件测试方法 • 黑盒测试的关键 不同的测试用例发现错误的能力不同,为了 提高测试的效率,应该选择高效的测试用例。 由于不可能进行穷尽测试,所以要选择少量 “最有效的”测试数据,进行尽可能完备的测 试。 一个好的测试用例是能够发现至今尚未发现 的错误。 软件测试方法 • 实用测试策略 1.在任何情况下都应首先使用边界值分析法。 这种方法发现问题的能力最强。边界包括:输 入数据的边界和输出数据的边界。 2.必要时采用等价划分的方法补充测试方案。 3.必要时再用错误推测法补充测试方案。 4.对照程序逻辑,检查已经设计出的测试方 案,再补充测试方案。 常用调试方法 • 定位运行错误常用方法 – 跟踪重要变量的变化:输出变量的值 – 使用调试工具(调试器debuger ) • 设定断点/继续执行

文档评论(0)

1亿VIP精品文档

相关文档