test manager によるテスト管理実践
TRANSCRIPT
Test Managerによるテスト管理実践
TFSUG 2016/02/25
(株)トーセーシステムズ
松川 怜右 (Ryosuke Matsukawa)
@matsukawar
自己紹介
◇最近やった仕事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
はじまり
•業務効率化/改善は進んでいるか?– 設計
• Enterprise Architect / Entity Framework を利用したモデルファーストのDB設計 (Oracle, SQL Server, MySQL すべてに対応)
• ワイヤーフレーム作成作業の効率化
• 機能仕様書と詳細設計書の分離と役割の見直し
– プログラミング• LINQ式やラムダ式、新しいC#文法を積極的に導入
• bootstrap, JQuery, JQ系プラグイン導入、UIを標準化/部品化
• ライブコードのサンプル集を強化
• 細かいテクニックなどは pukiwikiにまとめていつでも検索できるようにする
– テスト• ???
次のターゲット
テストチーム(QA)の現状
•EXCELの職人技– 検査仕様書を作る技
•EXCEL検査仕の管理による弊害– 検査仕様書の資産価値
•バグ起票の流れ– とにかく面倒!
• テスト実行 → bag発見 → 再現手順を思い出しながらもう一回やりながら画面キャプチャー → 起票のフォーマットに従い今やったことをテキスト入力 → バグ管理システムに登録→凡ミス発生やり直し!
再現できません! NGなのにOKになっている!
気付いた事
•壮大なEXCELマクロシステム
•ドキュメントの不良資産化
•人員増減に対応できてるか?
テストチーム(QA)の現状
•EXCEL管理
– Why?
•本来やりたいこと
– 本質保証(Quality Assurance)
太政官高札(五榜の掲示)http://www.city.saitama.jp/004/005/006/001/017/009/003/p000438.html
えくせる
検査仕を
やめる
べし
おさらい
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操作できることを確認
Coded UIテストとの違い
•ユニットテスト/コード化されたUIテスト– Visual Studio の単体テストの機能
– コードベース
– 詳細な値の検証も自動化できる
•Test Manager– 操作ベース
• コントロールのIDやクリック位置を記録
– 値の検証はマニュアル
Test Manager
•機能– テストケースの管理と共有
– テストの実施と記録
• マニュアル
• 探索的
• 自動化を目指す
– 結果をTFSにフィードバック
操作手順の再現性を上げるテスト効率を上げる
記録を管理する
Testing For Continues Delivery with VS2012
https://msdn.microsoft.com/en-us/library/jj159335.aspx#sec1
Testing For Continues Delivery with VS2012
https://msdn.microsoft.com/en-us/library/jj159335.aspx#sec1
実践内容
Test Manager利用の流れ
Test case 1
Test case 2QA
TFS登録
テスト
テスト結果
動画、操作ログ
バグ起票
DEV変更セット+
Test Manager
🐛Bug Ticket🐝
確認
探索的テスト
1.QAの責務 をみんなで考える
•システムの背景を共有
– 取り扱う情報の性質, 量, 利用者
– ビジネス価値が大事なシナリオは何?
2.テスト計画 という考え方
•テスト計画– 定期的にテスト計画を組んで実施
– テストケースはTFSの中から抽出して構成• クエリベーステスト
• なかったら作る
– ビルド• 途中で変えない
テスト計画の構成
•テストケースはTFSで検索
– ビジネス価値の高い項目にはタグ付けをしておき必ず実施するようにする
– 基本的には過去に作ったものを流用・組合せる
– 理想
• タイピングレスでテスト計画を構成!
3.フォーマットの差 を埋める
Traditional Excel Format
Test Manager Format
4.テストケースの粒度と集計 を見直す
•テストの集計(進捗率など)– テストステップ集計 → テストケース集計に変更
•テストケースの粒度– 1操作シナリオが 1テストケースと仮定
– 1テストケース内で操作を完結させる
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
6.テストケースの作成方法 を確立する
•EXCELを使って!
– セルの中身をテストケースにコピペ
•タグ付け, カスタムフィールドを活用
テスト計画作成時
テストケース作成時
7.テストケース/バグ のカスタマイズ
•カスタムフィールドがほしい
•使わない項目を消したい
matsukawarの日記TFSの作業項目のカスタマイズは簡単にできますhttp://d.hatena.ne.jp/matsukawar/20151219/1450537700
8.テスト設定
•テスト設定– 録画/録音 ON
– 操作キャプチャーの記録 ON
– システム情報の記録 ON
9.バグ起票とバグ管理
バグ起票
•テスト結果をTFSが自動入力
WEB
・・・・・・
VS
バグの管理
↑作業量(相対値)
作業項目累積とベロシティ(速度)
10.探索的テスト
•操作記録をTest Managerが記録
・・・
VS
11.集計の可視化
•ポータルにリアルタイムでグラフを出す
手順1)カスタムクエリ作成2)表示カラムを選択3)表示カラムの中から集計対象のデータを選択4)グラフをダッシュボードにピン止め
12.チェックイン時
ドラッグ&ドロップ
ふりかえり
発生した問題点
•検査成績書を納品!
– Test Manager から Excel を吐き出すプラグイン使えません
• 結局手動
– 今考えていること
• TFS2015 からAPI 経由でテストケースを吸いだし成型し、出力するプラグインを作りたい
ふりかえり
テスト計画作成(±0%) テスト実施(-10%)
集計/レポート(-90%) バグ管理(-20%)
•できなかった(できない)事
– 成績書の出力
– テストケースの部品化と共有ステップ化
– Coded UI との紐つけ
テスト自動化構成
Visual Studio Test Automation
ユニットテストの自動化
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!
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!
テスト設定
テストケースと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!
Test Agent マシンの登録
テストケースとCoded Testを紐つける
注:この紐つけ作業は、Visual Studio Enterprise で行います
テストの設定(自動)準備
Coded UI Test は何の為にあるのか?
•不正解(×)
– UIテスト自動化のため
•正解(◎)
– UI操作全般の自動化のため
お金を掛けないための対策
•VS Enterprise をUI Test の作成担当者に割り振り
– 別プロジェクトで UI Test の構築
– テストケースにUI Test を紐つけする
– ビルド定義 / テスト設定の定義
•下位Editionの利用者はWebポータルで対象のビルド定義をキューに配置
•QAはTest Manager のテストケースを実行
– Test Agent でUI Test を実行
今後やりたいこと
Release Management
?
SCVMMのテンプレートからVM展開したい
•現状
– あらかじめTest Agent用の仮想マシンを用意
– テストを流してる
•やりたいこと
– SCVMM上にVMの構成テンプレートを用意
– Test Manager 上からテスト毎にVM環境を配置
– DBサーバーや仮想ネットワークも含めたテスト環境を配置
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
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
クロスブラウザー対応
•現状
– IEのみ
•やりたいこと
– テスト設定でIE/GoogleChromeなどの切り替えが行える
– Test Managerのテスト環境の構成を変えるだけで同じテストを違うブラウザーで実行
• Coded UI Test のコード処理をクロスブラウザ対応となるよう工夫する必要がありそうです
テスト設定ファイルとクロスブラウザ設定
END