测试理论知识七:暴力法调试、归纳法调试、演绎法调试、回溯法调试、测试法调试

1. 调试

调试是执行一次成功的测试之后所要进行的工作。

调试包含了两个步骤:

  1. 确定程序中可疑错误的准确性质和位置。

  2. 修改错误。

2. 暴力法调试

暴力调试方法可至少被划分为三种类型:

  1. 利用内存信息输出来调试。

  2. 根据一般的”在程序中插入打印语句”建议来调试。

  3. 使用自动化的调试工具进行调试。

2.1. 内存信息输出

使用内存信息输出是最缺乏效率的暴力调试方法。原因如下:

  1. 难以在内存区域与源程序中的变量之间建立对应关系。

  2. 即使对于复杂程度较低的程序,内存信息输出也会产生数量非常庞大的数据,其中的大多数都是与调试无关的。

  3. 内存信息输出显示的是程序的静态快照,仅能显示出在某一个时刻程序的状态,为了发现错误,还需要研究程序的动态状态(随时间的状态变化)。

  4. 内存信息输出很少可以精确地在错误发生的地方产生,因此无法显示在错误发生时程序的状态。错误发生到输出内存信息这段时间之内程序执行的活动,可能会掩盖掉发现错误所需的线索。

  5. 通过分析输出的内存信息来发现问题的方法并不太多(因此很多程序员都是密切注视,急切地渴望着错误能神奇地从内存信息输出中自行暴露出来)。

2.2. 程序中插入打印语句

在失效的程序中插入输出变量值的语句,这种做法也不具有很强的优势。它有如下缺点:

  1. 它不是鼓励我们去思考程序中的问题,而主要是一种碰运气的方法。

  2. 它所产生的需要分析的数据量非常庞大。

  3. 它要求我们修改程序,这些修改可能会掩盖

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值