test manager によるテスト管理実践

50
Test Managerによる テスト管理実践 TFSUG 2016/02/25 (株)トーセーシステムズ 松川 怜右 (Ryosuke Matsukawa) @matsukawar

Upload: ryosuke-matsukawa

Post on 21-Feb-2017

539 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Test manager によるテスト管理実践

Test Managerによるテスト管理実践

TFSUG 2016/02/25

(株)トーセーシステムズ

松川 怜右 (Ryosuke Matsukawa)

@matsukawar

Page 2: Test manager によるテスト管理実践

自己紹介

◇最近やった仕事1)海外拠点向け基幹システム開発ASP.NET, Oracle, Entity Framework

2) WEBシステム開発RHEL6, mod_mono, ASP.NET, MySQL, Entity Framework

3) 社内ツール/インフラ導入Spark (オンプレ型チャットシステム)をこの前導入

◇TFSにほしい機能No.31) WIKI

2) Storyboarding WEB版3) もっとリッチなTeam room

Page 3: Test manager によるテスト管理実践

はじまり

•業務効率化/改善は進んでいるか?– 設計

• Enterprise Architect / Entity Framework を利用したモデルファーストのDB設計 (Oracle, SQL Server, MySQL すべてに対応)

• ワイヤーフレーム作成作業の効率化

• 機能仕様書と詳細設計書の分離と役割の見直し

– プログラミング• LINQ式やラムダ式、新しいC#文法を積極的に導入

• bootstrap, JQuery, JQ系プラグイン導入、UIを標準化/部品化

• ライブコードのサンプル集を強化

• 細かいテクニックなどは pukiwikiにまとめていつでも検索できるようにする

– テスト• ???

次のターゲット

Page 4: Test manager によるテスト管理実践

テストチーム(QA)の現状

•EXCELの職人技– 検査仕様書を作る技

•EXCEL検査仕の管理による弊害– 検査仕様書の資産価値

•バグ起票の流れ– とにかく面倒!

• テスト実行 → bag発見 → 再現手順を思い出しながらもう一回やりながら画面キャプチャー → 起票のフォーマットに従い今やったことをテキスト入力 → バグ管理システムに登録→凡ミス発生やり直し!

再現できません! NGなのにOKになっている!

Page 5: Test manager によるテスト管理実践

気付いた事

•壮大なEXCELマクロシステム

•ドキュメントの不良資産化

•人員増減に対応できてるか?

Page 6: Test manager によるテスト管理実践

テストチーム(QA)の現状

•EXCEL管理

– Why?

•本来やりたいこと

– 本質保証(Quality Assurance)

太政官高札(五榜の掲示)http://www.city.saitama.jp/004/005/006/001/017/009/003/p000438.html

えくせる

検査仕を

やめる

べし

Page 7: Test manager によるテスト管理実践

おさらい

Page 8: Test manager によるテスト管理実践

Test Manager

•ライセンス

– Test Professional または Visual Studio Enterprise with

MSDN

– Test Professional 単体の場合は別途、Team Foundation

Server CALが必要

•Test Manager 2013

– Visual Studio インストール不要

– 前バージョンより動作が安定

– Bootstrap, JQuery UI, ASP.NET標準コントロール以外のUI操作できることを確認

Page 9: Test manager によるテスト管理実践

Coded UIテストとの違い

•ユニットテスト/コード化されたUIテスト– Visual Studio の単体テストの機能

– コードベース

– 詳細な値の検証も自動化できる

•Test Manager– 操作ベース

• コントロールのIDやクリック位置を記録

– 値の検証はマニュアル

Page 10: Test manager によるテスト管理実践

Test Manager

•機能– テストケースの管理と共有

– テストの実施と記録

• マニュアル

• 探索的

• 自動化を目指す

– 結果をTFSにフィードバック

操作手順の再現性を上げるテスト効率を上げる

記録を管理する

Page 11: Test manager によるテスト管理実践

Testing For Continues Delivery with VS2012

https://msdn.microsoft.com/en-us/library/jj159335.aspx#sec1

Page 12: Test manager によるテスト管理実践

Testing For Continues Delivery with VS2012

https://msdn.microsoft.com/en-us/library/jj159335.aspx#sec1

Page 13: Test manager によるテスト管理実践

実践内容

Page 14: Test manager によるテスト管理実践

Test Manager利用の流れ

Test case 1

Test case 2QA

TFS登録

テスト

テスト結果

動画、操作ログ

バグ起票

DEV変更セット+

Test Manager

🐛Bug Ticket🐝

確認

探索的テスト

Page 15: Test manager によるテスト管理実践

1.QAの責務 をみんなで考える

•システムの背景を共有

– 取り扱う情報の性質, 量, 利用者

– ビジネス価値が大事なシナリオは何?

Page 16: Test manager によるテスト管理実践

2.テスト計画 という考え方

•テスト計画– 定期的にテスト計画を組んで実施

– テストケースはTFSの中から抽出して構成• クエリベーステスト

• なかったら作る

– ビルド• 途中で変えない

Page 17: Test manager によるテスト管理実践

テスト計画の構成

•テストケースはTFSで検索

– ビジネス価値の高い項目にはタグ付けをしておき必ず実施するようにする

– 基本的には過去に作ったものを流用・組合せる

– 理想

• タイピングレスでテスト計画を構成!

Page 18: Test manager によるテスト管理実践

3.フォーマットの差 を埋める

Traditional Excel Format

Test Manager Format

Page 19: Test manager によるテスト管理実践

4.テストケースの粒度と集計 を見直す

•テストの集計(進捗率など)– テストステップ集計 → テストケース集計に変更

•テストケースの粒度– 1操作シナリオが 1テストケースと仮定

– 1テストケース内で操作を完結させる

Page 20: Test manager によるテスト管理実践

5.インフラ構築

•環境構築

– Build Controller / Build Agent

– Test Controller / Test Agent

•QAの端末はなるべく新しいものを

– 動画を撮りますので…低スペックだと固まったりします

Troubleshooting Guide for Visual Studio Test Controller and Agent

https://social.msdn.microsoft.com/Forums/en-US/df043823-ffcf-

46a4-9e47-1c4b8854ca13/troubleshooting-guide-for-visual-studio-

test-controller-and-agent?forum=vststest

Page 21: Test manager によるテスト管理実践

6.テストケースの作成方法 を確立する

•EXCELを使って!

– セルの中身をテストケースにコピペ

•タグ付け, カスタムフィールドを活用

テスト計画作成時

テストケース作成時

Page 22: Test manager によるテスト管理実践

7.テストケース/バグ のカスタマイズ

•カスタムフィールドがほしい

•使わない項目を消したい

matsukawarの日記TFSの作業項目のカスタマイズは簡単にできますhttp://d.hatena.ne.jp/matsukawar/20151219/1450537700

Page 23: Test manager によるテスト管理実践

8.テスト設定

•テスト設定– 録画/録音 ON

– 操作キャプチャーの記録 ON

– システム情報の記録 ON

Page 24: Test manager によるテスト管理実践

9.バグ起票とバグ管理

Page 25: Test manager によるテスト管理実践

バグ起票

•テスト結果をTFSが自動入力

WEB

・・・・・・

VS

Page 26: Test manager によるテスト管理実践

バグの管理

↑作業量(相対値)

作業項目累積とベロシティ(速度)

Page 27: Test manager によるテスト管理実践

10.探索的テスト

•操作記録をTest Managerが記録

・・・

VS

Page 28: Test manager によるテスト管理実践

11.集計の可視化

•ポータルにリアルタイムでグラフを出す

手順1)カスタムクエリ作成2)表示カラムを選択3)表示カラムの中から集計対象のデータを選択4)グラフをダッシュボードにピン止め

Page 29: Test manager によるテスト管理実践

12.チェックイン時

ドラッグ&ドロップ

Page 30: Test manager によるテスト管理実践

ふりかえり

Page 31: Test manager によるテスト管理実践

発生した問題点

•検査成績書を納品!

– Test Manager から Excel を吐き出すプラグイン使えません

• 結局手動

– 今考えていること

• TFS2015 からAPI 経由でテストケースを吸いだし成型し、出力するプラグインを作りたい

Page 32: Test manager によるテスト管理実践

ふりかえり

テスト計画作成(±0%) テスト実施(-10%)

集計/レポート(-90%) バグ管理(-20%)

•できなかった(できない)事

– 成績書の出力

– テストケースの部品化と共有ステップ化

– Coded UI との紐つけ

Page 33: Test manager によるテスト管理実践

テスト自動化構成

Visual Studio Test Automation

Page 34: Test manager によるテスト管理実践

ユニットテストの自動化

Visual Studio

Unit Test

Unit Test

Build Agent

http://ftp.arl.mil/ftp/historic-computers/

Unit Test

Unit Test

OK

OK

bin

☆一番安価で効果がでるモデル

TODO

1)テストコードの作成2)ビルド定義の設定

Check

IN!

Page 35: Test manager によるテスト管理実践

Coded UI Test の自動化

Visual Studio

Unit Test

Coded UI Test

Build Agent

http://ftp.arl.mil/ftp/historic-computers/

Test Agent

(1)

(2)

Unit Test

Coded UI Test

OK

OK

bin

TODO

1)テストコードの作成2)ビルド定義の設定3)テスト設定の作成 (Enterprise)

Check

IN!

Page 36: Test manager によるテスト管理実践

テスト設定

Page 37: Test manager によるテスト管理実践

テストケースとCoded Testを紐つける

テストケース(1)

Test Manager Visual Studio

テストケース(2)

Coded UI Test

Unit Test

Build Agent

http://ftp.arl.mil/ftp/historic-computers/

Test Agent

(1)

(2)

Coded UI Test

Unit Test

OK

OK

bin

Check

IN!

Page 38: Test manager によるテスト管理実践

Test Agent マシンの登録

Page 39: Test manager によるテスト管理実践

テストケースとCoded Testを紐つける

注:この紐つけ作業は、Visual Studio Enterprise で行います

Page 40: Test manager によるテスト管理実践

テストの設定(自動)準備

Page 41: Test manager によるテスト管理実践

Coded UI Test は何の為にあるのか?

•不正解(×)

– UIテスト自動化のため

•正解(◎)

– UI操作全般の自動化のため

Page 42: Test manager によるテスト管理実践

お金を掛けないための対策

•VS Enterprise をUI Test の作成担当者に割り振り

– 別プロジェクトで UI Test の構築

– テストケースにUI Test を紐つけする

– ビルド定義 / テスト設定の定義

•下位Editionの利用者はWebポータルで対象のビルド定義をキューに配置

•QAはTest Manager のテストケースを実行

– Test Agent でUI Test を実行

Page 43: Test manager によるテスト管理実践

今後やりたいこと

Page 44: Test manager によるテスト管理実践

Release Management

Page 45: Test manager によるテスト管理実践

SCVMMのテンプレートからVM展開したい

•現状

– あらかじめTest Agent用の仮想マシンを用意

– テストを流してる

•やりたいこと

– SCVMM上にVMの構成テンプレートを用意

– Test Manager 上からテスト毎にVM環境を配置

– DBサーバーや仮想ネットワークも含めたテスト環境を配置

Page 46: Test manager によるテスト管理実践

Test AgentのSCVMM配置

テストケース(1)

Test Manager Visual Studio

テストケース(2)

Coded UI Test

Unit Test

Build Agent

http://ftp.arl.mil/ftp/historic-computers/

Test Agent

(1)

(2)

Coded UI Test

Unit Test

OK

OK

bin

Check

IN!

System Center Virtual Machine Manager

Page 47: Test manager によるテスト管理実践

Test AgentのSCVMM配置

テストケース(1)

Test Manager Visual Studio

テストケース(2)

Coded UI Test

Unit Test

Build Agent

http://ftp.arl.mil/ftp/historic-computers/

Test Agent

(1)

(2)

Coded UI Test

Unit Test

OK

OK

bin

Check

IN!

System Center Virtual Machine Manager

Page 48: Test manager によるテスト管理実践

クロスブラウザー対応

•現状

– IEのみ

•やりたいこと

– テスト設定でIE/GoogleChromeなどの切り替えが行える

– Test Managerのテスト環境の構成を変えるだけで同じテストを違うブラウザーで実行

• Coded UI Test のコード処理をクロスブラウザ対応となるよう工夫する必要がありそうです

Page 49: Test manager によるテスト管理実践

テスト設定ファイルとクロスブラウザ設定

Page 50: Test manager によるテスト管理実践

END