测试是为了发现程序中的错误,而排错是确定错误在程序中的位置和错误的性质,并及时改正错误。排错的关键是找到错误的具体位置,它占整个测试工作量的95%,一旦找到错误所在的位置,根据情况改正错误就容易了。
1.排错的步骤
由于软件错误的外部表现与其内部原因有时没有明显的联系,对于出现的错误并不能够找到原因,因此排错是一种技巧性和经验性很强的过程,一般排错的步骤如下:
(1)从错误的外部表现入手,确定程序中出错的位置。
(2)研究相关的部分源程序,找出错误的内在原因。
(3)修改设计和编码。
(4)重复进行暴露这个错误的原始测试或某些相关测试,以确定错误是否已排除,以及是否产生了新的错误。
(5)如果所做的修改无效,则撤销这次修改,重复上述过程,直到找到一个有效的解决办法为止。(https://www.xing528.com)
(6)根据排错所产生的变化,对系统开发文档中的相应部分进行修改。
2.排错的方法
下面的方法可以帮助确定错误的位置:
(1)试探法。分析错误的外在表现形式,猜测程序故障的大致位置,采用一些简单的纠错技术,获得可疑区域的有关信息,判断猜测是否正确。经过多次试探,找到错误的根源,这种方法效率较低,对个人经验要求很高,一般适应于结构比较简单的程序。
(2)跟踪法。跟踪法分为反向跟踪和正向跟踪。正向跟踪是沿着程序的控制流,从头开始跟踪,逐步检查中间结果,找到最先出错的地方。反向跟踪是从发现错误症状的地方开始回溯,人工沿着控制流往回追踪程序代码,直到确定错误根源。跟踪法对于小型程序比较有效,随着程序规模的增大、要跟踪的路径太多,而变得不可操作。
(3)对分查找法。如果已经知道程序中的变量在中间某点的预期正确值,运行程序看输出结果是否正确。若输出结果没有出问题,说明错误在前半部分,否则错误应在后半部分。然后在有错误的部分再用这种方法,逐步缩小差错产生的范围。这种方法主要用于缩小错误的范围。
(4)归纳法。从错误征兆的线索出发,分析线索之间的关系,确定错误位置。首先,要收集、整理程序运行的有关数据,分析出错规律;然后,在此基础上提出关于错误的假设,若假设能解释原始测试的结果,说明假设得到证实,否则重新分析,提出新的假设,直到最终发现错误原因。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。
