
日本ヒューレット・パッカード株式会社は、JaSST’12 Tokyoのプラチナスポンサーです。
テクノロジーセッションの資料を公開します!
セッションスライド
セッションで使った動画(YouTube)
その他の情報
![]() |
株式会社チェンジビジョン モデリングツールastahとHP Quality Centerの連携に関する共同研究ページはこちら |
![]() |
コベリティ日本支社 Coverity 5無料トライアルソフトウェアのダウンロード |
| 講師 |
小宮山晃(日本ヒューレット・パッカード株式会社HPソフトウェア事業本部) |
中原慶(株式会社チェンジビジョン開発部) |
|---|---|---|
| 日時 | 1月26日(木)11時25分~12時25分 | |
テスト管理ツールはテストケースや自動テストスクリプトを資産として再利用できるようにしたり、要件、テストケース、インシデントを紐付けして品質を可視化したりといった効果があります。ただ、テストをテストだけで考える時代が終わったのと同様、テスト管理ツールもテストだけを管理する時代は終わりにしなければなりません。
セッションではテスト管理ツールが他の開発ツールとどのように連携するのかをご紹介します。また、チェンジビジョンとモデリングツールとテスト管理ツールを連携させることを研究しています。モデリングツールとテスト管理ツールの連携で、テスト要件からテストケースのつながりを可視化させる可能性を模索していますので、その研究成果をご紹介しま す。
講演内容
- 静的解析ツールとテスト管理の連携。
- モデリングツールと要件管理の連携。
NEWセッションのポイントを動画で紹介【第二回】
セッション概要
はじめまして、日本HPの小宮山です。今回のJaSST’12 TokyoではHP社のテスト管理ツール「HP ALM11」を中心にアプリケーションライフサイクルマネージメント(ALM)をどのように実現していくかをご紹介したいと思います。
といっても、ALMというと皆さんはどのようなものを想像されるでしょうか?現在、様々なベンダーからALMに関する手法が紹介されていますが、正直なところ、まだ日本ではなじみのない考え方であることも事実だと思います。そこでまずHPではALMをどのように考えているかざっとご紹介します。
HPではSDLCを「コアライフサイクル」、コアライフサイクルを中心に計画から廃棄までを「完全ライフサイクル」として位置づけています。今までSDLCが効率化のスコープであることが多かったのに対し、ビジネスに対するIT の貢献度を最大化するためには、そもそもアプリケーションのビジネス的な重要性を確実に評価する事が重要と考え、完全ライフサイクルの長期的で広いスコープの枠で効率化を図る事(改善し続けていく事(進行形))を提唱しています。
これには、全体最適化という視点もあります。例えば、ピタゴラスイッチ(有名なNHKのTV番組)をみるといろいろな仕掛けをもったパーツが組み合わさって結果をだすさまを見ることができるわけですが、全体から俯瞰してみれば、その結果を出すのにこんなにパーツが必要?って思いますよね。それぞれのパーツはパーツ毎の仕掛けを巧妙に最適化して(個別最適)動いていますが、全体最適化をしたらかなりすっきりとシンプルな仕掛けでいいかもしれません。
現在、アプリケーションの近代化と共に、様々な技術、フレームワークが登場し、支援ツールも数多く利用されています。他にも分散開発、クラウドの利用など環境の変化も出てきました。それぞれの特徴や機能を見ると非常に魅力的で最適化されているように思えるのですが、実際にそれらを組み合わせて使ってみようとすると、かなりの作りこみが発生する場合も少なくありません。それゆえに、全体最適のため、にツール群のインテグレーションは重要なキーになります。HP ALM11は前述のようにテスト管理をベースにしており、テストケースや自動テストスクリプトを資産として再利用したり、要件とテストケースと不具合をリンクさせてトレーサビリティによる品質の可視化をしたりする事ができます。しかしながら、テストだけを対象とした管理の個別最適化から一歩前へ踏み出して、アプリケーションの近代化に伴う様々な変化を考慮し全体最適化をしていかなければ、継続的な改善・効率化のパ フォーマンス速度を落とすことにもなりかねません。
前置きが長くなりましたが、HPが考えるALMによる全体最適や継続的な改善・効率化の考え方を実現するために、テスト管理ツール(HP ALM11)側からの開発者が日々利用しているツールとの連携に対するアプローチをJaSSTのテクノロジーセッションという場をお借りしてご紹介したいと思います。 セッションでは、前半のパートにて、「IDE」、「静的解析ツール」、「バージョン管理ツール」、「自動ビルドツール」とどのようにHP ALM11が連携していくのか検証してきた活動をご紹介します。中には日本では正式リリースされていない連携機能もございますが、HPがALMを支援していく方向性というものを理解していただければと思っています。 後半はチェンジビジョンの中原様に登壇していただき、ソフトウェア開発支援ツールastah*を活用しHP ALM11の要件間の関連を可視化させる試みについて現状報告をご紹介します。
まず、セッションの前半部分についてもう少し詳しくご紹介します。IDEとの連携では、HP ALM11とIDE(Eclipse)をTasktop社のTasktop Devで連携させます。Tasktop DevはMylyn をベースにしたもので、タスクという概念でIDE上の作業を管理し開発者にとって次のような効果をもたらします。
- 自分がやるべきタスクのリスト管理
- タスクとコードのリンク
- タスクのスケジュール化
- BTSツールとの連携
あなたが開発者として、ある機能の開発を担当するとしましょう、機能に対してMylyn上でタスクを作成してコーディングを始めます。タスクが複数になってきたり、タスクで当初対象としていたコード以外のコードや関連情報をEclipse上で表示させると再び該当コードだけを見つけるのに手間だったりしませんか?
Mylynを利用するとタスクにActiveというボタンがありこれをクリックしてから該当コードや関連リンクを表示させておき、次にActive状態Unableにしてみます。すると関係のないコードやリンクなどを開いた状態でタスクのActiveをクリックすると先ほど関連付けたコードやリンクのみ表示させることができます。またActive状態の際の時間をバックグラウンドで計測しているので、このタスクにどのくらいの時間がかかっているか知ることができます。
このMylynをベースに、エンタープライズ利用としてTasktopが提供しているTasktopDev はHP ALM11の要件、テスト、不具合のデータをタスクとしてインポート、アップデートができます。タスク作業中に最新のHP ALM11のデータと同期を取ることも可能です。
例えば、テスト中に不具合が発生した場合、テスターはHP ALM11上で該当テストをBLOCK状態に変更し、不具合登録します。その不具合情報で自動メール配信などのワークフローが設定されていれば担当開発者に不具合情報が連絡されます。開発者はTasktopDev(HP Connector)を利用して該当不具合とテストをタスクとしてインポートして、Active化やスケジュール化をして修正を始めます。そして修正が終わったら不具合情報を修正済に、テストの状態をBLOCKからREADYに変更し、HP ALM11へアップデートします。これにより、今度はテスト側で自動メール配信などのワークフローが設定されていればREADY状態になった事がテスト担当者に通知され、ただちに再テストを始める事ができます。
セッションでは、このTasktopDevを使ってHP ALM11の情報をEclipse上へインポートする所をご覧いただく予定です。 次の静的解析ツールとの連携ですが、Coverity社のCoverity® Static AnalysisおよびオープンソースツールのFindBugsTMで検出した不具合情報を直接HP ALM11へ登録する「Coverity Connector For HP ALM」についてご紹介します。ソースコード品質の不具合は、不具合を含むソースコードに関係するビジネス要件に紐づけることができます。これにより、要件定義から製品リリースに至るライフライクル全体でトレーサビリティを強化していくことができます。また、この統合ソリューションにより、開発部門と品質保証部門が、開発に関連する不具合や品質問題を共有できるため、両部門の連携が向上します。特長は大きく次の3つがあげられます。
- ライフサイクル全体にわたる開発資産のトレーサビリティ強化
- 新しいレベルの開発と品質保証のコラボレーション
- 既存プロセスへの静的解析技術のシームレスな統合
例えば、オープンソースの自動ビルドツールであるJenkinsを利用すればCoverity® Static Analysisの実行まで自動化できるため、Coverity Connector For HP ALMをさらに連携させ、ビルド実行毎の静的解析ツールによる不具合検出と検出後の不具合登録までを自動化する事ができます。(Jenkinsとの連携については後述します。) 不具合登録以降のシナリオは前述のTasktopのシナリオ例に繋がります。
コベリティ 日本支社の安竹氏からBTOClub(http://btoclub.jp/)内の特設サイトにさらに詳しい解説を寄稿していただきますので、ご興味がある方は是非アクセスしてください。
バージョン管理ツールとの連携についてはHP ALM11用にHPより提供するALI(Application Lifecycle Intelligence)(注)を利用します。既存のHP ALM11の機能でも、要件、テスト、不具合に対してバージョン管理ツールへのリンクを設定する事ができます。設計書などのドキュメントもバージョン管理ツールの管理対象としておけば、各機能要件に対して関連するドキュメントのバージョン管理ツールのリンクを設定しておくことにより、常に必要な時に最新版のドキュメントを参照する事ができます。さらにALIを利用すれば、オープンソースであるSubversion(SVN)へのソースコード修正後のCommit情報、Commit時のメッセージをあるパターンで既述する事によって、HP ALM11内の要件や不具合と自動でリンクする事ができます。ALIによって次の情報をHP ALM11側へ取り込む事ができます。
- Commit 情報
- 関係する要件、不具合
例えば、ある追加機能要件に対してコーディングを実施する場合、コーディング完了後にSVNへCommitするとHP ALM11上の該当機能とリンクができるため、他のメンバーが今回のCommitにより関係がある要件がなんであるか把握する事ができます。別の例としては、不具合が検出され、コードの修正を担当した場合、修正後にSVNへCommitするとHP ALM11上の該当不具合とリンクができるため、他のメンバーがどの不具合に対して修正したのか把握する事ができます。
このようにALIを利用することでSVN(SVN以外にCVS、Perforce、TFSと連携します)による変更影響をHP ALM11側で把握する事ができるようになります。
自動ビルドツールとの連携についてもバージョン管理ツールと同様、HP ALI(Application Lifecycle Intelligence)を利用します。現在はHudson/Jenkinsと連携する事ができます。Hudson/Jenkins側へALI用プラグインをインストールする事でビルド毎に情報を自動で収集しHP ALM11側への取り込みが可能になります。大きく次の情報を取り込む事ができます。
- ビルドレポート
- 関係する要件、不具合
また、取り込んだ後に次の情報を設定する事ができ、経緯をグラフとしてレポートする事ができます。
- ビルドでOpenした不具合
- ビルドでCloseした不具合
これにより、自動ビルドで実施された不具合の発生数、クローズ数を可視化しプロアクティブな品質管理が可能になります。
後半のチェンジビジョン社astah*との連携については、HP ALM11で管理されたビジネス要件からテスト要件までの間の関係性をより可視化することで、開発者の創造的な作業を支援するなど様々な利用方法が考えられ、今回はこれまでの活動で得られた成果についてご報告する予定です。これについては、BTO Club内の特設サイトにて、座談形式での動画をアップロード予定ですので、ご興味がある方は是非アクセスしてください。
なお、当日の講演資料についてもBTO Club内の特設サイトにて公開しますので、ご興味がございましたら、是非訪問していただければと思っております。BTO Clubにはこの他にもテストに役に立つトピックを掲載しております。
では、皆さんと1月26日 11時25分からのテクノロジーセッションでお会いできること楽しみにしています。
(注)ALIはまだ日本では正式リリースしておりませんので、ご興味がある方はHPまでお問い合わせください。


小宮山晃
中原慶
