排错的基本方法 软件测试
排错(即调试)与成功的测试形影相随。测试成功的标志是发现了错误。根据错误迹象确定错误的原因和准确位置,并加以改正的主要依靠排错技术。
1. 排错过程
如下图所示,排错过程开始于一个测试用例的执行,若测试结果与期望结果有出入,即出现了错误征兆,排错过程首先要找出错误原因,然后对错误进行修正。因此排错过程有两种可能,一是找到了错误原因并纠正了错误,另一种可能是错误原因不明,排错人员只得做某种推测,然后再设计测试用例证实这种推测,若一次推测失败,再做第二次推测,直到发现并纠正了错误。
排错是一个相当艰苦的过程,究其原因除了开发人员心理方面的障碍外,还因为隐藏在程序中的错误具有下列特殊的性质:
(1) 错误的外部征兆远离引起错误的内部原因,对于高度耦合的程序结构此类现象更为严重;
(2) 纠正一个错误造成了另一错误现象(暂时)的消失;
(3) 某些错误征兆只是假象;
(4) 因操作人员一时疏忽造成的某些错误征兆不易追踪;
(5) 错误是由于风时而不是程序引起的;
(6) 输入条件难以精确地再构造(例如,某些实时应用的输入次序不确定);
(7) 错误征兆时有时无,此现象对嵌入式系统尤其普遍;
(8) 错误是由于把任务分布在若干台不同处理机上运行而造成的。
在软件排错过程中,可能遇到大大小小、形形色色的问题,随着问题的增多,排错人员的压力也随之增大,过分地紧张致使开发人员在排除一个问题的同时又引入更多的新问题。
尽管排错不是一门好学的技术(有时人们更愿意称之为艺术),但还是有若干行之有效的方法和策略,下面介绍几种排错方法。
2. 排错方法
无论采用哪种排错方法,目标只有一个,即发现并排除引起错误的原因,这要求排错人员能把直观想象与系统评估很好的结合起来。
常用的排错策略分为三类:
① 原始类(brute force)
文章来源于领测软件测试网 https://www.ltesting.net/