テスト イノベーション
Visual Studio 2010 による開発ライフサイクル全般にわたる包括的なテストソリューション
～ テストツールはここまで進化している！
マ゗クロソフト株式会社
エバンジェリスト / シニゕ プロダクト マネージャー

長沢 智治

+
本セッションでお伝えしたいこと
 ビジネス価値にフォーカスした継続的デリバリーを支える

テスト環境がすでに実践フェーズに

 Visual Studio ALM* による先進的な開発･テスト環境

テスト専用ツールの登場によるチーム生産性の向上

開発･テストを”共同所有”する
包括的リポジトリ

開発とテストのコラボレーション
手動テストを自動化

仮想化技術によるテスト環境自動構築“継続的デリバリー”＊ Visual Studio ALM は、製品名ではありません。Team Foundation Server と Visual Studio 2010 により誰もが使えるゕプリケーション ラ゗フサ゗クル管理ソリューションです。

+
Quick Answer！

Q.
A.

マ゗クロソフトは、各種のテストツールを提供していますか？

いいえ

統合開発環境である
Visual Studioにて テスト機能 を提供しています。
テスト担当者には専用のテストツールを提供しています。

テストの 70%

テストツールの対象

テスト専用ツール

Visual Studio テスト機能テスト担当者に専門ツールを早期工程からの品質の作り込み+
Visual Studio ALM
Visual Studio 開発環境をベースとした包括的なアプリケーション ライフサイクル管理を提供するソリューション ゕプリケーション ラ゗フサ゗クル全般に渡るリソースを“共同所有” する 開発インフラストラクチャ を提供

Team Foundation Server 2010
※ MSDN Subscription 付き Visual Studio の特典として利用可能

 チームの各ロールにも、開発者と同様に 専用ツール を提供

Test Manager 2010
※ Visual Studio 2010 Ultimate, Visual Studio Test Professional 2010 に同梱

 開発者にも、さらに 品質を作り込む 機能をスキルと経験に応じて提供

Visual Studio 2010
※ Visual Studio 2010 Ultimate, Premium, Professional を提供

アプリケーション ライフサイクル管理を “一般化” する+Visual Studio 2010 for 開発
モデリングと検証

Web テスト

NewUML モデリングWeb テスト

Newレイヤー ダイヤグラム

ロード テストアーキテクチャ可視化

包括的テストNew

アーキテクチャ エクスプローラー

New

テスト計画と実施の管理New

依存関係グラフNew

先進的な手動テスト

New

手動テストの自動再生

デバッグの効率化
NewIntelliTrace™

New テスト環境の仮想化と管理

単体テスト
New

New

コード分析

自動 UI テスト

強化

静的コード分析

データベースの単体テスト

強化

プロファイリング

コード カバレッジ

コード メトリックス

テスト影響分析

テスト サポート

テスト データの自動生成開発と DB の統合変更管理
単体テスト

あらゆるタイプの開発(ロジックの) 単体テスト

開発全般機能+
Visual Studio 2010 for テスト

理理

成

管理

包括的テスト

テスト計画と実施の管理

先進的な手動テスト

Microsoft

Test Manager

手動テストの自動再生
テスト環境の仮想化と管理

Lab Management

+
Visual Studio 2010 for 管理

Excel
プロダクト バックログ
イテレーション バックログ

バーンダウン チャート
傾向分析

Project
プロジェクト計画の同期

プロジェクト進捗の同期

Web I/F
バージョン管理
メール連携
テストケース管理

バグ管理

+Visual Studio 2010 for Java 開発

管理スト

再生

Web テストと管理

Web テスト
ロード テスト

析包括的テストス

テスト計画と実施の管理

動生成

先進的な手動テスト

更管理

発能

手動テストの自動再生

テスト環境の仮想化と管理

クロス プラットフォーム

Eclipse

コマンドライン

Windows, Linux, AIX
Mac OS X, Solaris, HP-UX+Team Foundation Server 2010
あらゆる ソフトウェア開発の開発インフラストラクチャを提供
 全開発･テスト リソースを 1 リポジトリで運営
 いつもの使い慣れたツール/方法で利用

管理者

開発者

開発者
Eclipse

テスト担当者+Team Foundation Server 2010
管理者

開発者

開発者

テスト担当者

Eclipseポータル

作業項目要件

ガイダンス
v1.0

v1.1

タスク
v1.0

テスト ケース

構成管理

v1.1

バグ
ビルド管理
ダッシュボード

ラボ管理

ドキュメント管理

開発プロセスレポート

 開発･テストのリソースを有機的に関連付け
 ライフサイクル全般に渡る追跡可能性を一貫した方法で提供
 小規模から超大規模開発や部門全体の運営に対応する柔軟性※ MSDN Subscription 付き Visual Studio 2010 の特典として利用可能
Visual Studio 2010 Ultimate, Premium, Professional, Test Professional※ パッケージ購入の場合、5人まで CAL なしで利用可能

+テスト ゗ノベーション
 ビジネス価値にフォーカスした継続的デリバリーを支える

テスト環境がすでに実践フェーズに

 Visual Studio ALM による先進的な開発･テスト環境

テスト専用ツールの登場によるチーム生産性の向上

開発･テストを”共同所有”する
包括的リポジトリ

開発とテストのコラボレーション
手動テストを自動化

仮想化技術によるテスト環境自動構築“継続的デリバリー”

+

テスト計画と実施の専用ツール


開発における統合開発環境と同じようにテストにも専用環境を提供！



テストの計画から、実施、結果の追跡までを 1 つのツールで提供

開発ラ゗フサ゗クルとテスト ラ゗フサ゗クルを包括的に運営できるリポジトリで情報を “共同所有”

MicrosoftTest Manager 2010

+Microsoft Test Manager 2010 テスト専用の新しいツール
 テストの計画から実施、バグの起票、結果の追跡を包括的にサポート

 全情報は、開発ラ゗フサ゗クルと “共同所有”
 テスト担当者にうれしい機能を提供:
 手動テストの効果的なナビゲーション

 手動テスト手順の自動再生が可能
 手動テストのテスト状況を自動録画
 バグ起票の半自動化

+
Microsoft Test Manager 2010 テスト ラ゗フサ゗クルの専門ツール

 開発とテストを包括･一元管理するリポジトリで “共同所有”

テストのラ゗フサ゗クル

開発のラ゗フサ゗クル
要件

テスト計画と全体追跡作業リスト

バックログ

テスト計画

開発

テスト実施リスト
テスト実施
自動ビルド
ビルド ⇒ テスト ⇒ 配置

テスト結果追跡

バグ起票

+

デモ
Microsoft Test Manager 2010 によるテストの包括的な管理･運営をご覧ください。

+

開発とテストのコラボレーション

開発者とテスト担当者の間の “バグのやりとり” の効率化

ワン クリックにより、バグ報告、バグ修正の反映がストレスなく可能

テストの半数以上を占める手動テストを効率化し、開発時テストに組み込み、自動化を実現

+テスト担当者 vs. 開発者

どういうテストしたんだ！
まったく再現しない。
情報が足りない

開発者

こっちは多くのテストをこなしているんだ！
いつになったら直るんだ

テスト担当者

+
テスト担当者 と 開発者

バグの再現方法がすぐに把握できる！
バグの改修も迅速に！

今、どのテストを実施すべきかよくわかる！

TFS開発者

テスト担当者

+デモ
テスト担当者と開発者のコラボレーションと効率化をご覧ください。

+開発者テスト
 開発者による “品質の作り込み”:
 デバッグ IntelliTrace™ によるデバッグ履歴の再生や配布 コード分析 静的および動的 コード メトリックス
 単体テスト ロジック、ユーザー ゗ンターフェ゗ス、データベース
 Web テスト
 HTTP Request/Response の記録と再生
 ロード テスト
 Web テストや単体テストに負荷をかけた実施

Visual Studio には、これらのテスト関連機能を、統合開発環境に搭載済み開発／テスト開発を使い慣れた統合開発環境で加速+
開発者テスト 開発者による “品質の作り込み”:
 デバッグ IntelliTrace™ によるデバッグ履歴の再生や配布

゗ベント ビュー

呼び出しビュー

開発者のデバッグを飛躍的に効率化！
テスト担当者の手動･自動テスト時のデバッグ情報を記録 ⇒ 開発者は即デバッグ！

+開発者テスト
 開発者による “品質の作り込み”:
 コード分析

静的コード分析
 .NET 用と Native C++ 用を搭載
 .NET デザ゗ンガ゗ド準拠
 独自規則のチェック Visual Studio のビルド時に強制実行し、ビルド エラー/警告 自動ビルド プロセスでコード分析

動的コード分析 デバッグ実行し、ボトルネックなどを分析･検知 JavaScript のプロフゔ゗リングも実施
可能

ビルドプロセスや開発プロセスに組み込み可能な実績のあるコード分析
動的コード分析を JavaScript まで拡張

+開発者テスト
 開発者による “品質の作り込み”:
 コード メトリックス

コード メトリックス
 ソースコードの状況を客観的に “数値化”
 保守容易性゗ンデックス

クラスの継承の深さクラスの結合度 (依存関係の数)
コード行サ゗クロマテゖック複雑度

コードの状態を、客観的数値指標で、可視化“保守容易インデックス” で、バグの混在の危険性を把握し、未然に予防+開発者テスト
 開発者による “品質の作り込み”:
 単体テスト ロジック、ユーザー ゗ンターフェ゗ス、データベース

UI





UI 操作を記録
ゕサーションによる検証
単体テスト フレームワークで実行可能
データ駆動テスト*が可能
自動ビルド時に実行･検証が可能

ロジック





メソッドからのテスト自動生成
テスト駆動開発をサポート
単体テスト フレームワークで実行可能
データ駆動テスト*が可能
自動ビルド時に実行･検証が可能

データ



ストゕド プロシージャのテストが可能
単体テスト フレームワークで実行可能
複雑な条件でのデータの自動生成が可能
自動ビルド時に実行･検証が可能* データ駆動テスト: 別途用意したテスト用データを読み込み、1 つのテスト ロジックの記述で、複数のテストを自動実行する仕組みを提供。

プレゼンテーション層、ビジネスロジック層、データ アクセス層に対するテスト
自動ビルドに組み込み、回帰テストが可能！

+開発者テスト
 開発者による “品質の作り込み”:
 Web テスト
 HTTP Request/Response の記録と再生
RequestResponse

自動ビルドに組み込み 自動ビルド時に、実施可能！
 変更を自動的に検証
 ロード テストで、実行可能
 汎用的な Web ゕプリケーションのテストが可能*
 ASP.NET, Java, etc* Windows 環境の Web サーバー/DB サーバー時にはより詳細な分析データやシステム情報を収集可能※ 統合開発環境に組み込まれているため、開発･テストで効果的に利用可能！

+開発者テスト
 開発者による “品質の作り込み”:
 ロード テスト
 Web テストや単体テストに負荷をかけた実施

単体テストへのロード テストにより、ピンポイントな負荷テストを実現！
開発の段階から、高度なパフォーマンスの確認が行える
Web テストのロード テストにより、実稼働状況を想定した負荷テストをいつでも実行可能に※ 統合開発環境に組み込まれているため、開発･テストで効果的に利用可能！

+
手動テストを自動化
 Test Manager で実施した手動テストを自動 UI テストとして実行可能
 受け入れ駆動開発を現実解として、実践可能な環境が整った<手動テスト>

1回目: テスト失敗

テスト担当者

明確なテスト手順を実行
操作は自動記録 ビデオ記録、ロギング
バグ起票、テスト結果作成を自動化<手動テストの半自動化><手動テストの自動化>

2回目～: テスト成功

n回目～: テスト成功

テスト担当者

開発者/チーム

明確なテスト手順を再生
テスト失敗箇所のみを手動実施
操作は自動記録 ビデオ記録、ロギング
バグ起票、テスト結果作成
を自動化



自動 UI テストに変換し、全自動化
自動ビルドに組み込み、継続的゗ンテグ
レーションで回帰テストを自動化+

デモ
Microsoft Visual Studio 2010 による開発者が行う品質の作り込みに貢献するテスト機能をご覧ください。

+

開発･テストのラ゗フサ゗クルを包括運営
要件・タスク・テスト ケース・バグ、ビルド、変更セットを開発者、テスト担当者に関わらず、”共同所有”


各自の視点で、知りたい情報だけに最適にゕクセス

変更は、瞬時に ”共有”

すべてのリソースは、Team Foundation Server で一元管理･運営要件 ⇒ テスト ケース ⇒ バグ ⇒ コードの変更セット ⇒ テスト対象ビルド

あらゆる開発技術で利用可能
Team Foundation Server にゕクセス、リソースを管理Test Manager で、技術に関わらずテストを計画・実施・結果を追跡+ラ゗フサ゗クルにみる情報分散
要求定義の作業要求を定義する

 ユーザーストーリー
 QoS

テストを計画する

要求管理

テスト計画

設計＆実装
する

テストを設計する

テストコードソースコードテストを実施する

テストケース

バグ管理

テストをアサインする

ビルド

テスト結果

テストの作業

テスト環境

デプロイ
する

開発の作業

+
Team Foundation Server
要求定義の作業要求を定義するテストを計画する
設計＆実装
する

テストを設計する

テストをアサインする

テストを実施する

デプロイ
する

テストの作業
開発の作業
開発資産の統一管理によるコラボレーション

+Team Foundation Server 2010
プロセス全体を網羅
開発

総合テスト
非機能要件確認

機能テスト

様々な粒度、観点からのテストや開発機能
IntelliTrace™

単体テスト

プロフゔ゗リング

総合テスト

コード分析

UI テスト

負荷テスト

受け入れテストチェック゗ン時にビルドやテストを実行
し、品質を確保

レポートなどで可視化されたテスト結果、バグ状
況による品質の管理
メンバーの進捗管理

密な連携

テストで取得した様々な情報を記録、共有

タスク管理

バージョン管理

テスト環境の仮想化と共有

プロジェクト管理

自動ビルド問題が発生したときの環境のスナップショット

レポート

ポータル

+
Team Foundation Server
自動ビルドによるチームの結束容易なビルド定義
 ウゖザードで定義可能
 ビルド ワークフローによる可視化と詳細定義
 継続的゗ンテグレーション(CI) の実現
 品質基準を満たさないチェック゗ンをブロック(ゲート チェック゗ン*)

ビルド時テスト自動化
 ビルド プロセスにテストを組み込み
 ロジックの単体テスト
 UI の自動テスト
 Web テスト
 静的コード分析の実施
 テスト影響を検出･分析し、記録的確にバグを報告し、今実施すべき、テストに専念

ビルド結果と追跡可能性
 ビルドに含む下記を記録:
 変更セット (*コード変更箇所)
 実施タスク 改修したバグ
 テスト結果
 コード カバレッジ
 影響するテストの一覧

自信の持てるテスト対象のみをテスト担当者に提供* ゲート チェックイン: 継続的インテグレーションによりビルド、コード分析、テストを自動実行し、品質指標に満たさなかった場合は、チェックインを無効にし、開発者に差し戻す機構を提供

+

テスト環境の仮想化と構成の管理

物理･仮想のテスト環境の構成を管理

仮想テスト環境の動的な構築と破棄

テスト対象ビルドの自動デプロ゗

テスト失敗時に、テスト環境を保管し、開発者へ提供

継続的デリバリー

難しいビルドとデプロ゗および、テスト環境の構築を自動化



継続的゗ンテグレーションを連動し、自動テストを実現

テスト担当者に、最適なテスト環境を提供し、リモートからテストを実施

+Lab Management
 テスト環境の構築と、テストの実施を効率化
 仮想化技術のフル活用で、物理･仮想テスト環境の構成を管理
 仮想化技術により、必要に応じたテスト環境の構築と破棄が可能
 自動ビルドにおいて、テスト環境への自動デプロ゗と自動テストを実現！

 テスト担当者のラボへのゕクセスを最適化
 Test Manager によるテスト時に、テスト環境へのリモート接続を提供

 テスト担当者は、テスト環境を意識することなく、テスト実施に専念
 問題発生時には、テスト環境を “保管” し、開発者に提供可能+まとめ ビジネス価値にフォーカスした継続的デリバリーとテスト
 Visual Studio ALM* による先進的な開発･テスト環境

テスト専用ツールの登場によるチーム生産性の向上

開発･テストを”共同所有”する
包括的リポジトリ

開発とテストのコラボレーション
手動テストを自動化

仮想化技術によるテスト環境自動構築“継続的デリバリー”

本来 “やるべきこと” に専念し、チーム全体の生産性と品質を強力にサポート

withTeam Foundation Server 2010 のフル機能が追加費用なしで利用できる！
サーバー ラ゗センスとクラ゗ゕント ゕクセス ラ゗センスが付与されています。
開発やテストに必要なオペレーテゖング システム (Windows OS) などが利用できる

+予稿集をご覧ください。

+

ご清聴 ありがとうございました。

メール ゕドレス: tomohn@microsoft.com
Twitter ID:@tomohn

ブログ:

http://blogs.msdn.com/tomohn
http://blogs.itmedia.co.jp/nagap+マ゗クロソフト
ブースにお越しください。

全デモンス
トレーショ
ンをご覧いただけます