テストコードとは

概要

テストコードとは、プログラムが正しく動作しているかを自動で確認するためのコードのことです。
開発者が書いた処理に対して、
「入力に対して期待した出力が得られるか」「エラーが起きないか」などを自動でチェックできます。

PHPなどの多くの言語には、テスト専用の仕組みやツール(フレームワーク)が用意されており、
開発の品質向上やバグの予防に役立ちます。

正式名称

Test Code(テスト・コード)

略称

略称としてはあまり使われませんが、以下のような関連語があります:

  • UT(ユー・ティー):Unit Test(ユニット・テスト、単体テスト)
  • E2E(イー・ツー・イー):End to End(エンド・トゥ・エンド)テスト

特徴

  • プログラムが正しく動作するかを自動で検証できる
  • 手作業で確認しなくても一括でチェックできる
  • バグの早期発見につながる
  • リファクタリング(コード整理)のときに動作保証として使える
  • CI/CDと連携して使われることが多い
  • テストを先に書く「TDD(テスト駆動開発)」という手法もある
  • 学習コストはあるが、長期的には保守コストを下げる

具体例

PHPでテストコードを書くときは、以下のようなフレームワークを使用します

ツール / フレームワーク解説
PHPUnitPHPで最も使われているテストフレームワーク。ユニットテストに最適。
PestLaravel向けの、よりシンプルな記法ができるPHPテストフレームワーク。
Laravelのテスト機能Laravelでは標準でテストが組み込まれており、php artisan test で実行可能。

テストコード例(PHPUnit)

use PHPUnit\Framework\TestCase;

class SampleTest extends TestCase
{
    public function testAddition()
    {
        $this->assertEquals(4, 2 + 2);
    }
}

このコードは「2 + 2 が 4 になること」をチェックしています。

関連用語

用語解説
ユニットテスト小さな部品(関数・メソッド)単位でのテスト
統合テスト複数の処理を組み合わせた状態でのテスト
E2Eテスト実際の操作を想定した、アプリ全体を通したテスト
CI/CDコードをプッシュしたときにテストを自動実行する仕組み
PHPUnitPHPの代表的なテストフレームワーク
TDDテストを先に書いてから実装する開発手法
バグ本来の動作と違う不具合(テストで早期に発見できる)

タイトルとURLをコピーしました