Day 7 调试(错误分析)详解–什么是调试?、暴力法调试、归纳法调试、演绎法调试、回溯法调试、测试法调试、调试的原则、错误分析总结
文章目录

什么是调试?
简单地讲,调试是执行一次成功的测试之后所要进行的工作。记住,所谓成功的测试,是指它可以证明程序没有实现预期的功能。调试是一个包含两个步骤的过程,从执行了一个成功的测试用例、发现了一个问题之后开始。
第一步,确定程序中可疑错误的准确性质和位置;
第二步,修改错误。
虽然调试对于程序测试来说非常必要、不可或缺,但它似乎是软件开发过程中最不受程序员欢迎的部分之一。其主要原因可能包括以下几点:
• 个人自尊会从中阻挠。不管我们是否喜欢,调试都说明了程序员并不完美,要么在软件的设计,要么在程序编码时会犯错。
• 热情耗尽。在所有的软件开发活动中,调试是最耗费脑力的苦差事,况且,进行调试往往经受着来自机构或自身的巨大压力,必须尽可能快地改正问题。
• 可能会迷失方向。调试是艰苦的脑力工作,因为发现的错误实际上可能会出现在程序的任何语句中。也就是说,如果不首先检查程序,我们就不能绝对地肯定在一个薪金管理程序出具的支票中出现的数字错误不是由某个子程序引起的,该子程序要求操作员将一个特定的表格传输给打印机。让我们以诊断一个物理系统为例子作对比,如汽车。假如汽车在爬坡时熄火了(症状),那么我们可能会迅速而有效地排除掉某些部件——调频/调幅收音机、速度表或汽车门锁——引起该故障的可能。根据我们对汽车引擎的整体了解,该故障一定是发生在引擎上,我们甚至可以排除掉某些引擎部件,如水箱和滤油器。</
调试是执行成功测试后的工作,涉及错误定位和修改。本文详细介绍了调试的不同方法,包括暴力法、归纳法、演绎法、回溯法和测试法,强调了动脑筋和正确使用测试工具的重要性。错误定位原则包括避免试验法和使用测试用例作为辅助手段,修改错误时应避免仅修改症状并确保回归测试。调试不仅仅是消除错误,还能提供关于软件错误本质的宝贵信息,有助于改进未来的设计和测试过程。
订阅专栏 解锁全文





