アットマーク・アイティ @IT@IT情報マネジメント@IT自分戦略研究所QA@ITイベントカレンダー  
   
 @IT > 品質向上フレームワークを構成する4種類のツール
 
@IT Special

 

PR

4種のテストツールで構成
サイオスの品質向上フレームワーク (Page2)


品質向上フレームワークを
構成する4種類のツール

単体テスト 自動化ツール
  〜Agitar

 Agitarは単体テスト向けの自動化ツールだ。製品は、本体である“Agitator”と、レポートツール“Management Dashboard”で構成される。

 Agitatorは、開発者個々人がローカルで使用するツールで、Eclipseのプラグインとして開発環境内に統合して利用できる。あらかじめテストコードを作成することなく、動的テストを自動実行できることに加え、静的テストではコーディングルールを自動チェックする機能も備える。この機能は開発者が必要な時に操作することで、開発者がローカルで何度でも繰り返し気軽に実行できる点が大きなメリットである。しかも、テスト自体が自動で行われるため、開発者個々のテストスキルの影響を受けない。つまり、複数メンバー間でテスト品質がばらつくこともなく、プロジェクト全体でコードの品質を一貫させることができる。また、ホワイトボックステスト、ブラックボックステスト、レグレッションテストのすべてに対応する。自社内での開発だけでなく、オフショア開発や委託開発に使用すれば、成果物の品質を保つのが容易になるというメリットも期待できる。

画面1 Agitatorを起動し、単体テストを自動実行 (画像をクリックすると拡大します)

  Management Dashboardは、プロジェクト全体の状態をレポートするツールで、マネージャや品質保証担当者が、各開発メンバーが実行する単体テストの進捗などを把握し、効率的に管理することが可能になる。ソースコードの品質や単体テストの進捗状況を数値化してレポートする機能も備える。レポートはHTML形式で出力されるため、複数のメンバーでプロジェクト全体の進行状況を共有することにも役立つツールだ。

画面2 Management Dashboardにより、開発者の進捗を管理 (画像をクリックすると拡大します)

 SIOSでは、2005年からAgitarの提供を開始すると同時に自社内でのソフトウェア開発プロジェクトでも使用を開始している。この結果、事例のひとつとして単体テストに要する工数を約65%削減することができるなど、大きな成果が上がっているという。

結合テスト/システムテスト 自動化ツール
  〜Rational Functional Tester / Performance Tester

 単体テストに続いて実行されるシステムレベルでのテストツールとして提供されるのが、Rational Functional Testerと、Rational Performance Testerの2種類のツールである。

 Rational Functional Testerは、初心者/上級者ともに使える自動化テストツールで、Webアプリケーション、Javaアプリケーション、.NETアプリケーションに対する回帰テストを自動化する。Java言語によるテストスクリプトが使用され、コーディング不要でテストができる。ユーザーインターフェイスはEclipseプラグインとして提供されるため、開発環境に統合して利用できるほか、Visual Studio .NETにも統合できる。

画面3 画面操作テストを自動化するRational Functinal Tester (画像をクリックすると拡大します)

 この段階のテストは、とにかくユーザーが実行可能な操作を網羅的にすべて実行してみる、という単純だが繰り返し回数が多いものとなるため、特に自動化のメリットが大きくなる部分だ。開発者が結合テストを実行すると工数が発生する上、本来開発者が手掛けるべき高度な開発作業がテストの間、中断されることを考えると、手動で実行するのはあまりにロスが大きいことが分かるだろう。さらに、自動化することで人為的なミスが入り込む余地を減らし、再現性のある定量的な結果が得られることもメリットとなる。

 Rational Performance Testerは、Webベースのアプリケーション(HTTP/HTTPS)のスケーラビリティや信頼性のチェックを目的として、高負荷を与えてパフォーマンス測定を行うツールだ。現実的なアクセスをエミュレートし、定量的なテストを安定的に実行できる。結果も再現性がある形で得られ、テスト結果を見やすくグラフ表示する機能も備える。

画面4 パフォーマンス測定を効率化するRational Performance Tester (画像をクリックすると拡大します)

 テストシナリオや使用したスクリプト、テストのログを「テスト資産」として保存することも可能で、ログデータの可搬性も確保されている。このため、ユーザーに対して説明責任を果たすための資料として利用することもできる。

 Rational Functional TesterもSIOS社内で利用されており、実プロジェクトで成果を挙げている。テストの準備には手動テスト時に比べて若干余分に工数が掛かったものの、テスト実施の速さは20分の1以下という圧倒的な効率で、総工数でも75%削減に成功したという。

脆弱性検証 自動化ツール
  〜FORTIFY Source Code Analysis Suite 3.5

 FORTIFY Source Code Analysis Suite 3.5は、ソースコードをチェックして脆弱性を発見するためのツールだ。脆弱性を発見するだけでなく、セキュアなコーディングルールを徹底することで、開発チームのスキルの底上げに活用することも可能だ。

 5万種類以上の脆弱性に関するノウハウが組み込まれており、これに基づいてソースコードのコードレビューを自動実行する。対応するプログラミング言語は、C/C++、Java、JSP、C#、VB.NET、PL/SQL、TSQLなど。ソースコードの規模は、数千行/数個のモジュール構成の小規模アプリケーションから、数千万行/数万モジュールといった大規模アプリケーションまで、さまざまな規模のプロジェクトにスケーラブルに対応する。

画面5 コードをスキャンし、脆弱性を発見 (画像をクリックすると拡大します)

 コードレビューは、スキルの高い開発者がコードを目で追っていくことになるので、品質向上には有効でも、コストが高くつくのが問題だ。社内のスキルの高い開発者を開発に専念させるためにコードレビューを外部に委託する手もあるが、最低でも200万円以上のコストが掛かるといい、繰り返し何度も実行するのは困難だ。FORTIFYでは、ソフトウェアによる自動実行のため、ポイントを絞ったチェックではなく、コード全体をターゲットにしたチェックが可能なうえ、コストを気にせず必要なだけチェックを繰り返すこともできる。

 また、単にコードに内在する脆弱性を指摘するだけに留まらず、解析結果と合わせて詳細な解説も提供されるため、開発者それぞれが自分のコードに基づいた改善策を知ることができ、スキルアップのためのトレーニング・ツールとしての効果も期待できる。

画面6 発見した脆弱性を表示し、対策を表示 (画像をクリックすると拡大します)

 開発元のFORTIFY社のデータによれば、コードレビューの時間が155時間から72時間に短縮され、脆弱性1件あたりの修正時間も35分から18分に短縮されるなどの効果が達成できるという。これは、開発中に随時チェックを実行できることで得られる効果で、開発を完了してテスト工程に移行したあとで要修正箇所が発覚するのに比べると、より迅速な修正が可能となるためだ。なお、ユーザーサイトにおける18プロジェクトでの検証結果では、6万行〜430万行のコードの解析に要した時間は平均28分で、最短では3分で結果が得られたという。

ソフトウェアコード混入出検証 自動化ツール
  〜protexIP

 protexIPは、オープンソース・ソフトウェア(OSS)からのコード混入をチェックするという、伝統的なソフトウェアのテスト工程には存在しなかった新しい分野のソフトウェアだ。

 OSSが豊富に利用可能となった現在では、ソフトウェア開発に当たってすべてを独自開発するのではなく、一部にOSSを活用して開発する例も珍しくはなくなった。しかし、OSSはそれぞれさまざまなライセンスで公開されており、ライセンスで規定された条件に反する利用はできない。protexIPは、ソースコードを精査してOSS由来のコードが含まれているかどうかを検出し、レポートすることができる。

画面7 コードをスキャンし、OSSコードのIP違反を検知 (画像をクリックすると拡大します)

 もちろん、protexIPを完成したソフトウェアの最終チェックに利用することもできるのだが、SIOSではプロジェクトの開始段階、仕様・設計の際に利用することを提案している点が面白いところだ。というのも、OSSの利用が拡大している現在では、最初の仕様策定段階でOSSを利用することが決まっている場合が珍しくない。このとき、使用予定のコードをあらかじめチェックしておき、問題がないことを確認しておけば、以後の開発作業中に逐一再確認する手間が省けて開発効率が向上する。最終段階でチェックして問題が発覚した場合には、場合によっては大幅な手戻りが発生してしまう可能性があるため、早い段階でのチェックが有効というわけだ。

 OSSは膨大な量が公開されており、ライセンス違反を確実にチェックするのは人手では困難な作業だ。さらに、公開されているOSSの中にライセンス違反が内在している例もあるという。すなわち、BSDライセンスで公開されているOSSの中にGPLコードが混入しているといった場合だ。GPLでライセンスされたコードを勝手にBSDライセンスに変更することはできないため、この場合の要因はGPLコードを混入させてしまった元の開発者にあるのだが、知らずにそのコードを再利用してしまえば自社にオープンソースライセンス侵害の責任が及ぶリスクもあるわけだ。このように、もともとのOSSにライセンス違反コードが含まれているようなケースは、発見するのが極めて困難だ。protexIPでは、こうした見つけにくいライセンス違反を検出してくれる有用なツールとなる。

前のページ1 2

4種のテストツールで構成、サイオスの品質向上フレームワーク
  Page1
ソフトウェアの品質向上に現実的に取り組むSIOS
  Page2
品質向上フレームワークを構成する4種類のツール
  Agitar
Java単体テスト効率化ソリューション
  Rational Software Functional Tester/Performance Tester
統合/負荷テスト自動化ソリューション
  FORTIFY
アプリケーション脆弱性対策ソフトウェア
  protexIP
ソースコードの知的財産コンプライアンス管理ソリューション

提供:サイオステクノロジー株式会社
企画:アイティメディア 営業局
制作:@IT 編集部
掲載内容有効期限:2007年2月16日
 
4種のテストツールで構成
サイオスの品質向上フレームワーク
    Page1
ソフトウェアの品質向上に現実的に取り組むSIOS
  Page2
品質向上フレームワークを構成する4種類のツール
  Agitar
Java単体テスト効率化ソリューション
  Rational Software Functional Tester/Performance Tester
統合/負荷テスト自動化ソリューション
  FORTIFY
アプリケーション脆弱性対策ソフトウェア
  protexIP
ソースコードの知的財産コンプライアンス管理ソリューション

品質向上フレームワークの詳細・資料請求
本記事で紹介した4種のテストツールについて、より詳しい情報、資料をご希望の方は下のボタンをクリックしてください。

関連リンク
サイオステクノロジー
Agitar
Rational
protexIP
Fortify
お問い合わせ


 
@ITトップ@IT Special インデックス会議室利用規約プライバシーポリシーサイトマップ