Your SlideShare is downloading. ×
  • Like
【@IT .NET 中心会議】 継続的フィードバックで俯瞰する Visual Studio 2010 の世界でのテスト
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

【@IT .NET 中心会議】 継続的フィードバックで俯瞰する Visual Studio 2010 の世界でのテスト

  • 7,949 views
Published

2011.06.25 に開催された 第5回 .NET 中心会議 「あなたのチームに最適なテスト」を考える の基調講演セッション資料です。 …

2011.06.25 に開催された 第5回 .NET 中心会議 「あなたのチームに最適なテスト」を考える の基調講演セッション資料です。
https://itmedia.smartseminar.jp/public/seminar/view/252

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
7,949
On SlideShare
0
From Embeds
0
Number of Embeds
3

Actions

Shares
Downloads
37
Comments
0
Likes
2

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Visual Studio 2010 によるテスト手法 日本マイクロソフト株式会社 デベロッパー&プラットフォーム統括本部 エバンジェリスト 長沢 智治 © 2011 Microsoft Corporation. All rights reserved.
  • 2. 詳細よりも、考え方を中心に 機能紹介ではなく、シナリオを中心に しきたりより、場の共有を中心に クリアな “解” は持ってきていません “解” は、現場にしかありません ここでは、”解” につながる “何か” を 共有できたら・・・© 2011 Microsoft Corporation. All rights reserved.
  • 3. Engineer at Intec Consultant at Rational Software Consultant at IBM Rational ながさわ ともはる Consultant/Architect at Borland Software Tomoharu Nagasawa ASTER Tool WG E-AGILITY 協議会 XPJUG Twitter Facebook LinkedIn http://twitter.com/tomohn http://facebook.com/tomoharu.nagasawa http://linkedin.com/in/tomohn SlideShare YouTube MSDN Channel 9 http://slideshare.net/tomohn http://youtube.com/user/tomoharunagasawa http://channel9.msdn.com/Niners/tomohn ITmedia Blog MSDN Blog http://blogs.itmedia.co.jp/nagap http://blogs.msdn.com/tomohn© 2011 Microsoft Corporation. All rights reserved.
  • 4. 大きめのお話し 継続的フィードバックで俯瞰する Visual Studio 2010 の世界でのテスト
  • 5. Team Editions Software Architects Software Developers Database Professionals Professional Software Testers TFS Team Editions Architecture Edition Development Edition Database Edition Professional Test Edition TFS Ultimate Premium Professional Test Professional TFS TFS: Team Foundation Server© 2011 Microsoft Corporation. All rights reserved.
  • 6. Milestone Task #1 品質とコストへの効果 Task #2 Task #3 Task #4 “じゅうらい” のソフトウェア開発 品質とコストへの効果 value “これから” のソフトウェア デリバリー© 2011 Microsoft Corporation. All rights reserved.
  • 7.  努力は報われない  個人の成果 vs. チームの成果  個人の問題 vs. チームの問題  1 + 1 = 2 とは限らない  そもそも、そういう次元ではない   単体テストをスキップ!?  回帰テストをスキップ!?  レビューしたつもり!?  “それは、開発の問題ではない”  “自分の機能は、動いている”  エナジー ドリンク注入!© 2011 Microsoft Corporation. All rights reserved. ・・・
  • 8.  報われる努力、チームで取り組む  チーム ゴール指向  協調とサポート  1 + 1 = 2+ へ  時代に対応したやり方へ  個人からチームへ  開発スタイルの尊重  バリューアップを実現  適切な武装  クリエイティブへ注力  テスト担当者/プロマネにも専用の武器を  時代に合わせた開発環境で挑む!© 2011 Microsoft Corporation. All rights reserved.
  • 9. テストのお話し 継続的フィードバックで俯瞰する Visual Studio 2010 の世界でのテスト
  • 10. テスト担当者 テスト開発者 手動テスト スクリプティング技術 高い 高い 卓越した スクリプティング技術 コーディング技術 コーディング技術 コーディング技術 テスト環境用の 自動化可能な スクリプトを作成 テスト手順の開発 テストデータを作成 ブラックボックス テスト ホワイトボックス テスト API テスト Test Manager Visual Studio テスト機能 テスト担当者にも専門ツールを提供 早期に “品質を作り込む” 仕組みと機能を提供© 2011 Microsoft Corporation. All rights reserved.
  • 11. テスト開発 開発 Requirements Test Manager Visual Studio テスト機能 テスト担当者にも専門ツールを提供 早期に “品質を作り込む” 仕組みと機能を提供 Test Plan Build Architecture Model Test Suite Test Code Test Case Production Code Bug Test Result Analysis Result Test Script Test Environment© 2011 Microsoft Corporation. All rights reserved.
  • 12. テスト開発 開発 Requirements Test Manager Visual Studio テスト機能 テスト担当者にも専門ツールを提供 早期に “品質を作り込む” 仕組みと機能を提供 Lab Source Architecture Test Case Test Result Bug Build Test Code Task Requirement Environment Code Model Team Foundation Server© 2011 Microsoft Corporation. All rights reserved.
  • 13. Test Manager Visual Studio テスト機能 テスト担当者にも専門ツールを提供 早期に “品質を作り込む” 仕組みと機能を提供 Team Foundation Server テスト担当者 開発者  簡潔な仕事と受け渡し  必要な情報の自動共有 テスト担当者 開発者© 2011 Microsoft Corporation. All rights reserved.
  • 14. 今 明日 将来© 2011 Microsoft Corporation. All rights reserved.
  • 15. 継続的 テスト駆動開発 インテグレーション 単体テスト リファクタリング バージョン管理 フレームワーク コード メトリックス 自動ビルド コード カバレッジ© 2011 Microsoft Corporation. All rights reserved.
  • 16. テスト テスト テスト 開発 開発 開発 設計 設計 設計 手戻りによるコストとリスク 問題発生時のインパクト© 2011 Microsoft Corporation. All rights reserved.
  • 17.  アーキテクチャ検証 設計  UML 品質  依存関係グラフ  UML (読み取り)  アーキテクチャ エクスプローラ  コードから推察 目指すべきレベル コード  コード分析の定義  コード分析の実行 品質  単体テストのロードテスト  コード メトリックス  デバッグの履歴化  プロファイル  単体テストの実行 (IntelliTrace™)  自動 UI / DB テスト  リファクタリング テスト  テスト管理 品質  手動テストの支援  テスト環境の仮想化  コード カバレッジ  Web テスト  テスト影響分析  コードから推察 Skill/Manual Tool/Automation© 2011 Microsoft Corporation. All rights reserved.
  • 18. Visual Studio 2010のお話し 継続的フィードバックで俯瞰する Visual Studio 2010 の世界でのテスト
  • 19. モデリングと検証 Web テスト New Web テスト UML モデリング New ロード テスト レイヤー ダイヤグラム アーキテクチャ可視化 包括的テスト New New テスト計画と実施の管理 アーキテクチャ エクスプローラー New New 先進的な手動テスト 依存関係グラフ New 手動テストの自動再生 デバッグの効率化 New New テスト環境の仮想化と管理 IntelliTrace™ 単体テスト コード分析 New 強化 自動 UI テスト 静的コード分析 データベースの単体テスト 強化 プロファイリング コード カバレッジ コード メトリックス New テスト影響分析 テスト サポート テスト データの自動生成 開発と DB の統合変更管理 単体テスト あらゆるタイプの開発 (ロジックの) 単体テスト 開発全般機能© 2011 Microsoft Corporation. All rights reserved.
  • 20. 理理 包括的テスト テスト計画と実施の管理 Microsoft 先進的な手動テスト Test Manager成 手動テストの自動再生管理 テスト環境の仮想化と管理 Lab Management © 2011 Microsoft Corporation. All rights reserved.
  • 21. Excel プロダクト バックログ イテレーション バックログ Web I/F バージョン管理 バーンダウン チャート メール連携 傾向分析 テストケース管理 Project バグ管理 プロジェクト計画の同期 プロジェクト進捗の同期© 2011 Microsoft Corporation. All rights reserved.
  • 22. 管理スト再生 Web テストと管理 Web テスト クロス プラットフォーム ロード テスト析 Eclipse コマンドライン 包括的テストス Windows, Linux, AIX テスト計画と実施の管理 Mac OS X, Solaris, HP-UX動生成 先進的な手動テスト更管理 手動テストの自動再生発能 テスト環境の仮想化と管理 © 2011 Microsoft Corporation. All rights reserved.
  • 23. あらゆる ソフトウェア開発の 開発インフラストラクチャを提供  全開発・テスト リソースを 1 リポジトリで運営  いつもの使い慣れたツール/方法で利用 管理者 開発者 開発者 テスト担当者 Eclipse© 2011 Microsoft Corporation. All rights reserved.
  • 24. 管理者 開発者 開発者 テスト担当者 Eclipse 開発プロセス ガイダンス 作業項目 v1.0 構成管理 v1.1 ドキュメント管理 要件 ポータル タスク v1.0 v1.1 バグ テスト ケース ビルド管理 ラボ管理 ダッシュボード レポート  開発・テストのリソースを有機的に関連付け  ライフサイクル全般に渡る追跡可能性を一貫した方法で提供  小規模から超大規模開発や部門全体の運営に対応する柔軟性 ※ MSDN Subscription 付き Visual Studio 2010 の特典として利用可能 Visual Studio 2010 Ultimate, Premium, Professional, Test Professional ※ パッケージ購入の場合、5人まで CAL なしで利用可能© 2011 Microsoft Corporation. All rights reserved.
  • 25. Visual Studio 2010テスト機能のお話し 継続的フィードバックで俯瞰する Visual Studio 2010 の世界でのテスト
  • 26. © 2011 Microsoft Corporation. All rights reserved.
  • 27. Test Lifecycle Development Lifecycle Requirements テスト計画と全体追跡 作業リスト バックログ テスト計画 テスト実施リスト 開発 テスト実施 自動ビルド ビルド ⇒ テスト ⇒ 配置 テスト結果追跡 バグ起票© 2011 Microsoft Corporation. All rights reserved.
  • 28. Visual Studio には、これらのテスト関連機能を、統合開発環境に搭載済み 開発/テスト開発を使い慣れた統合開発環境で加速© 2011 Microsoft Corporation. All rights reserved.
  • 29. イベント ビュー 呼び出しビュー 開発者のデバッグを飛躍的に効率化! テスト担当者の手動・自動テスト時のデバッグ情報を記録 ⇒ 開発者は即デバッグ!© 2011 Microsoft Corporation. All rights reserved.
  • 30. 静的コード分析 動的コード分析  .NET 用と Native C++ 用を搭載  デバッグ実行し、  .NET デザインガイド準拠 ボトルネックなどを分析・検知  独自規則のチェック  JavaScript のプロファイリングも実施可能  Visual Studio のビルド時に 強制実行し、ビルド エラー/警告  自動ビルド プロセスでコード分析 ビルドプロセスや開発プロセスに組み込み可能な実績のあるコード分析 動的コード分析を JavaScript まで拡張© 2011 Microsoft Corporation. All rights reserved.
  • 31. コード メトリックス  ソースコードの状況を客観的に “数値化”  保守容易性インデックス  クラスの継承の深さ  クラスの結合度 (依存関係の数)  コード行  サイクロマティック複雑度 コードの状態を、客観的数値指標で、可視化 “保守容易インデックス” で、バグの混在の危険性を把握し、未然に予防© 2011 Microsoft Corporation. All rights reserved.
  • 32. UI ロジック データ  UI 操作を記録  メソッドからのテスト自動生成  ストアド プロシージャのテストが可能  アサーションによる検証  テスト駆動開発をサポート  単体テスト フレームワークで実行可能  単体テスト フレームワークで実行可能  単体テスト フレームワークで実行可能  複雑な条件でのデータの  データ駆動テスト*が可能  データ駆動テスト*が可能 自動生成が可能  自動ビルド時に実行・検証が可能  自動ビルド時に実行・検証が可能  自動ビルド時に実行・検証が可能 * データ駆動テスト: 別途用意したテスト用データを読み込み、1 つのテスト ロジックの記述で、複数のテストを自動実行する仕組みを提供。 プレゼンテーション層、ビジネスロジック層、データ アクセス層に対するテスト 自動ビルドに組み込み、回帰テストが可能!© 2011 Microsoft Corporation. All rights reserved.
  • 33. Request 自動ビルドに組み込み  自動ビルド時に、実施可能! Response  変更を自動的に検証  ロード テストで、実行可能  汎用的な Web アプリケーションのテス トが可能*  ASP.NET, Java, etc * Windows 環境の Web サーバー/DB サーバー時には より詳細な分析データやシステム情報を収集可能 ※ 統合開発環境に組み込まれているため、開発・テストで効果的に利用可能!© 2011 Microsoft Corporation. All rights reserved.
  • 34. 単体テストへのロード テストにより、ピンポイントな負荷テストを実現! 開発の段階から、高度なパフォーマンスの確認が行える Web テストのロード テストにより、実稼働状況を想定した負荷テストをいつでも実行可能に ※ 統合開発環境に組み込まれているため、開発・テストで効果的に利用可能!© 2011 Microsoft Corporation. All rights reserved.
  • 35. <手動テスト> <手動テストの半自動化> <手動テストの自動化> 1回目: テスト失敗 2回目~: テスト成功 n回目~: テスト成功 テスト担当者 テスト担当者 開発者/チーム  明確なテスト手順を実行  明確なテスト手順を再生  自動 UI テストに変換し、全自動化  操作は自動記録  テスト失敗箇所のみを手動実施  自動ビルドに組み込み、継続的インテグレー  ビデオ記録、ロギング  操作は自動記録 ションで回帰テストを自動化  バグ起票、テスト結果作成  ビデオ記録、ロギング を自動化  バグ起票、テスト結果作成© 2011 Microsoft Corporation. All rights reserved. を自動化
  • 36. 自動ビルドによるチームの結束 容易なビルド定義 的確にバグを報告し、今実施すべき、 テストに専念  ウィザードで定義可能 ビルド時テスト自動化  ビルド ワークフローによる可視化 と詳細定義  ビルド プロセスにテストを組み込  継続的インテグレーション (CI) み ビルド結果と追跡可能性 の実現  ロジックの単体テスト  品質基準を満たさないチェックイ  UI の自動テスト  ビルドに含む下記を記録: ンをブロック  Web テスト  変更セット (*コード変更箇所) (ゲート チェックイン*)  静的コード分析の実施  実施タスク  テスト影響を検出・分析し、記  改修したバグ 録  テスト結果  コード カバレッジ  影響するテストの一覧 自信の持てるテスト対象のみを テスト担当者に提供* 2011 Microsoft Corporation. All rights reserved.© ゲート チェックイン: 継続的インテグレーションによりビルド、コード分析、テストを自動実行し、品質指標に満たさなかった場合は、チェックインを無効にし、開発者に差し戻す機構を提供
  • 37. © 2011 Microsoft Corporation. All rights reserved.
  • 38. 開発者 テスト担当者 Java 開発者 プロジェクト マネージャー VB 6 開発者 組込み開発者 デザイナー/UX 利害関係者 顧客/ビジネス アナリスト 運営アイディアの実装:  タスクボード  行燈  ポートフォリオ管理  勤怠管理  追跡可能性の可視化 TFS as a Platform  OSS ツール  3rd Party ツール チーム開発のファウンデーション (基盤) を提供  内製ツール チームを最適なツールとインターフェイスで “つなぐ”© 2011 Microsoft Corporation. All rights reserved.
  • 39. ✉ tomohn@microsoft.com © 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows 7, Visual Studio and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.