调试是开发人员在编程结束之后验证程序是否实现而进行的。范围小,只针对自己编写的某一段代码或者某一个函数,针对性强。
软件测试从范围上要广于调试。是从验证功能层次上着手。根据不同的目的,会有若干种划分和不同的测试手法。比如说黑盒,白盒;自动化,人工;功能,性能;本地化,国际化等等。
软件测试的根基在于需求和用户,如果开发人员的编码或者设计是错误的,即便调试通过,如果和需求相违背,软件测试这边也是无法通过的。
软件测试时检验程序是否有错误,调试则是发现程序错误的位置、原因以及改正错误等。软件调试是发生在测试之后的步骤。
我自己是这样记得,跟你分享一下,不要笑啊:
软件测试:发现错误(发现自己生病了)
软件调试:诊断并改正错误(去看医生)
->错误定位(医生诊断是胃有病)
->纠正错误(医生说要打针)
->回归测试(医生说还要复诊)
软件测试出问题,告知相关人员进行调优