Share via


TFSの極意 Vol. 15 | UI 自動テストを TFS のチームビルドで実行する

近藤さんのブログでアナウンスもされていますが、「コード化された UI テスト」についてのホワイトペーパーが公開されています。

『Visual Studio 2010 評価ガイド - ユーザーインターフェイスの自動テスト』 (XPS | PDF)

この機能は、私もこのブログで何度か取り上げ、高い閲覧数をいまだに稼いでいる UI Automation の技術を使った UI テストをコードを記述することなく(UI Automation の知識も基本不要)レコーディングし、単体テストフレームワークで実行できてしまう優れものです(Visual Studio 2010 Premium, Ultimate で利用できます)。

詳細は、ホワイトペーパーをご覧ください。おためしは、評価版でも行えますので、まずお試しいただくことをお勧めします。

ここでは、その応用例をご紹介します。

単体テストフレームワークで実行できるということは、Team Foundation Server のビルド自動化の仕組みで、実行できるはず!と誰しも思うはずです。継続的インテグレーションを実践されているならば、当然、UIテストも組み込みたいと思うでしょう。

結論から言うと、TFS の自動ビルドで、単体テストやWeb(パフォーマンス)テストなどが実行できるのと同様に UI テストも実行できます。ただし、若干の癖があります。それは、UIを動かしてテストするという点です。

単体テストは、モジュールに対して外部から呼び出してテストするので、バックグラウンドでも実行可能です。Web(パフォーマンス)テストも HTTPRequestとHTTPResponse のやり取りのため、バックグラウンドでも実行可能です。UIを動かす・・・これは バックグラウンドでは実行できません。

そこで、TFS Build サービスの設定に着目します。サービスには、「対話型モード」があります。TFSの管理コンソール上で、サービスの起動タイプを「対話型」に設定すると、UI テストも実行できるようになります!

つらつら書いてもなんですので、実際にビルドサーバーで、UIテストが実行されている様子を収録しましたので、ご覧ください:

ながさわ