まず前提として、「テスト」と「デバック」の言葉の意味は、
現場(によっては)では同じ意味「テスト」 = 「デバッグ」として使われることもあります。。。。が、
JSTQB(ISTQB)などで言う定義では、「テスト」と「デバッグ」は異なる意味で定義されています。
それを理解した上で、JSTQB(ISTQB)などで言う定義を説明します。
デバッグ(debugging)の定義は
ソフトウェアの故障の原因を見つけて、分析して、取り除くプロセス。
テスト(testing) の定義は
全てのライフサイクルを通じて実施する静的、動的なプロセスにおいて、成果物が
特定の要件を満足するかを判定し、目的に合致することを実証し、欠陥を見つけるため、ソフトウェアプロダクトや関連成果物に対し、計画、準備、評価をすること。
という違いです。
ちなみに、デバック、ではなくデバッグ。「グ」が正しい発音なのでご注意を。たまに「デバック」と言ってる人を見かけます・・・