イラスト:岡本 敏

ハードディスクを2つに区切って
Dドライブにイメージ・ファイルを入れる

 Visual Studioのテスト・チームでは,これらの手順を実際に行うのに,テスト・マシンのハードディスクを2つのパーティションに分けています。Cドライブはテスト環境を構築するためのシステムを入れて,Dドライブはテスト環境のシステムを入れます(図4)。

 CドライブからはOEMベンダー向けに提供している簡易型Windows OS「Windows PE」が起動します(該当サイト)。そして「OSのイメージ・ファイル」「Sysprep.infファイル」「デバイス・ドライバ」「セキュリティ・パッチ」「ウイルス対策ソフト」をDドライブにコピーして,起動ドライブをDドライブにするよう起動シークエンスを書き換え,再起動する——といったことをWindows PE上で動くスクリプトで処理します。


△ 図をクリックすると拡大されます
図4●マイクロソフトが実際にSysprepを使うときのシステム構成
テスト・マシンのハードディスクを2つのパーティションに区切る。CドライブからWindows PEで起動して,必要なファイルをいったんDドライブにコピーする。それからDドライブで再起動をしてから,テスト環境の構築に入る。最後はネットワークへの参加まで自動的に行う。

 再起動した後の処理は,Mini-SetupとSysprep.infで行います。社内ネットワークへの参加が最後になっているのは,社内ルールでセキュリティ・アップデートやウイルス監視ソフトのインストールが終了しないと,社内ネットワークに参加できないことになっているからです。

 セキュリティ・アップデートやウイルス監視ソフトのインストールは,ユーザーの応答を求めるダイアログやウインドウを一切表示しない「Quietモード」と呼ばれる形で行われます。テスターが介在しなければならないのは,復元するテスト環境を最初に指示するところだけです。

 この方法で実際にテスト環境を構築するのにかかる時間は,OSの種類によっても異なりますが,20~25分です。一般的なOSのイメージ管理方法に比べると,若干長めです。なぜなら,機種依存ドライバやセキュリティ・アップデートなどをそのつどインストールしているからです。しかしこの方法なら,機種ごとにイメージを作成する必要がありません。さらにセキュリティ・アップデートが公開される度にイメージを再作成する必要がないので,イメージ・ファイルのメンテナンス・コストは激減します。

 現在テスト・チームでは,このようなテスト環境の構築システムを導入し,運用しています。導入以来,テスト環境用のイメージ・ファイルのメンテナンス作業が大幅に削減できました。これによりテスト・チームは,開発製品のテストにより多くの時間をかけられるようになりました。Visual Studioのテスト・チームでは,開発途中のテスト可能なビルドがリリースされるたびに,つまりほぼ毎日,このシステムを利用してテスト環境を構築し,テスト作業をこなしています。

それでも残るメンテナンス
 それでもすべてのメンテナンス作業がなくなったわけではありません。主に以下の3つのメンテナンス作業が残っています。
●新しいセキュリティ・アップデートが公開されたときに,それをインストールするスクリプト・ファイルを更新する。
●新しいOSがリリースされたときに,そのイメージを作成する。
●新しいコンピュータを購入したときに,機種依存ドライバをMini-Setup中にインストールできるように用意する。

 初めの2つは,メンテナンス・コストが高いと感じるかもしれません。しかし,マイクロソフトのソフトウエア開発のように,使用するコンピュータの機種や,テスト対象のOSが多い場合は,このような仕組みが作業効率化の一助となるのです。

 このように効率化できるのは,Sysprepに対応したWindows 2000/XP/2003だけです。ところが,Windows 98/98SE/Me/NT 4.0のような比較的古いOSもテストしなければいけません。これらのOSは,Sysprepに対応していないので,社内ツールを使ってテスト・マシンごとに一般的なイメージ・ファイルを作成するしかありません。

「信頼できるコンピューティング」の影響
 以前利用していたイメージ・ファイルの方法が破綻したきっかけは,Trustworthy Computingだったといいました。

 Trustworthy Computingの発表後,Microsoft社内では,社内ネットワークにつなげるすべてのコンピュータをセキュアな状態にしなければならないというルールができました。つまり最新のセキュリティ・アップデートを適用しなければ,社内ネットワークにつなげられなくなりました。

 この思想はコンピュータ環境を安全にしようというもので,それ自体は進んで実践すべきことです。ただ,テストの現場となると事情は違いました。テスト環境用に作ったOSのイメージを復元した段階では,最新のセキュリティ・アップデートが適用されているとは限らないからです。イメージを作成した時点では最新だったとしても,それを復元したときにはより新しいセキュリティ・アップデートが出ていることがあるからです。

 イメージ復元直後にWindows Updateに接続して,最新のセキュリティ・アップデートをインストールすればいいように思われますが,セキュリティ・アップデートのインストール中は,社内ネットワークを危険にさらすことになります。

 マイクロソフトには社内ネットワークを監視しているチームがあります。このチームは,最新のセキュリティ・アップデートが適用されてないコンピュータを見つけると,強制的にセキュリティ・アップデートをインストールしたり,社内ネットワークに害を及ぼす危険性があると判断したときは,そのコンピュータを社内ネットワークから切り離したりします。この場合,ハブを介してそのLANポートごと閉じてしまうため,同じポートにつながっているすべてのコンピュータが切り離されてしまいます。そうなると,チーム全体に影響が出てしまいます。

 なお,マイクロソフトでは,最新のセキュリティ・アップデートやサービス・パックを適用した環境でしか,テストしていないというわけではありません。最新のセキュリティ・アップデートが適用されていない状態でテストする場合は,社内ネットワークからは物理的に切り離した状態でテスト作業を行っています。

おわりに
 今回の内容はいかがでしたでしょうか。目新しいことをやっているなと感じた方もいれば,なんだこの程度のことしかやってないのかと感じた方もいるのではないかと思います。私自身はというと,当初このシステムを導入した時に,テスト環境構築のメンテナンス地獄から解放されたため,画期的だと感じました。現在では,テスト環境構築にかかる時間(約20分)を考えると,もっと早く構築できるようにしたいと思っています。今回紹介した内容が,テスト作業を行っている方や,システムの構築・運用に携わっている方に,少しでもお役に立れてば幸いです。

    *    *    *
 次回はテスト・チームがテスト結果をどのように評価していくのか,特に定量的な評価方法について紹介する予定です。




◆会社紹介◆

マイクロソフト プロダクト ディベロップメント リミテッド」は,日本のマイクロソフトの中で研究開発を担当する会社。日本のマイクロソフトの組織は,2つの会社で成り立っており,ほかにマーケティング,製品の流通,サポート業務を担当している「マイクロソフト株式会社」がある。

日経 xTECH SPECIAL

What's New!

経営

クラウド

アプリケーション/DB/ミドルウエア

運用管理

設計/開発

サーバー/ストレージ

ネットワーク/通信サービス

セキュリティ

もっと見る