测试是为了发现软件中存在的错误;调试是为了证明软件开发的正确性。
测试以已知条件开始,使用预先定义的程序,且有预知的结果,不可预见的仅是程序是否通过测试;调试一般是以不可知的内部条件开始,除统计性调试外,结果是不可预见的。
测试是有计划的,需要进行测试用例设计;调试是不受时间约束的。
测试经历发现错误、改正错误、重新测试的过程;调试是一个推理的过程。
测试的执行是有规程的;调试的执行往往要求开发人员进行必要推理测试。
测试经常是由独立的测试组在不了解软件设计的条件下完成的;调试必须由了解详细设计的开发人员完成。
大多数测试的执行和设计可以由测试工具支持;调式时,开发人员能利用的工具主要是调试器。
推荐阅读: