本連載では、開発プロセスの中でも重要な位置を占めるテストプロセスに着目し、全体最適を実現させるためのテストプロセスについて考察します。今回も前回に引き続き、ソフトウェアテストのトレンドとして、テストの自動化に用いるツールについて紹介します。

静的テスト支援ツール

静的テストとは、レビューやコーディングルールのチェック、ソースコードメトリクス(品質測定)などから欠陥を見つけるテストを指します(通常「テスト」と呼ばれているものは、静的テストに対し動的テストとなります)。

代表的なツールとしては、静的解析ツールが挙げられます。同ツールを用いると、バッファオーバーフローのような動的テストでは発見が困難な欠陥を、コード記述内容から見つけられます。また、動的テストの前にプログラムのどの部分に品質の問題がありそうかという当たりを付けることができ、動的テストの量の絞り込みに役立ちます。

主要な商用ツールには、東陽テクニカの「QAC(C言語用)」「QAC++(C++用)」、米パラソフトの「JTest(Java用)」「C++Test(C++用)」があります。フリーウェアでは「CheckStyle」や「FindBugs」など、Java用のツールが充実しています。

テスト仕様支援ツール

テストケース作成を支援するツールと、テストデータ作成を支援するツールがこの分類に該当します。前者の例としては、制御パステストのテストケースを生成するツール、状態遷移図からテストケースを作成するツール、AllPairテストのテストケースとなる組み合わせを自動的に作成するツールなどが挙げられます。また、後者に該当するものには、データベースのデータ定義に応じてテストデータを自動的に作成するツールなどがあります。

この種のツールは基になる情報を適切にインプットしないと、まともな結果は出てきません。テストケース作成ツールの場合、特定のテスト設計技法のルールに従ってテストケースを生成するだけです。テスト対象の決定、重点的にテストしなければならない機能の判断、適用する設計技法の選定など、テスト設計技法を適用する前段階の作業は、当然ツールではできません。

具体的なツールとしては、AllPairのテストケースを生成する「PICT」がフリーウェアながら、機能が強力だということで注目を集めています。

執筆者プロフィール

湯本剛 (Tsuyoshi Yumoto)
株式会社豆蔵 シニアコンサルタント。1991年に製造メーカーに就職し、原価管理、製品管理システム構築プロジェクトに参画。その後ソフトハウスにてパッケージソフト、プリンタドライバ、C/Sシステム、Webシステムなどソフトウェアテスト業務に携わる。現在は豆蔵にてソフトウェアテストのコンサルタントとして活動中。日本科学技術連盟SQiPステアリング委員、JSTQB技術委員、s-open幹事、NPO法人ソフトウェアテスト技術振興協会理事。

『出典:システム開発ジャーナル Vol.6(2008年9月発刊)
本稿は原稿執筆時点での内容に基づいているため、現在の状況とは異なる場合があります。ご了承ください。