目录
-
-
-
-
- [1. 说明](#1. 说明)
- [2. 试探法](#2. 试探法)
- [3. 归纳法](#3. 归纳法)
- [4. 演绎法](#4. 演绎法)
- [5. 回溯法](#5. 回溯法)
- [6. 对分查找法](#6. 对分查找法)
- 7.例题
-
- [7.1 例题1](#7.1 例题1)
-
-
-
1. 说明
- 1.软件调试是软件开发过程中不可或缺的一环,旨在发现并修复软件中的错误,确保软件能够按预期运行。
2. 试探法
- 1.定义:一种比较原始的调试策略,通过分析软件系统运行过程中大量数据信息、中间结果的变化情况来查找错误发生的原因和位置。
- 2.特点:简单、易行,但调试效率低,主要适用于结构比较简单的小型系统。
3. 归纳法
- 1.定义:一种由特殊到一般的逻辑推理方法。根据软件测试所取得的个别错误数据或错误线索,通过分析这些线索之间的关系来发现错误。
- 2.特点:依赖于工作经验和案例积累,能够较为系统地推断错误位置和原因。
4. 演绎法
- 1.定义:一种由一般到特殊的逻辑推理方法。根据已有的测试数据,设想所有可能的出错原因,然后通过测试逐一排除不正确、不可能的出错原因,最后确定剩余错误的合理性及位置。
- 2.特点:逻辑严谨,能够全面考虑可能的错误情况,但相对耗时较长。
5. 回溯法
- 1.定义:从软件系统中发现错误的位置开始,沿着程序的控制流程往回追踪程序代码,直至找到错误发生的位置或范围。
- 2.特点:对于规模较小的软件系统而言较为有效,但不适宜较大型的软件。
6. 对分查找法
- 1.定义:在程序中插入某些变量关键点的正确值,检查程序的运行结果。根据结果判断错误发生的位置是在插入点的前半部分还是后半部分,然后不断对分缩小错误范围进行错误定位。
- 2.特点:能够快速定位错误范围,提高调试效率。
7.例题
7.1 例题1
-
1.题目
1.软件调试的任务就是根据测试时所发现的错误,找出原因和具体的位置,进行改正。
其常用的方法中,(C)是指从测试所暴露的问题出发,收集所有正确或不正确的数据,
分析它们之间的关系,提出假想的错误原因,用这些数据来证明或反驳,从而查出错误所在。
A.试探法
B.回溯法
C.归纳法
D.演绎法 -
2.解析
1.回溯法:调试人员从发现错误症状的位置开始,人工沿着程序的控制流程往回跟踪代码,直到
找出错误根源为止这种方法适合于小型程序,对于大规模程序,由于其需要回溯的路径太多而
变得不可操作。
2.对分查找法:这种方法主要用来缩小错误的范围,如果已经知道程序中的变量在若干位置的正
确取值,可以在这些位置给这些变量以正确值,观察程序运行的输出结果,如果没有发现问题,
则说明从赋予变量一个正确值开始到输出结果之间的程序没有错误,问题可能在除此以外的程
序中。否则错误就在所观察的这部分程序中,对含有错误的程序段再使用这种方法,直到把故
障范围缩小到比较容易诊断为止。
3.归纳法:归纳法就是从测试所暴露的问题出发,收集所有正确或不正确的数据,分析它们之间
的关系,提出假想的错误原因,用这些数据来证明或反驳,从而查出错误所在。本题题干描述
的是归纳法。
4.演绎法:演绎法根据测试结果,列出所有可能的错误原因:分析已有数据,排除不可能和彼此
矛盾的原因:对其余原因,选择可能性最大的,利用已有的数据完善该假设,使假设更具体;
用假设来解释所有的原始测试结果,如果能解释这一切,则假设得以证实,也就是找出错误,
否则,要么是假设不完备或不成立,要么有多个错误同时存在,需要重新分析,提出新的假
设,直到发现错误为止。