2009-07-08 19 views
9

異なるハードウェア/ソフトウェアプロファイルを持つさまざまなマシン上のインストーラのテストを自動化し、インストーラにさまざまなオプションを指定するベストプラクティスがあるのでしょうか。マシンをセットアップし、インストーラを実行した後、特定のことが真であることをテストするために、「単体テストのような」コードを書くことができます。私はVMの多くを作成することができます知っているインストーラテストを自動化する方法

Test: 
    Boot Machine without IIS 
    Run Installer 
    Assert Installer Had Errors 

Test: 
    Boot Machine with IIS 
    Run Installer 
    Assert Installer Ran 

Test_Fixture: 
    SetUp: 
     Boot Machine with IIS 

    Test: 
     Run Installer without IIS install 
     Assert Website Not Installed 

    Test: 
     Run Installer with IIS install 
     Assert Website Installed 

が、VMは、各機能テストのためにブートするのを待っていることは、私が望むよりも、道より多くの仕事のように聞こえる:テストは、ようになります。私が本当に望むのは、インストーラ環境を仮想化する方法です。助言がありますか?

答えて

5

私たちは一連のVMを作成し、管理が非常に簡単であることを確認しました。私たちは13人の異なるWindowsインストーラのテストを夜間実行します。私たちが作成したVMは非常に裸の骨を作成しているので、多数のテストを並行して実行することができます。

+0

VMでのインストールをどのようにテストしますか?テスト後に各VMを定常状態に戻す方法はありますか? – Jeff

+2

私たちのセットアップは、1台のコンピュータが一連のVMWareイメージを駆動するというものです。このコンピュータは、VMWareのVIX APIを使用して画像を開始、停止、元に戻します。 VIX APIを使用してイメージが実行されると、VMWareイメージにコマンドライン引数を送信してインストールを開始します。私たちのインストールは、ユーザーインターフェイスなしで実行可能でなければならないので、すべての引数をコマンドラインで渡すことができます。次に、チェックファイルを確認し、基本的なテストを実行します。問題が発生した場合は、ログインストールを実行します。テストが終了したら、単にイメージを元に戻します。解放する前に、私たちはまだ人間の表情がフィット感と仕上がりをテストしています。 – LanceSc

+0

UACが有効になっているマシンでこれを行う方法が見つかりましたか?これはテストシナリオの一部として残す必要があるため、UACをオンにしておきたいと思います。 – JohnZaj

1

コマンドラインからインストーラを実行可能にすると、自動的に呼び出すためのスクリプトを作成するのは簡単です。

次に、ウェブアプリケーションテストツールを使用して、インストールが成功したことを確認できます。http://seleniumhq.org/これは、現在のバージョンのページのような新しいインストールをテストする独自の方法が必要です。

関連する問題