由于project中总是debug,修改问题,故通过自己读过的一本书来记录,并做说明。
什么是调试?
调试不仅是排除缺陷,有效的调试需要采用一下步骤:
1. 弄清楚软件为什么运行失常?
2.修复这一问题。
3.避免破坏其他部分(在我司重要通过regression来保证,这一点非常好)。
4.保持或提高代码的总体质量(可读性,架构,测试覆盖率,性能等)。
5.确保同样的问题不会在其他地方发生,也不会在此发生。
而核心调试过程:
1.问题重现 找一个可靠并简洁的方式来按需求重现问题。
如:当customer反馈一个STAR时,我们会用同一个binary对case进行问题重现。
2.问题诊断 提出假设,并通过实验来测试它们,直到找到引起缺陷的潜在原因。
3.缺陷修复 设计和进行一些修改来修复问题,不要引入回归问题,保持和提高软件的整体质量。
4.反思 吸取教训。
项目中总会有缺陷,要一个一个的修复,且先检查简单的缺陷,也许该缺陷就是引起复杂问题的原因。