NTTコムウェア株式会社様
Javaによるシステム開発の大規模化と、高品質・短納期が求められる状況で、J2EEフレームワーク開発の中心的ツールとしてJtestを導入。静的解析・動的テストの効率が飛躍的に向上し、システムの品質確保に多大な貢献をした。
システム本部 SE部
スペシャリスト
辻 克己 氏
システム本部 SE部
竹内 和彦 氏




開発ルールを守りつつ高品質のシステムを提供するには?
NTTコムウェアでは、1997年からJavaによる大規模システム開発を開始。企業の基幹システムを手掛けることが多い同社にとっては、常に最大限の品質を確保することが重要な課題であり、そのための社内ルールも確立されていたが、これを具体化し、現場の開発に生かすにはツールの導入が欠かせないと判断した。
1997年、同部社では基幹業務にJavaを導入する大規模プロジェクトが進められて以来、これまでに多くのJavaベースの開発を手掛けてきた。システムが大規模になればなるほど、開発ルールとそのルールの展開が、最終的なシステム品質に大きく影響してくる。開発ルールを規定することと、それに準じてシステムを作ることは別問題で、ルールにどう準拠して品質が高いものをつくるかが課題でした。
「開発ルールを規定することと、それに準じてシステムを作ることは別問題です。ルールにどう準拠して品質が高いものをつくるかが課題でした。」(辻氏) 。
Jtestの静的解析機能とカスタマイズの容易さが導入の決め手
Jtestの導入は、比較的小さいプロジェクトでコンポーネントを開発したのが最初だった。当初、Servletベースの簡易なフレームワークを作る必要があり、これを社内にコンポーネントとして展開することに。コンポーネントは利用形態が想定できないため、品質には最大限の注意を払う必要があった。このときJtestを試し、静的試験で満足のいく結果が得られた。技術的なガイドラインの作成も済み、現在は多くのプロジェクトにJtestが展開されている。Jtestの社内での位置づけは、すでにJavaの単体テストツールの「標準ツール」である。
Jtest導入の際の選定ポイント
- ルールのカスタマイズにも柔軟に対応
- 優れた静的解析能力
- (他社製品と比較して)比類のないコストパフォーマンスの高さ、静的解析における
性能の良さ - 動的テストの有効性
- テストケースの自動生成機能
- エラーパターン出力レポートの自動作成
- Junitで作成したテストクラスの取り込みが可能
- 回帰テスト機能
「人の感覚に頼るのではなく、品質の客観的な指標が欲しいということで、まずはこれに取り組みました。今ではJtestのルールは社内に公開され、社員の誰もがダウンロードできる環境にあります。Jtestは、ルールをカスタマイズする際にも柔軟に対応できるところがいいですね。」(NTTコムウェア株式会社システム本部 SE部 村上氏)
Jtestの導入で大幅な工数削減を実現
今回はバージョンアップだったが、期待以上の工数を削減できた。新規クラスの開発時にJtestを使用すればもっと削減ができるのは確実。クラス数が数百数千になると目視で静的確認を行うのはとても無理だが、Jtestを導入したことにより、かなりの工数削減が可能になる。動的テストは、従来のJUnit 単独のテストと比べて30%以上の工数削減が予想されるが、そのメリットは大きい。あくなき品質向上を追及するNTTコムウェアにおいて、Javaアプリケーション開発におけるJtestの重要性は、これからもますます高まっていきそうだ。
「Jtest導入後も、後発のテストツールを試して評価することがありましたが、Jtestのコストパフォーマンスの高さ、静的解析における性能のよさなどを考えると、他のツールにいこうする理由は見つかりませんでした」(辻氏)
「特に効果を感じたのは、サーバーサイドの新規クラスを作成した時です。これまでは単体テストにJUnitを使用していましたが、Jtestを使った場合、テストケースの自動生成で、ソースの約70%をカバーするテストケースが生成されました。簡単なクラスであれば、Jtestが作るテストケースだけで 100%のカバレッジが可能です。これまではJtestが自動生成する部分もテストケースを作成していたので、準備だけで丸1日かかっていました」(竹内氏)。
関連ソリューション
関連サービス/製品
企業情報
| NTTコムウェア株式会社 | |
|---|---|
|
http://www.nttcom.co.jp/ 1997年にNTTの開発部門が独立して生まれた会社で、社員は約5900名。同社システム本部 SE部に属するJava専門チームは、社内の開発チームを支援する役割を担っている。各プロジェクトのJava に特化した技術支援のほか、Javaコンポーネントの社内への導入促進、フレームワークの開発、開発手法の普及活動など内容は幅広い。このうちJ2EEフレームワークとしてRasberry(ラズベリー)が、2002年にリリースされている。 |
|
【この事例に関するお問い合わせ】
システムエンジニアリング事業部 ソフトウェアエンジニアリング営業部
TEL 03-5792-8606
E-MAIL: parasoft-info@techmatrix.co.jp