Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Team Foundation Server 2015 による テスト工数削減

5,933 views

Published on

Team Foundation Server 2015 による ビルド・テスト自動化手順書です。

Published in: Software
  • Be the first to comment

Team Foundation Server 2015 による テスト工数削減

  1. 1. Team Foundation Server 2015 による テスト工数削減 日本マイクロソフト株式会社 開発ツール推進部 武田 正樹 Masaki.Takeda@microsoft.com 最終更新日: 2016 年 2 月 13 日
  2. 2. 2 概要 本資料では、以下の内容の実現方法を記載しています。  Team Foundation Server 2015 によるテストマシンのプロビジョニングとテストの自動化  Test Manager によるテストケース管理 本資料では、以下のソフトウェアを利用しています。  Visual Studio 2015 Update 1  Team Foundation Server 2015 Update 1
  3. 3. 3 今回の環境 本資料では、以下のようなシステム構成をとっています。 ビルド用アカウントとパスワードは、ワークグループの管理者アカウントとパスワードと同じにしておきます。 ビルドサーバーとテスト対象マシンは、WinRm の有効化とファイアウォールの設定が必要です。 tfsdemo1 10.0.0.6 Team Foundation Server 2015 Update 1 vs2015ent 10.0.0.5 ビルドサーバー: Visual Studio 2015 Update 1 ドメイン: tfsdemo.ms WinSvr2012 172.16.0.5 Windows Server 2012 WinSvr2012R2 172.16.0.4 Windows Server 2012 R2 ワークグループ (テスト対象マシン) ビルド用アカウント tfsdemoazuredaisuki 管理者アカウント azuredaisuki 管理者アカウント azuredaisuki
  4. 4. ビルドサーバーの準備 - ビルドエージェントのインストール - [信頼されたホスト] にテストマシンを追加 - hosts ファイルの更新
  5. 5. 5 Team Foundation Server とは別にビルドサーバーを構築する場合は、ビルドサーバーにビルドエージェントをインス トールして、Team Foundation Server のエージェントプールとして登録する必要があります。 1.ビルドサーバー上でブラウザーを開き、 Team Foundation Server のサイトにアクセスします。 そして、[コントロールパネル] アイコンをクリックします。 ビルドエージェントのインストール (1) 1
  6. 6. 6 1. ブラウザの新しいタブに [コントロールパネル] が表示されます。[Agent pools] をクリックします。 2. [新しいプール] をクリックします。 3. エージェント プール名として、[vs2015ent] と入力します。 4. [OK] をクリックして、エージェント プールの新規作成を完了します。 ビルドエージェントのインストール (2) 2 1 3 4
  7. 7. 7 1. エージェント プール [vs2015ent] が新規作成されていることを確認します。 2. [エージェントのダウンロード] をクリックして、ビルド エージェントをダウンロードします。 ビルドエージェントのインストール (3) 2 1
  8. 8. 8 1. ダウンロードした [agent.zip] を展開して、[Agent] フォルダと [ConfigureAgent.cmd] があることを確認します。 2. [Agent] フォルダと [ConfigureAgent.cmd] を [C:TfsBuildsAgentsVsoBuildAgent] 以下にコピーします。 ビルドエージェントのインストール (4) 2 1
  9. 9. 9 1. [C:TfsBuildsAgentsVsoBuildAgent] に [settings.json] ファイルを新規作成します。 2. メモ帳で開き以下のように記述して保存します。 ビルドエージェントのインストール (5) 2 1
  10. 10. 10 [ConfigureAgent.cmd] を右クリックして、[管理者として実行] をクリックします。 ビルドエージェントの設定に関するコマンドプロンプトウインドウが表示されます。 [(既定は…)]と表示されるので、 [enter]キーを押して進めます。 1. [サービスに使用するユーザーアカウントの名前を入力] には、ビルド用アカウント[tfsdemoazuredaisuki] と入力し、 パスワードも入力します。 ビルドエージェントのインストール (6) 1
  11. 11. 11 ビルドエージェントの設定が完了すると、コマンドプロンプトウインドウが閉じます。 ブラウザに戻り、エージェント プール[vs2015ent] に [vsoagent-vs2015ent] が緑色で表示されている事を確認します。 ビルドエージェントのインストール (7)
  12. 12. 12 ビルドサーバー上で UI テストを実行する場合には、ビルドエージェントを対話モードで実行する必要があります。 ここでは、同一のビルドサーバーに対話モードでビルドエージェントを実行する手順をご紹介します。 1.ビルドサーバー上でブラウザーを開き、 Team Foundation Server のサイトにアクセスします。 そして、[コントロールパネル] アイコンをクリックします。 ビルドエージェントを対話モードで実行する場合 (1) 1
  13. 13. 13 1. ブラウザの新しいタブに [コントロールパネル] が表示されます。[Agent pools] をクリックします。 2. [新しいプール] をクリックします。 3. エージェント プール名として、[Interactive] と入力します。 4. [OK] をクリックして、エージェント プールの新規作成を完了します。 ビルドエージェントを対話モードで実行する場合 (2) 2 1 3 4
  14. 14. 14 ビルドエージェントはダウンロード済みですので、次にビルドエージェントを対話モードで実行するための設定をします。 1. [C:TfsBuildsAgentsVsoBuildAgent] に [settings.json] ファイルを編集します。 2. メモ帳で開き以下のように記述して保存します。[WorkFolder] は、先ほどのフォルダとは別のフォルダ名にします。 3. メモ帳で開き以下のように記述して保存します。[PoolName] は、[Interactive] と入力します。 4. メモ帳で開き以下のように記述して保存します。[RunAsWindowsService] は、[False] と入力します。 ビルドエージェントを対話モードで実行する場合 (3) 2 1 3 4
  15. 15. 15 [ConfigureAgent.cmd] を右クリックして、[管理者として実行] をクリックします。 ビルドエージェントの設定に関するコマンドプロンプトウインドウが表示されます。 [(既定は…)]と表示されるので、 [enter]キーを押して進めます。 [Ctrl+C を押して終了してください] と表示されたら、ビルドエージェントを対話モードで実行されています。 サービスとして実行されていないので、ウインドウを閉じる、 Ctrl+C を押すなどすると ビルドエージェントは終了しますので、ご注意ください。 ビルドエージェントを対話モードで実行する場合 (4)
  16. 16. 16 ビルドエージェントの設定が完了すると、コマンドプロンプトウインドウが閉じます。 ブラウザに戻り、エージェント プール[Interactive] に [Agent] が緑色で表示されている事を確認します。 ビルドエージェントを対話モードで実行する場合 (5)
  17. 17. 17 Team Foundation Server では、ビルドエージェントが動いているマシンから WinRM を実行してテスト対象マシンの設 定を行います。ワークグループのテスト対象マシンに WinRM をするには、ビルドエージェントが動いているマシンの [信 頼されたホスト] のリストに、ワークグループのマシン名を追加する必要があります。 今回は、全てのマシンを対象とするように、 PowerShell で下記コマンドを実行します。 Set-Item WSMan:localhostClientTrustedHosts * -Force [信頼されたホスト] にテストマシンを追加
  18. 18. 18 テスト対象マシンがワークグループにある場合は、ビルドサーバーの hosts ファイルにテスト対象のコンピュータ名と IP アドレスを追加しておく必要があります。 1. [C:WindowsSystem32driversetc] にある [hosts] ファイルをメモ帳開きます。 2. hosts ファイルを以下のように変更します。一度デスクトップに保存してから、デスクトップにある [hosts] ファイル をドラッグ&ドロップして、 [C:WindowsSystem32driversetc] にある [hosts] ファイルを更新してください。 以上で、ビルドサーバーの設定は完了です。マシンを再起動をして、[hosts] ファイルの設定を反映させてください。 hosts ファイルの更新 1 2
  19. 19. テスト対象マシンの準備 - Agents for Microsoft Visual Studio のインストール - hosts ファイルの更新
  20. 20. 20 Agents for Visual Studio のインストール Agents for Microsoft Visual Studio 2015 with Update 1 (Test Agent) は下記よりダウンロード可能です。 http://go.microsoft.com/fwlink/?LinkId=536423 テスト対象マシンごとに Test Agent をインストールします。 Team Foundation Server のビルドタスクとしても実行できますが、 Test Agent のダウンロード・インス トールには、30 分程度かかります。予め Test Manager をインストールしておいた仮想マシンテンプレート を準備いただくことをお勧めします。
  21. 21. 21 テスト結果をTeam Foundation Server に送信するため、ワークグループの全てのテスト対象マシンから コンピュータ名 でTeam Foundation Server にアクセスできるように、hosts ファイルにテスト対象のコンピュータ名と IP アドレスを追 加しておく必要があります。 1. [C:WindowsSystem32driversetc] にある [hosts] ファイルをメモ帳開きます。 2. hosts ファイルを以下のように変更します。一度デスクトップに保存してから、デスクトップにある [hosts] ファイル をドラッグ&ドロップして、 [C:WindowsSystem32driversetc] にある [hosts] ファイルを更新してください。 以上で、テスト対象マシンの設定は完了です。マシンを再起動をして、[hosts] ファイルの設定を反映させてください。 hosts ファイルの更新 1 2
  22. 22. テスト対象マシンの登録
  23. 23. 23 Team Foundation Server では、テスト対象マシンを事前に登録しておく必要があります。通常1つのグループに複数の マシンを登録できるので、ファイルのコピーなどを複数のマシンに一括で展開したい場合はとても便利です。ただし、 Test Agent を利用する場合は、1グループ 1台にしないとテスト結果が送信されないので、ご注意ください。 今回は、ファイルのコピー用と Test Agent 利用用途で登録しておきます。 1. Team Foundation Server でチームプロジェクトを開いている状態で、[TEST] をクリックします。 2. [コンピュータ] をクリックします。 3. [+] をクリックします。 テスト対象マシンの登録 (1) 1 2 3
  24. 24. 24 テスト対象マシンの登録 (2) テスト対象マシンの 管理者アカウントとパスワード <テスト関連ファイルを一括コピーする際に利用> ワークグループのマシンの場合は、 チェックをいれる ビルド用アカウントとパスワードを入力
  25. 25. 25 テスト対象マシンの登録 (3) テスト対象マシンの 管理者アカウントとパスワード <Test Agent を利用する場合に利用 (WinSvr2012R2 用) > ワークグループのマシンの場合は、 チェックをいれる ビルド用アカウントとパスワードを入力
  26. 26. 26 テスト対象マシンの登録 (4) テスト対象マシンの 管理者アカウントとパスワード ワークグループのマシンの場合は、 チェックをいれる <Test Agent を利用する場合に利用 (WinSvr2012 用) > ビルド用アカウントとパスワードを入力
  27. 27. ビルド定義の作成 - ビルド定義の作成 - ビルドステップの追加
  28. 28. 28 Team Foundation Server でビルドタスクを登録します。 1. Team Foundation Server でチームプロジェクトを開いている状態で、[BUILD] をクリックします。 2. [+] をクリックします。 ビルド定義の作成 (1) 1 2
  29. 29. 29 1. ビルド定義のテンプレートを選択する画面が表示されます。[なし] をクリックして、からの定義を選択します。 2. [OK] をクリックしてウインドウを閉じます。 ビルド定義の作成 (2) 1 2
  30. 30. 30 1. ビルド定義が新規作成されました。[編集] をクリックして、ビルド定義の設定を行います。 ビルド定義の作成 (3) 1
  31. 31. 31 1. [全般] をクリックします。 2. [既定のキュー] を先ほど登録したエージェント プール [vs2015ent] を選択します。 3. [ビルド番号の形式]には、[$(date:yyyyMMdd)$(rev:.r)] と入力します。 4. [保存] をクリックします。 5. [名前] を [デモ用ビルド定義] と入力します。 6. [OK] をクリックします。 ビルド定義の作成 (4) 1 4 2 6 5 3
  32. 32. 32 ビルド定義の設定が完了したので、続いてビルドステップを追加していきます。 1. [ビルド] をクリックします。 2. [ビルドステップの追加] をクリックします。 ビルドステップの追加 (1) 1 2
  33. 33. 33 1. ビルドステップの選択画面が表示されます。[Visual Studio のビルド] を選択してから、[追加] を1回クリックします。 2. [閉じる] をクリックしてウインドウを閉じます。 ビルドステップの追加 (2) 1 2
  34. 34. 34 ビルドステップ [Visual Studio のビルド] を以下のように設定します。 ビルドステップの追加 (3) ビルドするソリューション定義ファイルを指定 $(BuildPlatform) と入力 $(BuildConfiguration) と入力
  35. 35. 35 ビルドステップ [Visual Studio のビルド] を以下のように設定します。 ビルドステップの追加 (4) 変数 BuildPlatform, BuildConfiguration の値を定義します。 1. [変数] をクリックします。 2. 以下の様に入力します。[キュー時点で許可] にチェックをいれます。 3. [保存] をクリックして、ビルドステップ [Visual Studio のビルド] の設定を保存します。 3 2 1
  36. 36. 36 ビルドステップ [Visual Studio のビルド] を以下のように設定します。 ビルドステップの追加 (5) 一度ビルドを実行してみましょう。 1. [ビルドをキューに挿入] をクリックします。 2. ビルドをキューに配置するためのウインドウが表示されます。[OK] をクリックしてウインドウを閉じます。 2 1
  37. 37. 37 ビルドステップ [Visual Studio のビルド] を以下のように設定します。 ビルドステップの追加 (6) 1. ビルドが成功すると、緑色の帯に[ビルド成功] と表示されることを確認します。
  38. 38. 38 ビルドステップ [Visual Studio のビルド] を以下のように設定します。 ビルドステップの追加 (7) ビルドステップを追加して、テスト対象マシン上への自動リモートテストの設定を行います。 <Visual Studio テスト: ビルドサーバー上でテストを実施> $(BuildPlatform) と入力 $(BuildConfiguration) と入力 [コードカバレッジが有効] に チェックをいれます
  39. 39. 39 ビルドステップ [Visual Studio のビルド] を以下のように設定します。 ビルドステップの追加 (8) ビルドステップを追加して、テスト対象マシン上への自動リモートテストの設定を行います。 <ビルド成果物の発行: ビルド成果物を共有フォルダーにコピー> bin フォルダ以下をコピーします。 [tfsdemo1xxxxデモ用ビルド定義 xxxxxxxx.xtest] にコピーします。 tfsdemo1test$(Build.Definition Name)$(Build.BuildNumber) 今回は、テストプロジェクトの フォルダを指定します。
  40. 40. 40 ビルドステップ [Visual Studio のビルド] を以下のように設定します。 ビルドステップの追加 (9) ビルドステップを追加して、テスト対象マシン上への自動リモートテストの設定を行います。 <Windows コンピュータのファイルのコピー: テストに必要なファイルをテスト対象マシンにコピー> WinSrv2012R2 と WinSvr2012 の 両方にコピーします。 テスト対象マシンのコピー先フォルダを 指定します。 tfsdemo1test$(Build.DefinitionName) $(Build.BuildNumber)
  41. 41. 41 ビルドステップ [Visual Studio のビルド] を以下のように設定します。 ビルドステップの追加 (10) ビルドステップを追加して、テスト対象マシン上への自動リモートテストの設定を行います。 <Visual Studio Test Agent の展開: テスト対象マシン上で Test Agent の設定を実施> ワークグループの管理者アカウントとパス ワードを入力します。 対話型プロセスにはチェックをいれます http://go.microsoft.com/fwlink/?LinkId=5 36423 からダウンロードした vstf_testagent.exe を共有フォルダにおいて おきます。 tfsdemo1testTestAgentvstf_testagent.exe WinSrv2012R2 を指定します。
  42. 42. 42 ビルドステップ [Visual Studio のビルド] を以下のように設定します。 ビルドステップの追加 (11) ビルドステップを追加して、テスト対象マシン上への自動リモートテストの設定を行います。 <テスト エージェントを使用した Visual Studio テスト: テスト対象マシン上でリモートテストを実施> WinSrv2012R2 を指定します。テスト対象マシンのコピー先フォルダを 指定します。
  43. 43. 43 ビルドステップ [Visual Studio のビルド] を以下のように設定します。 ビルドステップの追加 (12) 1. テスト対象マシン [WinSvr2012] についても下記ビルドステップを追加します。 ・Visual Studio Test Agent の展開 ・テスト エージェントを使用した Visual Studio テスト 2. [保存] をクリックします。 3. [ビルドをキューに挿入] をクリックして、ビルドを実行します。 2 1 3
  44. 44. 44 ビルドステップ [Visual Studio のビルド] を以下のように設定します。 ビルドステップの追加 (13) 1. ビルドが成功していることを確認して、[ビルド番号] をクリックします。 2. ビルド結果のレポートが表示されます。ビルドサーバー、WinSvr2012R2, WinSvr2012 の3つのコンピュータのテス ト結果があることを確認します。 2 1
  45. 45. Test Manager による テストケース管理
  46. 46. 46    自動ビルド作業項目 ソースコード ▶
  47. 47. 47 ▶  
  48. 48. 48 回帰テストの自動化
  49. 49. 49 共有パラメーター  共有パラメーター使用で入力値を変更しての回帰テストが実現 ⇒ 実用レベルの回帰テストが実施可能に
  50. 50. 50 コード化された UI テスト    http://msdn.microsoft.com/ja-jp/library/dd380742.aspx     
  51. 51. ビルドサーバーから ビルドエージェントを削除
  52. 52. 52 サービスとして登録したビルドエージェントをビルドサーバーから削除します。 1.ビルドサーバー上でブラウザーを開き、 Team Foundation Server のサイトにアクセスします。 そして、[コントロールパネル] アイコンをクリックします。 ビルドサーバーからビルドエージェントを削除 (1) 1
  53. 53. 53 1. ブラウザの新しいタブに [コントロールパネル] が表示されます。[Agent pools] をクリックします。 2. 今回削除するエージェントプール [vs2015ent] を右クリックします。 3. [削除] をクリックします。 4. エージェントプール削除確認のメッセージが表示されます。[OK] をクリックします。 ビルドサーバーからビルドエージェントを削除 (2) 2 1 3 4
  54. 54. 54 エージェントプール [vs2015ent] が削除されていることを確認します。 ビルドサーバーからビルドエージェントを削除 (3)
  55. 55. 55 続いて、登録されているサービスを削除します。 1. [スタートアイコン] を右クリックして、[コンピューターの管理] をクリックします。 2. [コンピューター管理] 画面が表示されます。[サービスとアプリケーション] – [サービス] の順にクリックします。 ビルドサーバーからビルドエージェントを削除 (4) 2 1
  56. 56. 56 1. サービス [VSO Agent(…)] をダブルクリックして、プロパティ画面を開きます。 2. サービス名をコピーします。 3. コマンドプロンプトを管理者として実行し、下記コマンドを実行して当該サービスを削除します。 sc.exe delete (コピーしたサービス名) ビルドサーバーからビルドエージェントを削除 (5) 2 1 3
  57. 57. 57 Team Foundation Server 手順書 http://takedamasaki555.wordpress.com/ Team Foundation Server /Visual Studio Team Services 手順書 Test Manager + Team Foundation Server /Visual Studio Team Services 手順書 Team Foundation Server 2015 によるテスト工数削減 Team Foundation Server プロセステンプレートの変更 手順書 Team Foundation Server 2015 Update 1 インストール手順書 Entity Framework 6.1.3 + ASP.NET MVC 5 サンプル アプリケーション構築 手順書
  58. 58. 58 参考資料  Visual Studioサイト http://www.visualstudio.com/  Visual Studio Team Services https://www.visualstudio.com/products/visual-studio-team-services-vs  Visual Studio Onlineはじめに http://www.visualstudio.com/get-started/overview-of-get-started-tasks-vs  アプリケーション ライフサイクル管理 http://www.visualstudio.com/explore/app-lifecycle-management-vs  チーム コラボレーション管理 http://www.visualstudio.com/explore/team-collaboration-vs  テスト ツール http://www.visualstudio.com/explore/testing-tools-vs

×