わんくま同盟 名古屋勉強会 #34 1
VS Community エディションは
テストファースト最強
TDD 道場 #22
BluewaterSoft 2015/02/14 biac
わんくま同盟 名古屋勉強会 #34 2
スピーカー紹介: biac as 山本 康彦
• 宇宙世紀以前の生まれ
スプートニク1号より3ヶ月ほど前
• 最初は HONDA
クルマの設計/研究を10年くら
いやってた
• 今は BluewaterSoft
を名乗ってアプリ開発とか技術
解説記事とか
• 「NUnitの全貌」⇒
CodeZine 2012/4
わんくま同盟 名古屋勉強会 #34 3
【CM】 C#で始めるテスト駆動開発入門
• CodeZine 連載再開♪
• #08「ユニバーサル
Windowsアプリのユニッ
トテスト(前編)」
• #09「ユニバーサル
Windowsアプリのユニッ
トテスト(後編)」
• #10「状態を持つクラスを
テストファーストする」
わんくま同盟 名古屋勉強会 #34 4
TDD = テスト ファースト + リファクタリング
•テスト ファースト: RED と GREEN の繰り返し
•リファクタリング: GREEN を維持したまま実装を
改善
失敗するはずのユニット テストを1つ書き、
失敗することを確認 (=RED)
ユニット テストに通るだけの実装を追加し、
成功することを確認 (=GREEN)
わんくま同盟 名古屋勉強会 #34 5
TDD 3原則 by Robert C Martin
•ArticleS.UncleBob.TheThreeRulesOfTdd (2005)
より。
※ 実質は「テスト ファースト 3原則」
1. 失敗するユニットテストを成功させるためにしか、
プロダクトコードを書いてはならない。
2. 失敗させるためにしか、ユニットテストを書いて
はならない。コンパイルエラーは失敗に数える。
3. ユニットテストを1つだけ成功させる以上に、プロ
ダクトコードを書いてはならない。
わんくま同盟 名古屋勉強会 #34 6
TDD MANTRA
• 『Test-Driven
Development: By
Example』からの引用
• テスト駆動開発において
我々は、
・自動テストが失敗してい
る場合に限り、 新しい
コードを書く
・重複を取り除く
• OneDrive で公開
http://1drv.ms/1uz3Z2P
わんくま同盟 名古屋勉強会 #34 7
今年のテーマ
•TDDの半分はテスト ファースト。
残り半分は…
リファクタリング
(refactoring)
わんくま同盟 名古屋勉強会 #34 8
リファクタリング by Martin Fowler
•「リファクタリングとは、コードの外的な振る舞
いを変更せずに、内部の構造を作りかえること」
http://refactoring.com/
Refactoring is … altering its internal structure
without changing its external behavior.
わんくま同盟 名古屋勉強会 #34 9
リファクタリングを学ぶには?
•「リファクタリング ―既
存のコードを安全に改善
する―」 by Martin Fowler
http://amzn.to/1C6rzHL
わんくま同盟 名古屋勉強会 #34 10
Visual Studio Community 2013 で
テストファースト
でもその前に、今日やるのは…
わんくま同盟 名古屋勉強会 #34 11
Visual Studio Community 2013
•無償の Visual Studio
•ライセンス制限アリ (個人利用なら無条件でOK!)
詳細は⇒http://www.microsoft.com/ja-jp/dev/products/community.aspx
•Professionalと同等 (VS2015ではExpress廃止)
•ダウンロード http://aka.ms/vscomm2013dl
わんくま同盟 名古屋勉強会 #34 12
Express と比べて嬉しいところ (その1)
•サードパーティ製のユニットテスト フレームワー
クも IDE に統合できる♪ (今日はやらない)
わんくま同盟 名古屋勉強会 #34 13
Express と比べて嬉しいところ (その2)
•Alt + F12 が使える!!
"Peek Definition" (日本語訳「定義をここに表示」)
※ Peek (のぞき見) するだけじゃなく、編集可能!
ここで Alt + F12 を押すと、
すぐ下に Say メソッドのコードが!
そして、編集できる!!
わんくま同盟 名古屋勉強会 #34 14
Alt + F12 でテストファースト捗る♪
•テストコードと製品コードが一度に編集できる!
わんくま同盟 名古屋勉強会 #34 15
Alt + F12 でテストファースト
やってみましょ~
演習タイム
いつもの FizzBuzz を VS Community 2013 で
Visual Studio Community エディションは
テストファースト最強♪
わんくま同盟 名古屋勉強会 #34 16
ご清聴ありがとうございました

More Related Content

PPTX
Windows Phone 7の概要と特徴
PDF
わんくま名古屋#33(20141115) TDD道場#21
PDF
TDDの原理 ~ スペック・ファースト
PDF
PHPUnit でテスト駆動開発を始めよう
PDF
PHPによるユニットテスト入門
PDF
わんくま名古屋#31(20140524) ユニバーサルWindowsアプリ開発の勧め
PDF
わんくま名古屋#33(20141115) モノ作り半生
PDF
わんくま名古屋#25(20121201) TDD道場#13 ~ Metroアプリをテストファーストするときのポイント
Windows Phone 7の概要と特徴
わんくま名古屋#33(20141115) TDD道場#21
TDDの原理 ~ スペック・ファースト
PHPUnit でテスト駆動開発を始めよう
PHPによるユニットテスト入門
わんくま名古屋#31(20140524) ユニバーサルWindowsアプリ開発の勧め
わんくま名古屋#33(20141115) モノ作り半生
わんくま名古屋#25(20121201) TDD道場#13 ~ Metroアプリをテストファーストするときのポイント

Similar to わんくま名古屋#34(20150214) TDD道場#22 (20)

PPTX
わんくま名古屋#27(20130518) データバインディングを極める
PPTX
わんくま名古屋 #29 (2013/11/23) TDD道場 #17
PPTX
わんくま名古屋 #32 (20140823) TDD道場 #20
PPTX
わんくま名古屋 #37 (20151114) TDD道場 #25
PDF
いままでのJaSSTnanoLT動画を振り返る&おススメしたいの! / Looking back and recommend on the JaSSTna...
PDF
2015/10/14 JJUGナイトセミナー「テスト駆動開発ここが聞きたい」
PPTX
UniProject Workshop Make a Discord Bot with JavaScript
PPTX
わんくま名古屋#28(20130824) c#で、ライフゲームを高速化してみるよ
PDF
わんくま名古屋#25(20121201) LT:「開発体験テンプレートを使ったストアアプリの作成」
PDF
QtでC++開発環境構築
PDF
JJUG CCC 2014 fall 「私がTDD出来ないのはどう考えてもお前らが悪い!」~エンタープライズJava開発でのTDD適用の勘所~
PDF
Project 15 - Algyan May 2022.pdf
PDF
Swiftビギナーズ勉強会 第9回 BluePrint/BluePrintViewerで作るアプリモックアップ 
PDF
ニコニコ超開発
PPTX
UiPath+CLCL
PDF
Emergent Design - ObLove 2009 summer
PDF
ソフトウェア開発を勉強し始めて3年間でやったこと~After~ #devsumi
PDF
初めてのDocker
PDF
kintone3分クッキング 〜トヨエツになってみよう〜.pdf
PDF
TDDを一年やってみました ~シロート集団がTDDをやってはまったこと~
わんくま名古屋#27(20130518) データバインディングを極める
わんくま名古屋 #29 (2013/11/23) TDD道場 #17
わんくま名古屋 #32 (20140823) TDD道場 #20
わんくま名古屋 #37 (20151114) TDD道場 #25
いままでのJaSSTnanoLT動画を振り返る&おススメしたいの! / Looking back and recommend on the JaSSTna...
2015/10/14 JJUGナイトセミナー「テスト駆動開発ここが聞きたい」
UniProject Workshop Make a Discord Bot with JavaScript
わんくま名古屋#28(20130824) c#で、ライフゲームを高速化してみるよ
わんくま名古屋#25(20121201) LT:「開発体験テンプレートを使ったストアアプリの作成」
QtでC++開発環境構築
JJUG CCC 2014 fall 「私がTDD出来ないのはどう考えてもお前らが悪い!」~エンタープライズJava開発でのTDD適用の勘所~
Project 15 - Algyan May 2022.pdf
Swiftビギナーズ勉強会 第9回 BluePrint/BluePrintViewerで作るアプリモックアップ 
ニコニコ超開発
UiPath+CLCL
Emergent Design - ObLove 2009 summer
ソフトウェア開発を勉強し始めて3年間でやったこと~After~ #devsumi
初めてのDocker
kintone3分クッキング 〜トヨエツになってみよう〜.pdf
TDDを一年やってみました ~シロート集団がTDDをやってはまったこと~
Ad

More from Yasuhiko Yamamoto (19)

PDF
わんくま名古屋 #40 (20161217) Xamarinで自動化テストしよう
PDF
わんくま名古屋 #38 (20160521) Xamarin入門
PDF
UWP アプリを JavaScript で作る 3つの方法
PDF
無償のVisual studioで作るクライアント アプリ
PPTX
わんくま名古屋 #37 (20151114) Windows 10 UWP アプリ開発入門(実践編)
PDF
わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門
PDF
第8回 業開中心会議 「Windows 10 ユニバーサルアプリの概要」
PDF
Visual Studio 2015 の新機能: Pex はユニットテストの福音となるか!?
PDF
開発ツールを買わずに作る♪ ユニバーサルWindowsアプリ!
PDF
わんくま名古屋#31(20140524) TDD道場 #19
PDF
Windows ストア アプリでスレッド間排他処理
PPTX
Windows 8.1 Update 1 の噂をまとめてみた
PPT
タダで始めるテストファースト入門 ~ C# Express + NUnit
PPTX
Windows 8.1 ストア アプリ first look for 8.0 developers! [ss]
PPTX
Windowsストアアプリでウイルスを作るには!? cod2013名古屋
PDF
プログラマとデザイナで時計を作るVisual studioハッカソン ~ TDDの考え方を開発全体に応用してみよう!
PDF
わんくま名古屋#25(20121201) 「Win8ストア・アプリ WP8アプリ、両面撃破作戦」
PPTX
テンプレートを使ったストアアプリの作成
PDF
Metroアプリの作り方 (COD2012)
わんくま名古屋 #40 (20161217) Xamarinで自動化テストしよう
わんくま名古屋 #38 (20160521) Xamarin入門
UWP アプリを JavaScript で作る 3つの方法
無償のVisual studioで作るクライアント アプリ
わんくま名古屋 #37 (20151114) Windows 10 UWP アプリ開発入門(実践編)
わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門
第8回 業開中心会議 「Windows 10 ユニバーサルアプリの概要」
Visual Studio 2015 の新機能: Pex はユニットテストの福音となるか!?
開発ツールを買わずに作る♪ ユニバーサルWindowsアプリ!
わんくま名古屋#31(20140524) TDD道場 #19
Windows ストア アプリでスレッド間排他処理
Windows 8.1 Update 1 の噂をまとめてみた
タダで始めるテストファースト入門 ~ C# Express + NUnit
Windows 8.1 ストア アプリ first look for 8.0 developers! [ss]
Windowsストアアプリでウイルスを作るには!? cod2013名古屋
プログラマとデザイナで時計を作るVisual studioハッカソン ~ TDDの考え方を開発全体に応用してみよう!
わんくま名古屋#25(20121201) 「Win8ストア・アプリ WP8アプリ、両面撃破作戦」
テンプレートを使ったストアアプリの作成
Metroアプリの作り方 (COD2012)
Ad

Recently uploaded (12)

PDF
Working as an OSS Developer at Ruby Association Activity Report 2025
PDF
Geminiの出力崩壊 本レポートは、Googleの大規模言語モデル「Gemini 2.5」が、特定の画像と短文入力に対して、誤った地名を推定し、最終的に...
PDF
ココロ分解帳|感情をやさしく分解し自分と他者を理解するためのモバイルノートアプリ
PDF
20250823_IoTLT_vol126_kitazaki_v1___.pdf
PPTX
Vibe Codingを触って感じた現実について.pptx .
PPTX
生成AIとモデルベース開発:実はとても相性が良いことを説明します。まあそうだろうなと思われる方はご覧ください。
PDF
翔泳社 「C++ ゼロからはじめるプログラミング」対応 C++学習教材(三谷純)
PDF
R-SCoRe: Revisiting Scene Coordinate Regression for Robust Large-Scale Visual...
PDF
20250826_Devinで切り拓く沖縄ITの未来_AI駆動開発勉強会 沖縄支部 第2回
PPTX
Cosense - 整えずして完全勝利!Cosenseが他のwikiツールと違う理由
PDF
Yamaha DT200WR Real Enduro ENGINE CYLINDER TRANSMISSION
Working as an OSS Developer at Ruby Association Activity Report 2025
Geminiの出力崩壊 本レポートは、Googleの大規模言語モデル「Gemini 2.5」が、特定の画像と短文入力に対して、誤った地名を推定し、最終的に...
ココロ分解帳|感情をやさしく分解し自分と他者を理解するためのモバイルノートアプリ
20250823_IoTLT_vol126_kitazaki_v1___.pdf
Vibe Codingを触って感じた現実について.pptx .
生成AIとモデルベース開発:実はとても相性が良いことを説明します。まあそうだろうなと思われる方はご覧ください。
翔泳社 「C++ ゼロからはじめるプログラミング」対応 C++学習教材(三谷純)
R-SCoRe: Revisiting Scene Coordinate Regression for Robust Large-Scale Visual...
20250826_Devinで切り拓く沖縄ITの未来_AI駆動開発勉強会 沖縄支部 第2回
Cosense - 整えずして完全勝利!Cosenseが他のwikiツールと違う理由
Yamaha DT200WR Real Enduro ENGINE CYLINDER TRANSMISSION

わんくま名古屋#34(20150214) TDD道場#22

  • 1. わんくま同盟 名古屋勉強会 #34 1 VS Community エディションは テストファースト最強 TDD 道場 #22 BluewaterSoft 2015/02/14 biac
  • 2. わんくま同盟 名古屋勉強会 #34 2 スピーカー紹介: biac as 山本 康彦 • 宇宙世紀以前の生まれ スプートニク1号より3ヶ月ほど前 • 最初は HONDA クルマの設計/研究を10年くら いやってた • 今は BluewaterSoft を名乗ってアプリ開発とか技術 解説記事とか • 「NUnitの全貌」⇒ CodeZine 2012/4
  • 3. わんくま同盟 名古屋勉強会 #34 3 【CM】 C#で始めるテスト駆動開発入門 • CodeZine 連載再開♪ • #08「ユニバーサル Windowsアプリのユニッ トテスト(前編)」 • #09「ユニバーサル Windowsアプリのユニッ トテスト(後編)」 • #10「状態を持つクラスを テストファーストする」
  • 4. わんくま同盟 名古屋勉強会 #34 4 TDD = テスト ファースト + リファクタリング •テスト ファースト: RED と GREEN の繰り返し •リファクタリング: GREEN を維持したまま実装を 改善 失敗するはずのユニット テストを1つ書き、 失敗することを確認 (=RED) ユニット テストに通るだけの実装を追加し、 成功することを確認 (=GREEN)
  • 5. わんくま同盟 名古屋勉強会 #34 5 TDD 3原則 by Robert C Martin •ArticleS.UncleBob.TheThreeRulesOfTdd (2005) より。 ※ 実質は「テスト ファースト 3原則」 1. 失敗するユニットテストを成功させるためにしか、 プロダクトコードを書いてはならない。 2. 失敗させるためにしか、ユニットテストを書いて はならない。コンパイルエラーは失敗に数える。 3. ユニットテストを1つだけ成功させる以上に、プロ ダクトコードを書いてはならない。
  • 6. わんくま同盟 名古屋勉強会 #34 6 TDD MANTRA • 『Test-Driven Development: By Example』からの引用 • テスト駆動開発において 我々は、 ・自動テストが失敗してい る場合に限り、 新しい コードを書く ・重複を取り除く • OneDrive で公開 http://1drv.ms/1uz3Z2P
  • 7. わんくま同盟 名古屋勉強会 #34 7 今年のテーマ •TDDの半分はテスト ファースト。 残り半分は… リファクタリング (refactoring)
  • 8. わんくま同盟 名古屋勉強会 #34 8 リファクタリング by Martin Fowler •「リファクタリングとは、コードの外的な振る舞 いを変更せずに、内部の構造を作りかえること」 http://refactoring.com/ Refactoring is … altering its internal structure without changing its external behavior.
  • 9. わんくま同盟 名古屋勉強会 #34 9 リファクタリングを学ぶには? •「リファクタリング ―既 存のコードを安全に改善 する―」 by Martin Fowler http://amzn.to/1C6rzHL
  • 10. わんくま同盟 名古屋勉強会 #34 10 Visual Studio Community 2013 で テストファースト でもその前に、今日やるのは…
  • 11. わんくま同盟 名古屋勉強会 #34 11 Visual Studio Community 2013 •無償の Visual Studio •ライセンス制限アリ (個人利用なら無条件でOK!) 詳細は⇒http://www.microsoft.com/ja-jp/dev/products/community.aspx •Professionalと同等 (VS2015ではExpress廃止) •ダウンロード http://aka.ms/vscomm2013dl
  • 12. わんくま同盟 名古屋勉強会 #34 12 Express と比べて嬉しいところ (その1) •サードパーティ製のユニットテスト フレームワー クも IDE に統合できる♪ (今日はやらない)
  • 13. わんくま同盟 名古屋勉強会 #34 13 Express と比べて嬉しいところ (その2) •Alt + F12 が使える!! "Peek Definition" (日本語訳「定義をここに表示」) ※ Peek (のぞき見) するだけじゃなく、編集可能! ここで Alt + F12 を押すと、 すぐ下に Say メソッドのコードが! そして、編集できる!!
  • 14. わんくま同盟 名古屋勉強会 #34 14 Alt + F12 でテストファースト捗る♪ •テストコードと製品コードが一度に編集できる!
  • 15. わんくま同盟 名古屋勉強会 #34 15 Alt + F12 でテストファースト やってみましょ~ 演習タイム いつもの FizzBuzz を VS Community 2013 で Visual Studio Community エディションは テストファースト最強♪
  • 16. わんくま同盟 名古屋勉強会 #34 16 ご清聴ありがとうございました