SlideShare a Scribd company logo
[TL02] "Shift Left" で問題の早期発見を実現する、最新 Visual Studio の品質チェック・テスト機能の使い方
[TL02] "Shift Left" で問題の早期発見を実現する、最新 Visual Studio の品質チェック・テスト機能の使い方
最新の開発に求められる環境
リソース管理 ビルド&
デプロイ
テスト リリース
管理
アプリの運用監視
Visual
Studio
クラウドEclipse
XCode
開発
DevOpsの7つの習慣とプラクティス
•Scaled Agile
•チームでの情報共有
・・・
•Shift Left
•継続的テスト
・・・
•使用状況の監視
•フィードバック
・・・
•テスト自動化
•ピアレビュー
・・・
•クラウド
•コンテナ
・・・
•リリース後の検証
•活用情報の収集
・・・
•APM
•継続的配置(CD)
・・・
FLOW OF
CUSTOMER
VALUE
TEAM
AUTONOMY
& ALIGNMENT
BACKLOG
IMPROVED
BY LEARNING
EVIDENCE
GATHERED IN
PRODUCTION
MANAGED
TECHNICAL
DEBT
PRODUCTION
FIRST
MINDSET
INFRASTRUCTURE
IS A FLEXIBLE
RESOURCE
最新の開発手法対応
継続的デリバリ
テストファースト
コーディング
テスト
自動化
Team Foundation Server / Visual Studio Team Services
フィードバック
IntelliTrace
構造
分析 リリース管理
IntelliTest
カバレッジ
プロファイラー
Fake Application
Insights
要求
開発
Live Unit Testing
ソースコード
管理
バックログ
管理
テスト/
バグ管理
ビルド/
リリース管理
パッケージ管理
コード解析
どのフェーズで問題を発見・修正するか
開発後半での問題発見と
修正には、初期フェーズ
の数十倍も工数がかかる
問題の発見と修正コスト
0
5
10
15
20
25
30
35
修正コスト
Visual Studio でコーディ
ングした瞬間に問題の検出
と修正が出来れば最速?
ソースコードの依存関係検証
例えば、MVVMパターンで
ViewからModelに直接アク
セスして欲しくない場合
許可されないアクセスを書
いた際にリアルタイム警告
Visual Studioでレイヤ図を
作成し、依存関係を定義
View
View
Model
Model
アクセスを禁止したいが、
ビルドは通る
Demo
静的コード分析ルールの新規作成概要
Visual Studio に 「.NET Compiler Platform SDK」をセットアッ
プし、Extensibilityからルール作成プロジェクトを作成。
問題検出用ロジック
~DiagnosticAnalyzer クラスの実装~
問題修正用ロジック
~CodeFixProviderクラスの実装~
リソース
~Resource.resxにメッセージ設定~プロジェクト作成と
開発/デバッグ
静的コード分析ルールの新規作成手順
DiagnosticAnalyz
er で検出ロジッ
クを指定
CodeFixProviderに
おいて、修正ロ
ジック作成
Resource.resxへの
メッセージ記述
Syntax Visualizer
「DiagnosticAnalyzer」や「CodeFixAnalizer」で使用するメソッド
や型の定義を調べることが出来る便利ツール
変数宣言部分のコード検証
・MethodDeclaration
・LocalDeclarationStatement
・VariableDeclaration
クラス宣言部分のコード検証
・NamespaceDeclaration
・ClassDeclaration
・IdentifierToken
Demo
作成した静的コード分析ルールの配布方法
新規作成した静的ソースコード分析ルールは、「VSIX」
もしくは「Nugetパッケージ」として展開可能。
Nuget
パッケージ
VSIX
ファイル
ビルド
v
Ver 1.0.0
Nugetサーバ
Ver 1.0.1
Ver 1.0.2
Ver 1.0.x
適切なバージョンの
ライブラリを「参照
設定」へ取り込み
Visual Studio による
手動ビルド操作
パッケージ管理Team Foundation Server
TFSのフィードで管理される
パッケージのバージョン
Team Foundation Server
からのビルド実行
作成した静的コー
ド分析ルールも、
TFSでバージョン
管理可能
開発用
ビルド
開発、テスト、
運用環境への
デプロイ
ビルドからパッケージ管理に登録し、ライブラリをそれぞれの
アプリケーション開発で適切に呼び出して使用可能。
登録用
ビルド
パッケージビルド管理
ソース管理 パッケージ
管理
開発用
ビルド
リリース用
ビルド
アプリ
アプリビルド管理
Demo
☑
☑
□
☑
Intelli Test
C#
Fake
Framework
コード
カバレッジ
ソースコード
(*1)Live Unit TestingはC#、VB.NETに対応。
(*2)IntelliTest(ユニットテスト自動生成)はC#に対応。
ユニットテスト
(Test Explorer)
ビルド
Live Unit
Testing
ユニットテストの合否を
確認しながらメソッドの
作成/修正が可能。
Demo
• Team Foundation Serverのビルド
タスクにテストを追加。
Team Foundation Server
ビルド リリース
ビルドタイプを選択 ソースコード格納先
などを選択
ビルドステップ指定
ビルド時のテストにか
かる時間を削減してコ
ストとテストの効率化
前回のビルドからの更新に影響を受けるテストだけを実行
Demo
セッションアンケートにご協力ください
 専用アプリからご回答いただけます。
decode 2017
 スケジュールビルダーで受講セッションを
登録後、アンケート画面からご回答くださ
い。
 アンケートの回答時間はたったの 15 秒です!
Ask the Speaker のご案内
本セッションの詳細は『Ask the Speaker Room』各コーナーカウンタにて
ご説明させていただきます。是非、お立ち寄りください。
© 2017 Microsoft Corporation. All rights reserved.
本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。

More Related Content

PDF
[TL10] Azure IaaS 構築・運用・管理の専門家が語る DevTest Labs ~高速・費用無駄ナシ・簡単管理を実現する開発・テスト環境の構築~
PDF
[DO09] 獲れたて OSS x DevOps!自動化三昧を満喫セヨ
PDF
[MR09] デスクトップ アプリをストアから配布するための A to Z
PDF
[DO02] Jenkins PipelineとBlue Oceanによる、フルスクラッチからの継続的デリバリ
PDF
[TL03] あなたはどっち? Visual Studio Code 派と Visual Studio 派による Web フロントエンド開発 徹底紹介
PDF
[MW06] PaaS を活用した、ハイコストパフォーマンスなウェブサイト構築・運用・メンテナンス
PDF
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
PDF
[MW11] OSS on Azure で構築する ウェブアプリケーション
[TL10] Azure IaaS 構築・運用・管理の専門家が語る DevTest Labs ~高速・費用無駄ナシ・簡単管理を実現する開発・テスト環境の構築~
[DO09] 獲れたて OSS x DevOps!自動化三昧を満喫セヨ
[MR09] デスクトップ アプリをストアから配布するための A to Z
[DO02] Jenkins PipelineとBlue Oceanによる、フルスクラッチからの継続的デリバリ
[TL03] あなたはどっち? Visual Studio Code 派と Visual Studio 派による Web フロントエンド開発 徹底紹介
[MW06] PaaS を活用した、ハイコストパフォーマンスなウェブサイト構築・運用・メンテナンス
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
[MW11] OSS on Azure で構築する ウェブアプリケーション

What's hot (20)

PDF
[TL09] 突撃! 隣の Visual Studio Team Services / Team Foundation Server ~利用者からのベスト...
PDF
【BS2】.NET 6 最新アップデート
PDF
[SC03] Active Directory の DR 対策~天災/人災/サイバー攻撃、その時あなたの IT 基盤は利用継続できますか?
PDF
【BS11】毎年訪れる .NET のメジャーバージョンアップに備えるために取り組めること
PDF
【BS6】 マイクロソフトの GitHub との取り組み
PPTX
Ecsとlambdaのバッチ処理
PDF
.NET の過去、現在、そして未来 ~ .NET 最新アップデート
PDF
【BS15】.NET アップグレード アシスタントで簡単にできます! .NET Framework アプリの .NET 6 へのマイグレーション
PDF
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
PDF
”試してみた”で終わらない サーバーレスアプリケーションの実践開発
PDF
.NET 最新ロードマップと今押さえておきたい技術要素
PDF
【BS10】Microsoft と GitHub の開発エコシステムで、開発にドライブをかけよう!
PDF
【BS7】GitHubをフル活用した開発
PDF
デモで楽しむ Visual Studio 2022 & .NET 6 最新アップデート
PDF
【BS14】Blazor WebAssemblyとJavaScriptのインターオペラビリティ
PPTX
新しい Visual Studio & .NET と新時代のアーキテクチャ
PDF
【BS3】Visual Studio 2022 と .NET 6 での Windows アプリ開発技術の紹介
PDF
【BS9】モダン & クラウドネイティブなソフトウエア開発はじめよう ~ Azure DevOps & GitHub を使ったアプリ開発 DevOps 101
PDF
PHPerだってサーバーレスしたい!
PDF
DevOps and Compliance and Security
[TL09] 突撃! 隣の Visual Studio Team Services / Team Foundation Server ~利用者からのベスト...
【BS2】.NET 6 最新アップデート
[SC03] Active Directory の DR 対策~天災/人災/サイバー攻撃、その時あなたの IT 基盤は利用継続できますか?
【BS11】毎年訪れる .NET のメジャーバージョンアップに備えるために取り組めること
【BS6】 マイクロソフトの GitHub との取り組み
Ecsとlambdaのバッチ処理
.NET の過去、現在、そして未来 ~ .NET 最新アップデート
【BS15】.NET アップグレード アシスタントで簡単にできます! .NET Framework アプリの .NET 6 へのマイグレーション
【BS4】時は来たれり。今こそ .NET 6 へ移行する時。
”試してみた”で終わらない サーバーレスアプリケーションの実践開発
.NET 最新ロードマップと今押さえておきたい技術要素
【BS10】Microsoft と GitHub の開発エコシステムで、開発にドライブをかけよう!
【BS7】GitHubをフル活用した開発
デモで楽しむ Visual Studio 2022 & .NET 6 最新アップデート
【BS14】Blazor WebAssemblyとJavaScriptのインターオペラビリティ
新しい Visual Studio & .NET と新時代のアーキテクチャ
【BS3】Visual Studio 2022 と .NET 6 での Windows アプリ開発技術の紹介
【BS9】モダン & クラウドネイティブなソフトウエア開発はじめよう ~ Azure DevOps & GitHub を使ったアプリ開発 DevOps 101
PHPerだってサーバーレスしたい!
DevOps and Compliance and Security
Ad

Similar to [TL02] "Shift Left" で問題の早期発見を実現する、最新 Visual Studio の品質チェック・テスト機能の使い方 (20)

PPSX
開発生産性と品質向上を実現する開発基盤の構築
PDF
Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】
PPTX
運用管理者のための「開発者からみたDevOps」 - Visual Studio 2015 新機能から考える開発者の取り組み
PDF
デスクトップ アプリ開発における Visual Studio の進化
PDF
Visual Studio Onlineで実践するDevOps手法
PDF
チーム×ツール Team Foundation Server & Service 共感しActionできる開発基盤 アルティメイタム【デブサミ 2013 ...
PDF
.NET アプリを改善して実践する継続的インテグレーション
PDF
Empower Every App, Every Developer ~ 統合開発プラットフォーム Visual Studio の進化 ~
PDF
Visual StudioやAzureからAzure DevOpsを使う
PDF
アジャイル実践における開発環境の変化〜要求の捉え方、プロジェクト運営、ツール支援
PDF
【XDev】A-2 アジリティ向上のためのツール活用
PDF
CEDEC2015講演 チーム開発をスムーズにするために
PDF
DX時代に目指すべき品質向上とテスト - @IT ソフトウェア品質向上セミナー 2019夏
PPTX
Team Foundation Server / Visual Studio Online を利用したチーム開発の実践
PDF
発見から納品へ
PDF
2019年12月16日開催「DevOpsの実践 - Terraform EnterpriseとBitbucketで実現するCI/CD」セッション1「Dev...
PPTX
Azure DevOpsとVisual Studio App CenterをモバイルアプリのCI/CDに活用しよう
PDF
継続的デリバリー読書会資料 #1
PDF
Visual Studio を使った Windows Azure アプリケーション開発概要
PPTX
Test Manager + Team Foundation Server /Visual Studio Team Services 手順書(共有パラメー...
開発生産性と品質向上を実現する開発基盤の構築
Team Foundation Server ~ 今を生きるエンジニアのための開発基盤とは 【BPStudy #63】
運用管理者のための「開発者からみたDevOps」 - Visual Studio 2015 新機能から考える開発者の取り組み
デスクトップ アプリ開発における Visual Studio の進化
Visual Studio Onlineで実践するDevOps手法
チーム×ツール Team Foundation Server & Service 共感しActionできる開発基盤 アルティメイタム【デブサミ 2013 ...
.NET アプリを改善して実践する継続的インテグレーション
Empower Every App, Every Developer ~ 統合開発プラットフォーム Visual Studio の進化 ~
Visual StudioやAzureからAzure DevOpsを使う
アジャイル実践における開発環境の変化〜要求の捉え方、プロジェクト運営、ツール支援
【XDev】A-2 アジリティ向上のためのツール活用
CEDEC2015講演 チーム開発をスムーズにするために
DX時代に目指すべき品質向上とテスト - @IT ソフトウェア品質向上セミナー 2019夏
Team Foundation Server / Visual Studio Online を利用したチーム開発の実践
発見から納品へ
2019年12月16日開催「DevOpsの実践 - Terraform EnterpriseとBitbucketで実現するCI/CD」セッション1「Dev...
Azure DevOpsとVisual Studio App CenterをモバイルアプリのCI/CDに活用しよう
継続的デリバリー読書会資料 #1
Visual Studio を使った Windows Azure アプリケーション開発概要
Test Manager + Team Foundation Server /Visual Studio Team Services 手順書(共有パラメー...
Ad

More from de:code 2017 (20)

PDF
[AI08] 深層学習フレームワーク Chainer × Microsoft で広がる応用
PDF
[AI10] ゲームキャラクターのための人工知能と社会への応用 ~ FINAL FANTASY XV を事例として ~
PDF
[DO07] マイクロサービスに必要な技術要素はすべて Spring Cloud にある
PDF
[SC09] パッチ待ちはもう古い!Windows 10 最新セキュリティ技術とゼロデイ攻撃攻防の実例
PDF
[SC10] 自社開発モバイルアプリの DLP 対応化を Microsoft Intune で可能に
PDF
[DI12] あらゆるデータをビジネスに活用! Azure Data Lake を中心としたビックデータ処理基盤のアーキテクチャと実装
PDF
[DI10] IoT を実践する最新のプラクティス ~ Azure IoT Hub 、SDK 、Azure IoT Suite ~
PDF
[AI03] AI × 導入の速さを武器に。 ” 人工知能パーツ ” Cognitive Services の使いどころ
PDF
[SP04] これからのエンジニアに必要な「マネジメント」の考え方
PDF
[DO17] セゾン情報システムズの CTO 小野氏による、伝統的 Sier におけるモダン開発への挑戦
PDF
[DO13] 楽天のクラウドストレージ使いこなし術 Azure と OSS で少しずつ進めるレガシー脱却
PDF
[DO11] JOY, Inc. : あなたの仕事場での喜びは何ですか?
PDF
[DO08] 『変わらない開発現場』を変えていくために ~エンプラ系レガシー SIer のための DevOps 再入門~
PDF
[DO06] Infrastructure as Code でサービスを迅速にローンチし、継続的にインフラを変更しよう
PDF
[DO05] システムの信頼性を上げるための新しい考え方 SRE ( Site Reliability Engineering ) in Azure, o...
PDF
[DO04] アジャイル開発サバイバルガイド 〜キミが必ず直面する課題と乗り越え方を伝えよう!〜
PDF
[SP03] 「怠惰の美徳~言語デザイナーの視点から」
PDF
[SP02] Developing autonomous vehicles with AirSim
PDF
[SP01] CTO が語る! 今注目すべきテクノロジー
PDF
[DO16] Mesosphere : Microservices meet Fast Data on Azure
[AI08] 深層学習フレームワーク Chainer × Microsoft で広がる応用
[AI10] ゲームキャラクターのための人工知能と社会への応用 ~ FINAL FANTASY XV を事例として ~
[DO07] マイクロサービスに必要な技術要素はすべて Spring Cloud にある
[SC09] パッチ待ちはもう古い!Windows 10 最新セキュリティ技術とゼロデイ攻撃攻防の実例
[SC10] 自社開発モバイルアプリの DLP 対応化を Microsoft Intune で可能に
[DI12] あらゆるデータをビジネスに活用! Azure Data Lake を中心としたビックデータ処理基盤のアーキテクチャと実装
[DI10] IoT を実践する最新のプラクティス ~ Azure IoT Hub 、SDK 、Azure IoT Suite ~
[AI03] AI × 導入の速さを武器に。 ” 人工知能パーツ ” Cognitive Services の使いどころ
[SP04] これからのエンジニアに必要な「マネジメント」の考え方
[DO17] セゾン情報システムズの CTO 小野氏による、伝統的 Sier におけるモダン開発への挑戦
[DO13] 楽天のクラウドストレージ使いこなし術 Azure と OSS で少しずつ進めるレガシー脱却
[DO11] JOY, Inc. : あなたの仕事場での喜びは何ですか?
[DO08] 『変わらない開発現場』を変えていくために ~エンプラ系レガシー SIer のための DevOps 再入門~
[DO06] Infrastructure as Code でサービスを迅速にローンチし、継続的にインフラを変更しよう
[DO05] システムの信頼性を上げるための新しい考え方 SRE ( Site Reliability Engineering ) in Azure, o...
[DO04] アジャイル開発サバイバルガイド 〜キミが必ず直面する課題と乗り越え方を伝えよう!〜
[SP03] 「怠惰の美徳~言語デザイナーの視点から」
[SP02] Developing autonomous vehicles with AirSim
[SP01] CTO が語る! 今注目すべきテクノロジー
[DO16] Mesosphere : Microservices meet Fast Data on Azure

[TL02] "Shift Left" で問題の早期発見を実現する、最新 Visual Studio の品質チェック・テスト機能の使い方