2012-01-10 10 views
3

異なるティアが異なるマシン上で実行されているn-tierアプリケーションがあります。複数のマシン間で統合テストを実行する

マシン "B"のテストが実行できるようになる前に、マシン "B"を実行することができるというオーケストレーションの問題があります。 A "を正しく設定する必要があります。箱から出てきたVSはそのシナリオを処理していないようですので、私は別のものが必要です。

TFSラボマネージャーは、マシンを管理し、コードをデプロイし、適切なテストを実行する必要があるようですが、コードがそこには存在しないということがあります。

ので

a)は、誰もが成功し、他のソース管理システムから出てきたコードを使用してテスト展開のためのTFSラボマネージャを使用していますか?もしそうなら、あなたはどのようにそれを設定しましたか?

または

b)は、私は、複数のマシンにコードを配置するコード化されたテストを実行し、成功/失敗の結果を収集できるようになる任意の代替テストフレームワークはありますか?

+0

コードをどのように構築しますか? TFSまたは何か他の? – pantelif

+0

私がテストしているコードはVSを使用してローカルにビルドされています。統合テストは手動で開始されます。必要に応じてTFSビルドエージェントを設定することもできますが、現在のインフラストラクチャの組み合わせを考慮すると、さらに複雑なレベルを追加する必要はありません。 – MarcE

答えて

0

私は実際に自分の質問に答えようとしています。ラボのアイデアを放棄しています。

最初は有望でしたが、十分な努力で可能であると確信していましたが、他の回答で指摘されているように、私の目標を達成するためにラボのワークフローを大幅に編集することになります。 TFSでビルドされていないコードに問題があっただけでなく、ラボ/テストマネージャーにどこのテストを実行するかを伝えようとすると問題が発生しました。

最後に、PowerShellスクリプトを使用して環境をセットアップして(ハイパーVスナップショットを元に戻し、いくつかのファイルをコピーしてリモートインストールを実行する)、VSに組み込まれた標準のMSTestフレームワークを使用して、環境に対してテストを実行します。

3

a)私はこれをさまざまなソース管理で行っていませんが、TFS Lab Managerで可能と確信しています。 TFSワークフロー&テストコントローラ/エージェントモデルは、Lab ManagerのWindowsワークフローに基づいて動作するため、(XAMLエディタまたはVSのWorkflow UIを使用して)ビルドのワークフローを変更し、TFSソースコントロール呼び出しを独自のものに置き換えますタスクをfetch/version/checkin-outコードに設定します。実際、TFS Labのワークフローはビルドのワークフローとは分離されており、UNCのパスなどからビルドされたバイナリを拾うことができます。後者を選択した場合、MSBuildとJenkinsのような他のドライバを使用してコードを構築し、TFS Lab Managerを使用して各層のテストを正しく実行することができます。

b)逆に、Jenkinsを完全に使用し、VMWareプラグインを使用してテスト用にVMをスピンアップまたはスイングすることができます。 PowershellプラグインとPowerShell Remoting、または他のMSTestプラグインを使用してリモートテストを実行できます。このオプションは私にとっては難しいようですが、どちらもうまくいくと思います。

1

コメント

に基づいて、私がテストしていたコードがVS.を使用してローカルで構築されています統合テスト は手動で開始されます。

私は、CIプラットフォームが入力としてラベル付きビルドで動作することを期待しています。
実際にあなたの(両者の)質問には、安定したビルド環境にアップグレードするための努力をするまで、手作業で/自作スクリプトでこれを行うことになると思います。

ビルドサーバーを持っているのは実際にはgoodです。現代の開発環境をセットアップする場合は、基本的にそれなしではできません。

もしあなたがTFS Lab Managerに魅了されたら、TFS-Buildを使うことが必要です。このパスを辿る場合、ソースコントロールを含め、すべてをTFSに切り替えることを検討する必要があります。

パーフェクトをソースコントロールとして使用すると言うと、&ビルド/テスト用のTFSは絶対に可能ですが、ビルドを正しく設定するのは頭痛になる可能性があります(言い換えれば、ソースコントロールに関する文字通りすべてがリファクタリングされる必要がありますp4に優しい通話へ)。

+0

ええ、それは私が来る結論です。私はラボマネージャー(環境としてのマシンのグループ化、コードのデプロイ、テストの実行など)の約束が好きですが、本当に*本当に* TFSのすべてが欲しいです! – MarcE

+0

明示的に要求されるのはTFSビルドです。それらはTFSソースコントロールで設定するのがはるかに簡単ですが、他のソースコントロールでも可能です。もう一つの非常に重要な要素は、課題追跡です.Lab Managerで他のMS以外のトラッカーをどの程度利用できるか分かりません。あなたは正しいかもしれません:Lab ManagerのためだけにTFSを配備することは悪い選択です。 – pantelif

+0

PERFORCEとMSBuild用のオープンソースプラグインがあります(この質問を参照してください:http://stackoverflow.com/questions/2418712/perforce-tasks-for-ms-build)。それは助けになるだろうが、私はそれを言及すると思った。 –

関連する問題