改正错误。软件调试是为了发现错误而执行程序的过程。测试是为了证明程序有错,而不是证明程序无错(发现错误不是唯一目的)。一个好的测试用例在于它发现至今未发现的错误,一个成功的测试是发现了至今未发现的错误的测试。
在对程序进行了测试以后进入程序调试。调试的任务是诊断和改正程序中的错误。它与软件测试不同,软件测试是尽可能多地发现软件中的错误。软件运行失效或出现问题,往往只是潜在错误的外部表现,而外部表现与内在原因之间常常没有明显的联系,如果要找出真正的原因,排除潜在的错误,不是一件易事。可以说,调试是通过现象,找出原因的一个思维分析的过程。