排错是一项具有较强的技巧性的工作。一个软件人员在分析测试结果时会发现,测试只能发现潜在的缺陷的外部表现。
排错工作是一项十分困难的工作,有程序员的能力上的问题和技术上的问题,它们交织在一起。能力来自两个方面,首先是经验,其次是心理素质。
由于重点在于测试,而不在于排错,因此这里,我只说说排错的注意事项。
1.确定错误性质和位置
(1)使用联想和逻辑推理,充分分析和思考与错误征兆有关的信息;
(2)当遇到困难时应当先搁置一段时间,使头脑思考避开死胡同;
(3)充分利用排错工具作为辅助手段,但绝不是代替思考;
(4)召集部分有关人员,自己讲解这段程序的设计和编码的具体情况,实践证明,此时最容易发现错误的位置。
2.修改错误
(1)由于错误有群集现象,如果已发现某段程序有缺陷时,在修改的同时,尚需检查其临近是否还存在别的错误。
(2)修改了某个错误的征兆或表现,还需再次检查该错误导致的本质,一定要使修改能够清楚解释清楚与这个错误的全部线索;
(3)努力避免修改了一个已发现的错误,而带进了一个新的错误,为此,必需进行回归测试;
(4)修改错误时,有时会追溯到前一阶段的工作,那时必须慎重;
(5)修改了源程序,同时也要修改相应的文档。