テスト(test)は、プログラムが 意図どおりに動くかを確かめる 作業です。品質を保ち、バグ を早く見つけるために欠かせません。
テストは、対象の大きさによって、いくつかの段階に分けられます。
- 単体テスト(ユニットテスト) … 関数 など、小さな部品ごとに確かめる。数が多く、速い。
- 結合テスト … 部品を組み合わせ、連携が正しいか確かめる。
- E2Eテスト … 利用者の操作をまねて、システム全体を通しで確かめる。
flowchart TD E["E2Eテスト(少・遅)"] --> I["結合テスト(中)"] I --> U["単体テスト(多・速)"]
この形は「テストピラミッド」と呼ばれ、土台となる単体テストを多く、上にいくほど少なく するのが良いバランスとされます。
テストの大きな価値は、自動化 にあります。テストをコードとして書いておけば、変更のたびに素早く実行でき、「うっかり壊した」をすぐ検知できます。これが CI/CD の土台となり、安心して リファクタリング するための安全網にもなります。テストを先に書く進め方が TDD です。