|
知识路径: > 软件工程 > 软件工程基础知识 > 软件测试与审计 > 软件测试 >
|
相关知识点:15个
|
|
|
|
在软件测试的过程中,就会发现软件中的一些错误,但是,这种错误的发生只是一种表象,错误究竟是由什么原因引起的,是由哪段代码引起的,这些问题就需要进行调试才能确定。
|
|
|
调试主要由3个步骤组成,它从表示程序中存在错误的某迹象开始,首先确定错误的准确位置,也就是找出是哪个模块或哪个语句引起的错误。然后仔细研究推断代码以确定问题的原因,并设法改正,最后进行回归测试。总的来说有三种调试的实现方法,分别是蛮力法、回溯法、原因排除法。
|
|
|
蛮力法的调试可能是为了找到错误原因而使用的最普通但是最低效的方法了。当所有其他的方法都失败的情形下,才会使用这种方法。根据“让计算机自己来寻找错误”的思想,进行内存映像,激活运行时的跟踪。
|
|
|
回溯是在小程序中经常能够奏效的相当常用的调试方法。从发现症状的地方开始,开始(手工地)往回跟踪源代码,直到发现错误的原因。
|
|
|
原因排除法是通过演绎和归纳,以及二分法来实现的。对和错误发生有关的数据进行分析可寻找到潜在的原因。先假设一个可能的错误原因,然后利用数据来证明或者否定这个假设。也可以先列出所有可能的原因,然后进行检测来一个个地进行排除。如果最初的测试表明某个原因看起来很像的话,那么就要对数据进行细化来精确定位错误。
|
|
|
上面的每一种方法都可以使用调试工具来辅助完成。我们可以使用许多带调试功能的编译器、动态的调试辅助工具(跟踪器)、自动的测试用例生成器、内存映像工具、以及交叉引用生成工具。
|
|
|
|
(1)测试的目的是找出存在的错误,而调试的目的是定位错误并修改程序以修正错误。
|
|
|
(2)调试是测试之后的活动,测试和调试在目标、方法和思路上都有所不同。
|
|
|
(3)测试从一个已知的条件开始,使用预先定义的过程,有预知的结果;调试从一个未知的条件开始,结束的过程不可预计。
|
|
|
(4)测试过程可以实现设计,进度可实现确定;调试不能描述过程或持续时间。
|
|
|