1 はじめに

新しい分散処理技術であるWebサービス[1]は,その技術的発展 と普及に伴い企業内システムの有機的な統合に有用であるとして注目されるよう になってきた. Webサービスでは,プロバイダ(サービス提供者)が提供するサービスをリクエス タ(サービス利用者)が標準技術に基づいて利用する. このオープン性はWebサービスの重要な特徴の一つであり,プロバイダの実装に 依存しない,高度に抽象化された分散システムを構築できる.

Webサービスによるシステムの抽象化は,プロバイダの内部情報を知らなくて もリクエスタがサービスを利用できるというメリットをもたらす.しかし,リクエス タ開発のテスト工程では,むしろプロバイダの内部情報を詳細に把握できる 方がよく,抽象性は逆にテストを困難にする要因となる.

本研究の目的は,既存のプロバイダを利用したリクエスタ開発にお いて,プロバイダの内部情報を取得する手段を確立し,リクエスタが主導する総 合的なホワイトボックステストを実現することである.

一般に,プロバイダの内部動作をリモート監視または制御する手段はな い.したがって,リクエスタはプロバイダの内部情報を必要とするテスト要件を 作成できず,統合的なホワイトボックステストの実施は不可能となる. そこで,本研究では,リクエスタから プロバイダ内部にテスト用コード,ライブラリ,およびツール をWebサービスのメッセージとして送信し,実行時動的コード変 換技術を用いて稼働中のプロバイダにフックするという手法を採ることで,問 題の解決を図った.

以下,本論文の構成について概要を述べる. 2章では,Webサービスの技術的な概要と,企業内システムへ の導入および運用状況について示す.3章では,リクエスタ開発 のテスト工程におけるWebサービス固有の問題を明らかにし,本研究の問題領域 を定義する.更に,分散型テスティング技術およびテス ティング方法論の両面から,既存のテスティング手法を検討する. 4章では,問題解決の要件を抽出し,解決のアプローチを提案す る.5章では,4章で示したアプローチに基づき, システムを設計する.特に,本システムを構成する最も重要な要素技術である動 的コード変換技術について述べ,本システムとの関わりを明らかにする. 6章では,5章で示した設計に基づき, Javaプラットフォームを用いて実装を作成する.7章では, 本システムを用い,実際にプロバイダの内部情報をテストケースの実行時に取得 して,手法を評価する. 8章では,その他の関連研究について述べる.最後に, 9章で全体を総括する.

MITSUBAYASHI Shin 2007-03-14