Boost logo

Boostテストライブラリ

"壊れる可能性のあるものはすべてテストする"

XPの格言

イントロダクション
コンポーネント

実行モニター
プログラム実行モニター
テストツール
テスト実行モニター
ユニットテストフレームワーク
ミニマルテスト

FAQ
設計

リリースノート
オープンな議論
移植性
謝辞

イントロダクション

Boostテストライブラリは テストの作成、テストケースやテストスィートにおけるテストの管理、またそれらの実行制御などに適したコンポーネントセットを提供する。プログラム実行モニター はテスト環境ではなく、実稼働環境において有効である。

reference to the top

コンポーネント

  • 実行モニター - 例外・エラー検出用の基本ツール。製品またはテストプログラムに対して使用する。実行モニターはユーザの作成した関数を呼び出し、発生した例外すべてを検出・報告する。他のBoostテストライブラリコンポーネント内でも使用している。実稼働環境において、プログラムを破壊してしまいそうな関数の呼び出しを制御することも可能である。
  • プログラム実行モニター - プログラムの実行状況を監視する簡単なヘルパーツール。プログラム実行モニター はmain関数を提供し、実行モニターを使ってプログラムの実行を管理する。実稼働環境において、統一的なエラーレポートを作成するために使用する。テスト環境においてプログラムを管理する場合は、代わりにテスト実行モニターを使う。
  • テスト実行モニター - モニタ環境においてテストプログラムを実行する。テスト実行モニター は簡単なテストプログラムの実行を管理するメイン関数を提供する。テストロジックを実装する際にはテストツールを使用する。テスト環境における使用を想定している。製品用コードの実装を管理する場合には プログラム実行モニターを使用する。
  • ユニットテストフレームワーク - テストケースの作成と管理を容易にする枠組である。これは単純な関数やメンバ関数として作成したテストケースを、1つのテストスィートツリーで管理する。テストケースを実装する際にはテストツールを使用することができ、ログレポートレベルと結果レポートレベルを管理できる。
  • ミニマルテスト - Boost.Testの元のバージョンに附属していた機能を提供するツール。 テスト実行モニター と同じように、テストプログラムの実行 状況を監視することができる。加えて、テストツールのものに類似したテストツールを規定する。ミニマルテストツールは外部コンポーネントとのリンクを必要としないので、簡単で迅速なテストを行うのに最適なコンポーネントとなるだろう。
reference to the top

FAQ

Boostテストライブラリ FAQ参照

設計

Boostテストライブラリ設計参照

リリースノート

  • ユニットテスト自動登録機構が導入された
  • XMLログフォーマットが導入された
  • XMLレポートフォーマットが導入された
  • BOOST_CHECK_NO_THROWテストツールが導入された
  • BOOST_BITWISE_CHECKテストツールが導入された
  • ライブラリファイル名が変更になった
  • コンポーネントサンプル、テストページが導入された
  • システムエラー捕捉スイッチが導入された
  • MS Cランタイムデバッグスイッチが導入された

より詳しい情報はリリースノートに書いてある。

reference to the top

オープンな議論

  • Boostテストライブラリ にどれだけ依存させるか。機能拡張のこ とを考えて、 制約を取除く必要がある。
  • メモリ使用テストツール。
  • パフォーマンステストツール。
  • 与えられたタイプリストのテンプレート関数をテストするツール。
  • コンパイル可能性チェック機能をいかに実装するか。
  • テストケースを選択して実行する機能。ユーザによる指定とフレームワークへの通知方法。
  • コマンドライン引数処理ツール: 外部か内部か、シンプルなものにするか高機能なものか
  • マルチスレッドプログラムのテストのサポート。
  • BOOST_TEST_CLOSE によって値を適切に出力する。
  • Win32 プラットフォームでのタイムアウトの実装。
  • リファレンスとチュートリアルの分離。
  • ユニットテストフレームワーク拡張のドキュメント化。
reference to the top

移植性

Boostテストライブラリは Boost library を移植またはテストすることが重要であるので、厳密なC++ 形式で、また依存度も最低限に抑えて書かれている。

テストは多くのコンパイラでコンパイル・実行できる。

謝辞

Original Test Library:

Ed Brey, Kevlin Henney, Ullrich Koethe, and Thomas Matelich provided very helpful comments during development. Dave Abrahams, Ed Brey, William Kempf, Jens Maurer, and Wilka suggested numerous improvements during the Formal Review. Jens Maurer was the review manager. Beman Dawes is the developer and maintainer.

Second Release:

Beman Dawes and Ullrich Koethe started the library. Fernando Cacciola, Jeremy Siek, Beman Dawes, Ullrich Koethe, Dave Abrahams suggested numerous improvements during the Formal Review. Jeremy Siek was the review manager. Dave reference to the top Abrahams edited this documentation. Beman Dawes was a great help in both final testing and merging library with rest of the boost. Gennadiy Rozental is the developer and maintainer.