(テストには単体テスト、結合テスト、負荷テスト、セキュリティテストなど様々なテストが存在しますが、ここではコードの動作を確認する単体テストについて解説します)
人間が書くコードには、常にバグが混入する危険がつきまといます。これは人間が行う以上、避けることのできない問題です。しかしだからといって、バグのあるままソフトウェアをリリースするわけにもいきません。
そこで行うのがテストです。アプリケーションのロジック本体とは別に、そのコードが意図通りの結果を返すことを確認するためのコード(テストコード、略して単にテストとも)を記述し、このテストコードを実行することで、本来のロジックに間違いがないことを確認するのが一般的です。
正しく書かれたコードは、人間が都度手動で実行する必要はありません。そのためテストは、コードをバージョン管理システムにコミットした後、CI(継続的インテグレーション)の一環として、自動的に実行するのが基本となっています。