便利機能(4)
テスト環境を仮想マシン上で用意

 日本マイクロソフトの長沢智治氏(デベロッパー&プラットフォーム統括本部 エバンジェリスト)は「今後、テスト環境のクラウド化が急速に進む」と見る。実際、クラウド上にテスト環境を用意している現場は少なくない。物理的にテスト環境をいくつも持つ必要はない。機材を調達せずにイメージの複製でテスト環境を素早く用意できるメリットがある。

 ただし、テストツールと切り離されたクラウド上のテスト環境では、管理画面が別になるなどの使いにくさがある。そこで注目したいのが、テストツール側でクラウド上のテスト環境を操作できる機能だ(図4)。

図4●さまざまなテスト環境を仮想マシン上で用意
最近はテストすべきクライアント端末やWebブラウザーが多岐にわたり、準備に手間と時間がかかる。米Microsoftの「Visual Studio Lab Management」は、仮想化技術を使ったテスト環境の構築支援機能がある。1台のクライアントからさまざまなテスト環境を利用できる
[画像のクリックで拡大表示]

 例えばVisual Studioの最新版には「Visual Studio Lab Management」と呼ぶ機能がある。ポイントは大きく二つ。一つはテストツールの管理画面上からテスト環境の生成や複製、選択を実施できる点。もう一つは、仮想サーバーだけでなく、仮想クライアントのテスト環境とも連携できる点だ。管理画面から、テストケースごとに別々のクライアントを割り当てられる。

 「クライアント環境は画面転送されるので、Windows XP/Vista/7といった異なるOSを搭載したPCをそれぞれ用意する必要はない」(長沢氏)。開発者向けサポートサービス「MSDN(Microsoft Developer Network)」を利用すれば、クライアントOSのライセンスを別に用意しなくてもよい。

便利機能(5)
実業務に近いテストデータを生成

 テストで利用するデータには、テストケースのパラメーターとなる入力値や期待値などのデータと、システムが持つデータベース上のデータがある。テスト準備で負担になるのは、後者のデータベース上のテストデータだ。

 便利機能の五つ目は、このテストデータの自動生成である。米IBMや米Oracleが最近になって提供し始めた。

 例えば米Oracleの「Data Masking」では、氏名や住所、クレジットカード情報といった機密データを自動検知してマスキングしたり、直近3カ月の売り上げデータをサブセットとして切り出したりすることが可能だ(図5)。テストデータによっては、表計算ソフトで十分作成可能な場合もある。だが、データが大量でテーブル構造が複雑だとそうもいかない。マスクすべき列を探すのが大変な上に、むやみやたらとマスクすると、アプリケーションに実装されたデータ型や依存関係を壊しかねない。人手によるマスク作業はミスが起こる危険性も招く。データが大量になれば、こうした負担がさらに高まる。

図5●実業務に近いテストデータを自動で生成
情報漏洩対策を施しながらテーブル構造を壊さず素早くテストデータを生成するのはかなり難しい。米Oracleの「Data Masking」は、マスキングとサブセット生成という機能を備え、負担が大きかったテストデータの準備作業を自動化できる
[画像のクリックで拡大表示]

 ツールによって対象とするデータベースに制約があるが、基幹システム刷新やデータウエアハウス構築のプロジェクトなど、実業務に近い大量データを準備したい場合は有効だろう。