テストコード【testing code】

テストコードは通常、対象の関数やメソッドに対して入力値を与え、その結果が期待される出力と一致するかをチェックする構造になっている。成功した場合は「問題なし」として記録され、期待と異なる結果が返った場合はエラーや例外として通知される。
テストコードを作成することで、後から機能を追加した場合やコードを修正した場合でも既存の機能が意図せず動作しなくなる問題を検出できる。開発者は不具合を早期に発見でき、修正の影響を短時間で確認できる。単体テスト、結合テスト、統合テストなどの段階で使用され、ソフトウェア全体の品質確認に利用される。
テストコードは手動で個別に実行することもあるが、開発環境のテスト用の機能と連動し、自動化されたビルドやデプロイのプロセスで繰り返し実行されることが多い。テストフレームワークやライブラリを利用して構築される場合もあり、「JUnit」や「pytest」など、特定のプログラミング言語向けのツールが広く用いられる。
近年では、継続的インテグレーション(CI)や継続的デリバリー(CD)の環境(CI/CDパイプライン)に自動化されたテストコードの実行機能を組み込み、コード変更の度に既存の機能が壊れていないか自動的に確認する手法も広まっている。プログラム本体より先にテストコードを書き、そのテストに通るように本体のコードを記述していく「テスト駆動開発」(TDD:Test-Driven Development)という開発手法も存在する。