ソフトウェアテストにおいて、テストハーネスは、アプリケーションまたはコンポーネントのテストを支援するために構成されたスタブとドライバーのコレクションです。 [1] [2]完全なインフラストラクチャが利用できない、または望ましくないテスト環境またはコンテナの模擬インフラストラクチャとして機能します。
テスト ハーネスを使用すると、テストを自動化できます。指定されたパラメータを使用して関数を呼び出し、結果を出力して目的の値と比較できます。テスト ハーネスは、開発されたコードへのフックを提供し、自動化フレームワークを使用してテストできます。
テスト ハーネスは、ライセンス コスト、テスト環境がエアギャップになっていることを意味するセキュリティ上の懸念、リソースの制限などにより、アプリケーションの運用インフラストラクチャのすべてまたは一部が利用できない場合にテストを容易にするために使用されます。また、完全なアプリケーションから計算されたデータの代わりに、定義済みのテスト データと小さなソフトウェア コンポーネントを提供することで、テストの実行速度を上げることもできます。
これらの個々の目的は、ユニットテストフレームワークツール、スタブ、またはドライバーによって達成される可能性があります。[3]
例
メインフレーム コンピュータ上のアプリケーションとインターフェイスする必要があるアプリケーションを構築しようとしているが、開発中にメインフレームが利用できない場合は、代わりに使用するテスト ハーネスを構築できます。これにより、通常は複雑な操作を、定義済みのデータと応答を提供することで少量のリソースで処理できるため、メインフレームで実行される計算が不要になります。
テスト ハーネスは、プロジェクトの成果物の一部になる場合があります。テスト ハーネスは、アプリケーションのソース コードとは別に保持され、複数のプロジェクトで再利用される可能性があります。テスト ハーネスは、アプリケーションの機能をシミュレートします。テスト スイート、テスト ケース、テスト レポートについては認識しません。これらは、テスト フレームワークと関連する自動テスト ツールによって提供されます。
その仕事の一部は、適切なテスト設備をセットアップすることです。
テストハーネスは一般的にJavaなどの開発環境に固有のものになります。しかし、より複雑なシステムで使用するために相互運用性テストハーネスが開発されています。[4]
参考文献
- ^ 「テストハーネス」。ISTQB用語集。 2023年9月10日閲覧。
- ^ Rocha, Camila Ribeiro; Martins, Eliane (2008). 「コンポーネントテストのためのモデルベースのテストハーネス生成方法」。Journal of the Brazilian Computer Society : 8 。 2023年9月10日閲覧。
- ^ ISTQB 試験認定 - 「ソフトウェア テストにおけるテスト ハーネス/ユニット テスト フレームワーク ツールとは?」、2015 年 10 月 19 日にアクセス
- ^ Ricardo Jardim-Gonçalves、Jörg Müller、Kai Mertins、Martin Zelm、編集者、Enterprise Interoperability II: New Challenges and Approaches、Springer、2007、p. 674、2015 年 10 月 19 日にアクセス
さらに読む
- Pekka Abrahamsson、Michele Marchesi、Frank Maurer、「Agile Processes in Software Engineering and Extreme Programming」、Springer、2009 年 1 月 1 日
