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

Post on 07-Jan-2017

2,737 views 0 download

transcript

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

日本マイクロソフト株式会社

開発ツール推進部

武田 正樹 Masaki.Takeda@microsoft.com

最終更新日 : 2016 年 2 月 13 日

2

概要

本資料では、以下の内容の実現方法を記載しています。

Team Foundation Server 2015 によるテストマシンのプロビジョニングとテストの自動化

Test Manager によるテストケース管理

本資料では、以下のソフトウェアを利用しています。

Visual Studio 2015 Update 1 Team Foundation Server 2015 Update 1

3

今回の環境本資料では、以下のようなシステム構成をとっています。

ビルド用アカウントとパスワードは、ワークグループの管理者アカウントとパスワードと同じにしておきます。

ビルドサーバーとテスト対象マシンは、 WinRm の有効化とファイアウォールの設定が必要です。

tfsdemo1 10.0.0.6Team Foundation Server 2015 Update 1

vs2015ent 10.0.0.5ビルドサーバー : Visual Studio 2015 Update 1

ドメイン : tfsdemo.ms

WinSvr2012 172.16.0.5Windows Server 2012

WinSvr2012R2 172.16.0.4Windows Server 2012 R2

ワークグループ ( テスト対象マシン )

ビルド用アカウント

tfsdemo\azuredaisuki管理者アカウント

azuredaisuki

管理者アカウント

azuredaisuki

ビルドサーバーの準備- ビルドエージェントのインストール- [ 信頼されたホスト ] にテストマシンを追加- hosts ファイルの更新

5

Team Foundation Server とは別にビルドサーバーを構築する場合は、ビルドサーバーにビルドエージェントをインストールして、 Team Foundation Server のエージェントプールとして登録する必要があります。

1.ビルドサーバー上でブラウザーを開き、 Team Foundation Server のサイトにアクセスします。 そして、 [ コントロールパネル ] アイコンをクリックします。

ビルドエージェントのインストール (1)

1

6

1. ブラウザの新しいタブに [ コントロールパネル ] が表示されます。 [Agent pools] をクリックします。2. [ 新しいプール ] をクリックします。3. エージェント プール名として、 [vs2015ent] と入力します。4. [OK] をクリックして、エージェント プールの新規作成を完了します。

ビルドエージェントのインストール (2)

2

1

3

4

7

1. エージェント プール [vs2015ent] が新規作成されていることを確認します。2. [ エージェントのダウンロード ] をクリックして、ビルド エージェントをダウンロードします。

ビルドエージェントのインストール (3)

2

1

8

1. ダウンロードした [agent.zip] を展開して、 [Agent] フォルダと [ConfigureAgent.cmd] があることを確認します。

2. [Agent] フォルダと [ConfigureAgent.cmd] を [C:\TfsBuildsAgents\VsoBuildAgent] 以下にコピーします。

ビルドエージェントのインストール (4)

2

1

9

1. [C:\TfsBuildsAgents\VsoBuildAgent] に [settings.json] ファイルを新規作成します。2. メモ帳で開き以下のように記述して保存します。

ビルドエージェントのインストール (5)

2

1

10

[ConfigureAgent.cmd] を右クリックして、 [ 管理者として実行 ] をクリックします。ビルドエージェントの設定に関するコマンドプロンプトウインドウが表示されます。[( 既定は… )] と表示されるので、 [enter] キーを押して進めます。

1. [ サービスに使用するユーザーアカウントの名前を入力 ] には、ビルド用アカウント [tfsdemo\azuredaisuki] と入力し、パスワードも入力します。

ビルドエージェントのインストール (6)

1

11

ビルドエージェントの設定が完了すると、コマンドプロンプトウインドウが閉じます。ブラウザに戻り、エージェント プール [vs2015ent] に [vsoagent-vs2015ent] が緑色で表示されている事を確認します。

ビルドエージェントのインストール (7)

12

ビルドサーバー上で UI テストを実行する場合には、ビルドエージェントを対話モードで実行する必要があります。ここでは、同一のビルドサーバーに対話モードでビルドエージェントを実行する手順をご紹介します。

1.ビルドサーバー上でブラウザーを開き、 Team Foundation Server のサイトにアクセスします。 そして、 [ コントロールパネル ] アイコンをクリックします。

ビルドエージェントを対話モードで実行する場合 (1)

1

13

1. ブラウザの新しいタブに [ コントロールパネル ] が表示されます。 [Agent pools] をクリックします。2. [ 新しいプール ] をクリックします。3. エージェント プール名として、 [Interactive] と入力します。4. [OK] をクリックして、エージェント プールの新規作成を完了します。

ビルドエージェントを対話モードで実行する場合 (2)

2

1

3

4

14

ビルドエージェントはダウンロード済みですので、次にビルドエージェントを対話モードで実行するための設定をします。

1. [C:\TfsBuildsAgents\VsoBuildAgent] に [settings.json] ファイルを編集します。2. メモ帳で開き以下のように記述して保存します。 [WorkFolder] は、先ほどのフォルダとは別のフォルダ名にします。3. メモ帳で開き以下のように記述して保存します。 [PoolName] は、 [Interactive] と入力します。4. メモ帳で開き以下のように記述して保存します。 [RunAsWindowsService] は、 [False] と入力します。

ビルドエージェントを対話モードで実行する場合 (3)

2

134

15

[ConfigureAgent.cmd] を右クリックして、 [ 管理者として実行 ] をクリックします。ビルドエージェントの設定に関するコマンドプロンプトウインドウが表示されます。[( 既定は… )] と表示されるので、 [enter] キーを押して進めます。[Ctrl+C を押して終了してください ] と表示されたら、ビルドエージェントを対話モードで実行されています。サービスとして実行されていないので、ウインドウを閉じる、 Ctrl+C を押すなどするとビルドエージェントは終了しますので、ご注意ください。

ビルドエージェントを対話モードで実行する場合 (4)

16

ビルドエージェントの設定が完了すると、コマンドプロンプトウインドウが閉じます。ブラウザに戻り、エージェント プール [Interactive] に [Agent] が緑色で表示されている事を確認します。

ビルドエージェントを対話モードで実行する場合 (5)

17

Team Foundation Server では、ビルドエージェントが動いているマシンから WinRM を実行してテスト対象マシンの設定を行います。ワークグループのテスト対象マシンに WinRM をするには、ビルドエージェントが動いているマシンの [ 信頼されたホスト ] のリストに、ワークグループのマシン名を追加する必要があります。

今回は、全てのマシンを対象とするように、 PowerShell で下記コマンドを実行します。

Set-Item WSMan:\localhost\Client\TrustedHosts * -Force

[ 信頼されたホスト ] にテストマシンを追加

18

テスト対象マシンがワークグループにある場合は、ビルドサーバーの hosts ファイルにテスト対象のコンピュータ名と IP アドレスを追加しておく必要があります。

1. [C:\Windows\System32\drivers\etc] にある [hosts] ファイルをメモ帳開きます。2. hosts ファイルを以下のように変更します。一度デスクトップに保存してから、デスクトップにある [hosts] ファイ

ルをドラッグ&ドロップして、 [C:\Windows\System32\drivers\etc] にある [hosts] ファイルを更新してください。

以上で、ビルドサーバーの設定は完了です。マシンを再起動をして、 [hosts] ファイルの設定を反映させてください。

hosts ファイルの更新

1

2

テスト対象マシンの準備- Agents for Microsoft Visual Studio  のインストール- hosts ファイルの更新

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

テスト結果を Team Foundation Server に送信するため、ワークグループの全てのテスト対象マシンから コンピュータ名で Team Foundation Server にアクセスできるように、 hosts ファイルにテスト対象のコンピュータ名と IP アドレスを追加しておく必要があります。

1. [C:\Windows\System32\drivers\etc] にある [hosts] ファイルをメモ帳開きます。2. hosts ファイルを以下のように変更します。一度デスクトップに保存してから、デスクトップにある [hosts] ファイ

ルをドラッグ&ドロップして、 [C:\Windows\System32\drivers\etc] にある [hosts] ファイルを更新してください。

以上で、テスト対象マシンの設定は完了です。マシンを再起動をして、 [hosts] ファイルの設定を反映させてください。

hosts ファイルの更新

1

2

テスト対象マシンの登録

23

Team Foundation Server では、テスト対象マシンを事前に登録しておく必要があります。通常1つのグループに複数のマシンを登録できるので、ファイルのコピーなどを複数のマシンに一括で展開したい場合はとても便利です。ただし、 Test Agent を利用する場合は、 1 グループ 1 台にしないとテスト結果が送信されないので、ご注意ください。今回は、ファイルのコピー用と Test Agent 利用用途で登録しておきます。

1. Team Foundation Server でチームプロジェクトを開いている状態で、 [TEST] をクリックします。2. [ コンピュータ ] をクリックします。3. [+] をクリックします。

テスト対象マシンの登録 (1)

1

23

24

テスト対象マシンの登録 (2)

テスト対象マシンの

管理者アカウントとパスワード

< テスト関連ファイルを一括コピーする際に利用 >

ワークグループのマシンの場合は、

チェックをいれる

ビルド用アカウントとパスワードを入力

25

テスト対象マシンの登録 (3)

テスト対象マシンの

管理者アカウントとパスワード

<Test Agent を利用する場合に利用 (WinSvr2012R2 用 ) >

ワークグループのマシンの場合は、

チェックをいれる

ビルド用アカウントとパスワードを入力

26

テスト対象マシンの登録 (4)

テスト対象マシンの

管理者アカウントとパスワード

ワークグループのマシンの場合は、

チェックをいれる

<Test Agent を利用する場合に利用 (WinSvr2012 用 ) >

ビルド用アカウントとパスワードを入力

ビルド定義の作成- ビルド定義の作成- ビルドステップの追加

28

Team Foundation Server でビルドタスクを登録します。

1. Team Foundation Server でチームプロジェクトを開いている状態で、 [BUILD] をクリックします。2. [+] をクリックします。

ビルド定義の作成 (1)

1

2

29

1. ビルド定義のテンプレートを選択する画面が表示されます。 [ なし ] をクリックして、からの定義を選択します。2. [OK] をクリックしてウインドウを閉じます。

ビルド定義の作成 (2)

1

2

30

1. ビルド定義が新規作成されました。 [ 編集 ] をクリックして、ビルド定義の設定を行います。

ビルド定義の作成 (3)

1

31

1. [ 全般 ] をクリックします。2. [ 既定のキュー ] を先ほど登録したエージェント プール [vs2015ent] を選択します。3. [ ビルド番号の形式 ] には、 [$(date:yyyyMMdd)$(rev:.r)] と入力します。4. [ 保存 ] をクリックします。5. [ 名前 ] を [ デモ用ビルド定義 ] と入力します。 6. [OK] をクリックします。

ビルド定義の作成 (4)

14

2

6

5

3

32

ビルド定義の設定が完了したので、続いてビルドステップを追加していきます。1. [ ビルド ] をクリックします。2. [ ビルドステップの追加 ] をクリックします。

ビルドステップの追加 (1)

1

2

33

1. ビルドステップの選択画面が表示されます。 [Visual Studio のビルド ] を選択してから、 [ 追加 ] を 1 回クリックします。

2. [ 閉じる ] をクリックしてウインドウを閉じます。

ビルドステップの追加 (2)

1

2

34

ビルドステップ [Visual Studio のビルド ] を以下のように設定します。

ビルドステップの追加 (3)

ビルドするソリューション定義ファイルを指定

$(BuildPlatform) と入力

$(BuildConfiguration) と入力

35

ビルドステップ [Visual Studio のビルド ] を以下のように設定します。

ビルドステップの追加 (4)変数 BuildPlatform, BuildConfiguration の値を定義します。 1. [ 変数 ] をクリックします。2. 以下の様に入力します。 [ キュー時点で許可 ] にチェックをいれます。3. [ 保存 ] をクリックして、ビルドステップ [Visual Studio のビルド ] の設定を保存します。

3

2

1

36

ビルドステップ [Visual Studio のビルド ] を以下のように設定します。

ビルドステップの追加 (5)一度ビルドを実行してみましょう。1. [ ビルドをキューに挿入 ] をクリックします。2. ビルドをキューに配置するためのウインドウが表示されます。 [OK] をクリックしてウインドウを閉じます。

2

1

37

ビルドステップ [Visual Studio のビルド ] を以下のように設定します。

ビルドステップの追加 (6)1. ビルドが成功すると、緑色の帯に [ ビルド成功 ] と表示されることを確認します。

38

ビルドステップ [Visual Studio のビルド ] を以下のように設定します。

ビルドステップの追加 (7)ビルドステップを追加して、テスト対象マシン上への自動リモートテストの設定を行います。

<Visual Studio テスト : ビルドサーバー上でテストを実施 >

$(BuildPlatform) と入力

$(BuildConfiguration) と入力

[ コードカバレッジが有効 ] に

チェックをいれます

39

ビルドステップ [Visual Studio のビルド ] を以下のように設定します。

ビルドステップの追加 (8)ビルドステップを追加して、テスト対象マシン上への自動リモートテストの設定を行います。

< ビルド成果物の発行 : ビルド成果物を共有フォルダーにコピー >

bin フォルダ以下をコピーしま

す。[\\tfsdemo1\xxxx\ デモ用ビルド定義 \xxxxxxxx.x\test] にコピーします。

\\tfsdemo1\test\$(Build.DefinitionName)\$(Build.BuildNumber)

今回は、テストプロジェクトの

フォルダを指定します。

40

ビルドステップ [Visual Studio のビルド ] を以下のように設定します。

ビルドステップの追加 (9)ビルドステップを追加して、テスト対象マシン上への自動リモートテストの設定を行います。

<Windows コンピュータのファイルのコピー : テストに必要なファイルをテスト対象マシンにコピー >

WinSrv2012R2 と WinSvr2012 の両方にコピーします。

テスト対象マシンのコピー先フォルダを

指定します。

\\tfsdemo1\test\$(Build.DefinitionName)\$(Build.BuildNumber)

41

ビルドステップ [Visual Studio のビルド ] を以下のように設定します。

ビルドステップの追加 (10)ビルドステップを追加して、テスト対象マシン上への自動リモートテストの設定を行います。

<Visual Studio Test Agent の展開 : テスト対象マシン上で Test Agent の設定を実施 >

ワークグループの管理者アカウントとパス

ワードを入力します。

対話型プロセスにはチェックをいれます

http://go.microsoft.com/fwlink/?LinkId=536423 からダウンロードした

vstf_testagent.exe を共有フォルダにおい

ておきます。

\\tfsdemo1\test\TestAgent\vstf_testagent.exe

WinSrv2012R2 を指定します。

42

ビルドステップ [Visual Studio のビルド ] を以下のように設定します。

ビルドステップの追加 (11)ビルドステップを追加して、テスト対象マシン上への自動リモートテストの設定を行います。

< テスト エージェントを使用した Visual Studio テスト : テスト対象マシン上でリモートテストを実施 >

WinSrv2012R2 を指定します。テスト対象マシンのコピー先フォルダを

指定します。

43

ビルドステップ [Visual Studio のビルド ] を以下のように設定します。

ビルドステップの追加 (12)1. テスト対象マシン [WinSvr2012] についても下記ビルドステップを追加します。

・ Visual Studio Test Agent の展開・テスト エージェントを使用した Visual Studio テスト

2. [ 保存 ] をクリックします。3. [ ビルドをキューに挿入 ] をクリックして、ビルドを実行します。

2

1

3

44

ビルドステップ [Visual Studio のビルド ] を以下のように設定します。

ビルドステップの追加 (13)1. ビルドが成功していることを確認して、 [ ビルド番号 ] をクリックします。2. ビルド結果のレポートが表示されます。ビルドサーバー、 WinSvr2012R2, WinSvr2012 の3つのコンピュータのテ

スト結果があることを確認します。

2

1

Test Manager によるテストケース管理

46

テスト プロセスを包括的に管理するテスト専用ツール テストの計画、実施、追跡 テスト環境の管理 物理環境/仮想環境

Team Foundation Server開発者 テスト担当者

ソースコード設計書タスク・バグ

自動ビルド作業項目

ソースコード設計書タスク・バグテスト コード

物理/仮想自動ビルド/配置

▶ 包括的なテストの実施と管理 – Microsoft Test Manager

47

テスト専用ツールで、テストの計画/実施/不具合の管理を一元管理

テストと要件の対応付け

テスト項目の定義

テスト管理

▶ 包括的なテストの実施 - テストを早期段階で計画/実施

要件とテストを 1 対 1 で管理

早期段階で仕様を確認 (W 字モデルの早期段階 )

48

回帰テストの自動化

記録した操作のコード編集 (C# / Visual Basic)

ローカルマシンでのテストの実施

ビルド処理内でテスト対象マシンに回帰テストを実施

Test Manager で操作を記録

記録したテストを Visual Studio で編集

49

共有パラメーター 共有パラメーター使用で入力値を変更しての回帰テストが実現

⇒ 実用レベルの回帰テストが実施可能に

Test Manager のステップに共有パラメーターを組みこむ

共有パラメーターはいつでも変更可能

共有パラメーターの値が入力される

50

コード化された UI テスト

UI 操作の記録 テスト コードの生成 回帰テストの実施

アプリケーションの UI 操作を記録 特定ウィンドウのプロパティ値を検証 対応している環境

http://msdn.microsoft.com/ja-jp/library/dd380742.aspx

ビルド等と連携したテストの自動化も可能

記録済のプロパティの編集( データバインドも可能 )

独自のキーボード/マウス処理を追加

操作の記録と再生で、 UI のテストを効率化 時間がかかる UI 操作の回帰テストの効率化 人による品質のばらつきを防ぐ ( 毎回同じ UI 操作 ) 担当者の変更時においても、仕様への準拠を保証する ( テスト手順書を熟読する必要なし )

ビルドサーバーからビルドエージェントを削除

52

サービスとして登録したビルドエージェントをビルドサーバーから削除します。

1.ビルドサーバー上でブラウザーを開き、 Team Foundation Server のサイトにアクセスします。 そして、 [ コントロールパネル ] アイコンをクリックします。

ビルドサーバーからビルドエージェントを削除 (1)

1

53

1. ブラウザの新しいタブに [ コントロールパネル ] が表示されます。 [Agent pools] をクリックします。2. 今回削除するエージェントプール [vs2015ent] を右クリックします。3. [ 削除 ] をクリックします。4. エージェントプール削除確認のメッセージが表示されます。 [OK] をクリックします。

ビルドサーバーからビルドエージェントを削除 (2)

2

1

3

4

54

エージェントプール [vs2015ent] が削除されていることを確認します。

ビルドサーバーからビルドエージェントを削除 (3)

55

続いて、登録されているサービスを削除します。1. [ スタートアイコン ] を右クリックして、 [ コンピューターの管理 ] をクリックします。2. [ コンピューター管理 ] 画面が表示されます。 [ サービスとアプリケーション ] – [ サービス ] の順にクリックします。

ビルドサーバーからビルドエージェントを削除 (4)

2

1

56

1. サービス [VSO Agent(…)] をダブルクリックして、プロパティ画面を開きます。2. サービス名をコピーします。

3. コマンドプロンプトを管理者として実行し、下記コマンドを実行して当該サービスを削除します。

sc.exe delete ( コピーしたサービス名 )

ビルドサーバーからビルドエージェントを削除 (5)

2

1

3

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

参考資料

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