単体テスト・ユニットテスト
単体テストとは、ソフトウェアやシステム、アプリケーションの開発時に行うテスト手法のひとつです。
ユニットテストや単体試験、コンポーネントテスト、モジュールテストなどいろいろな呼び方が存在します。
モジュール単位・コンポーネント単位などのプログラムを構成する最小単位の機能が、正しく動作しているかどうかを確認するテストです。
コンポーネント内のバグや不具合を発見して品質を高めていきます。
単体テストを行うメリット
単体テストを実施することによるメリットはいくつか存在します。
- バグや不具合の早期発見による作業の手戻り防止
- コンポーネントの品質を保つことで、結合テスト以降のテストをスムーズに行える
- 複雑なテストパターンを実施しないのであれば自動化がしやすい
単体テストの種類
テストケースの作成時に、内部の構造に着目するのか、関数やメソッドの外から見た入出力機能に着目するのかで、ホワイトボックステストとブラックボックステストに分けられます。
ホワイトボックステスト
すべてのプログラムが意図したとおりに動作しているかを確認するために、システムの内部構造に着目、重点を置いたテスト手法です。
条件分岐や例外処理を重視したテストなどを実施します。
内部構造の網羅的なテストを実施する手法ですが、十分な予算と時間を確保できていないと難しい場合があります。
ブラックボックステスト
要件や仕様書からテスト項目を作成し、ホワイトボックステストとは異なり、内部構造は考慮せずに、インプットとアウトプットにのみ着目して実施するテスト手法です。
単体テストだけではなく、結合テストやシステムテストなど、全てのテスト工程で使用することが可能です。