|
マイクロソフト プロダクト ディベロップメント リミテッド
ディベロッパー製品開発統括部テスティンググループ
テスト リード
福崎 博文
Visual Studio 2002から開発に携わっています。最近は,3歳になる愛娘と携帯電話でのおしゃべりにはまっています。
われわれVisual Studioのテスト・チームが行っているテスト作業には,製品テスト以外にも,テスト環境の構築,テストの自動化,バグ・レポートの作成など,様々なものがあり,それぞれに効率化すべきことがあります。今回は,その中のテスト環境の構築を取り上げましょう。
テスト環境の構築とは,製品をテストするうえで必要になるOSやアプリケーション・ソフトをインストールして,いつでも対象製品をテストできる状態を作ることです。一見して単純なことのように思えるかもしれませんが,少しずつ異なった条件を用意したり,テストのたびにクリーンな状態を何度も用意する必要があります。OSを最初からインストールしていると,気が遠くなるほど時間がかかってしまいます。そこでテスト環境を効率的に構築する必要があるのです。 皆さんの中には市販のバックアップ・ソフトなどを使ってイメージ化している方もいらっしゃることでしょう。イメージ化とは,一度コンピュータにOSやその他テストに必要なファイルなどをインストールしたら,そのハードディスクの内容を丸ごとコピー(バックアップ)しておくことです。その環境が必要になったら,そのイメージをハードディスクに復元することで,すぐにテスト環境を構築できます。
イメージ・ファイル作成だけでは追い付かない しかしながら,この手法は破綻してしまったのです。きっかけは,Microsoftが2002年1月に発表した「Trustworthy Computing(信頼できるコンピューティング)」です(該当サイト)。これ以降,セキュリティに関する社内ルールが厳しくなり,テスト・マシンとはいえ常に最新のセキュリティ・パッチを当てる必要が出てきたのです。 当初は,セキュリティ・アップデートが公開されるたびに,それを適用したイメージを作り直すことで対処していました。Visual Studioのテスト・チームには,80台近いコンピュータがあります。それらは機種も異なります。すべてのイメージ・ファイルに最新のセキュリティ・アップデートを適用し,作り直すのに,膨大な時間がかかってしまいます。製品のテストに時間を多くかけるはずが,次第にテスト環境構築のためのイメージ・ファイルのメンテナンスに時間をとられるようになってしまいました。これでは本末転倒です。
Sysprepを使うことで
Sysprepはイメージ化ツールというよりも,他のツールでイメージ化するときにSysprepで前処理をするもので,以下のようなことが実現できます。 つまり,単純なイメージ化ではなく,最新のセキュリティ・アップデート(パッチ)が適用された安全なテスト環境を,短時間で用意できるので,メンテナンス・コストが抑えられるのです。
具体的にどのようにこれらを実現するのか順に見ていきましょう(図2)。まず,パソコンにOSをインストールしてひな型の環境を作ります。これにはサービス・パックもインストールします(図2上)。 次に,マイクロソフトがWebサイトで無償提供しているSysprep.exeをダウンロードします。Windows XP用(該当サイト)とWindows 2000用(該当サイト)で異なるので,注意が必要です。また,Sysprepの本来の目的は,企業のシステム管理者やOEMメーカーなどが複数のコンピュータにOSをインストールすることです。日本語の技術文書がありますので,一度読んでおくことをお勧めします(該当サイト)。 ダウンロードしたプログラムを,ひな型になるパソコンにインストールして,実行します(図2中)。このときSID(セキュリティID)と呼ばれるマシンごとに与えられるID番号を削除します。さらにデバイス・ドライバを削除して,機種に依存しないOSのイメージができ上がります。 さらに,Sysprepと一緒に提供される「セットアップ・マネージャ」(Setupmgr.exe)を使い,復元時にどのようにセットアップしたいのかを記した「Sysprep.inf」という設定ファイルを生成します。これはあとから編集することでカスタマイズできます。 Sysprepによって作られた特殊なWindowsマシンは,イメージ化のツールを使えば,まるごとハードディスク・イメージとしてファイル化されます。それをファイル・サーバーなどに保存しておきます(図2下)。
OSをパソコンに復元したい場合,ハードディスクのイメージ・ファイルをパソコンにコピーします(図3上)。そして再起動すると「Mini-Setup」と呼ばれるセットアップ・プログラムが実行されます(図3下)。これによって,SIDを組み込み,機種に依存したデバイス・ドライバもインストールします。通常のOSのインストールとは異なり,4~5分で完了します。 さらにSysprep.infなどの設定ファイルを使えば,プラグ&プレイで済まないデバイス・ドライバのインストールや,コンピュータ・アカウントの作成,ドメインへの参加などが自動的に行えます。設定ファイルは,Mini-Setup実行後に自動実行させるアプリケーションも記述できて,セキュリティ・パッチの適用,アプリケーション・ソフトのインストールまでが行えます。 Visual Studioのテスト・チームでは以上のような手順で,OS/エディション/サービス・パック/言語(日本語版/英語版など)ごとにイメージを作成しています。現在では開発中のOSを含めて,約300個のイメージ・ファイルを用意しています。日本語版のOSに限定すれば,21個のイメージ・ファイルで済むようになりました(表1)。
|