Submit Search
TDD Boot Camp Tokyo for c++ 2014-01 デモ用資料
2 likes
2,204 views
Takashi Imagire
TDD Boot Camp Tokyo for c++ 2014-01 でデモした際の課題(FizzBuzz)とそのためのVisual Studioのプロジェクトの作成方法を記した資料です
Technology
Read more
1 of 79
Download now
Downloaded 25 times
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
More Related Content
PPTX
20160422_lombokについて
Hidaka Kazutaka
PDF
LinuxでZFSを使ってみた
nvsofts
PDF
TDDを実践してわかったTDDつまづくあるあると自分なりの乗り越え方まとめ
Kei Sawada
PDF
TDDのこれまで、そしてこれから
Hiroyuki Ohnaka
PDF
くじびきイテレーション
Takashi Imagire
PDF
くじびきイテレーション for アジャイルサムライ横浜道場
Takashi Imagire
PDF
実践的ふりかえり (SAPPORO CEDEC 2014)
Takashi Imagire
PDF
TDD Boot Camp Tokyo for C++ 2014-01 補講
Takashi Imagire
20160422_lombokについて
Hidaka Kazutaka
LinuxでZFSを使ってみた
nvsofts
TDDを実践してわかったTDDつまづくあるあると自分なりの乗り越え方まとめ
Kei Sawada
TDDのこれまで、そしてこれから
Hiroyuki Ohnaka
くじびきイテレーション
Takashi Imagire
くじびきイテレーション for アジャイルサムライ横浜道場
Takashi Imagire
実践的ふりかえり (SAPPORO CEDEC 2014)
Takashi Imagire
TDD Boot Camp Tokyo for C++ 2014-01 補講
Takashi Imagire
Viewers also liked
(20)
PDF
The SGGX Microflake Distribution 実装
Takashi Imagire
PDF
デザインパターンとともに学ぶオブジェクト指向のこころ
jum paku
PDF
ハトでもわかるオブジェクト指向
ukayare
PPTX
ゲームテストへの新しいアプローチ
Takashi Imagire
PDF
GDC 2015 でのハイエンドグラフィックス
Takashi Imagire
PPTX
SGGXマイクロフレーク分布
Takashi Imagire
PDF
無料な継続的出版システム ~ t-ceremony ~
Takashi Imagire
PDF
(人狼知能合宿)ビデオゲームへの人狼知能の応用について
Takashi Imagire
PDF
@s_ssk13さん向けGitHub入門
Takashi Imagire
PPTX
Cibc lecture imagire
Takashi Imagire
PDF
すべての優先度が1の時の優先順位の決め方
Takashi Imagire
PPTX
Test
Kei Sawada
PDF
TddでFizzBuzzしてみる in Swift
Shoichi Matsuda
PDF
Sparknize - Visualize CSV Data With Sparkline In Seconds
Kei Sawada
PDF
レッツ!Google Apps ScriptでTDD(仮)
Kei Sawada
PDF
三周遅れのXP
Yoshiori Shoji
PPTX
部屋とワイシャツとPHPとアジャイル開発と私
Kei Sawada
PPTX
ギガビット無線機 Siklu の製品紹介 2016
Nitta Tetsuya
PDF
SeasarCon 2009 White TDD
Takuto Wada
PDF
my-spirit-of-tdd
Yu Asano
The SGGX Microflake Distribution 実装
Takashi Imagire
デザインパターンとともに学ぶオブジェクト指向のこころ
jum paku
ハトでもわかるオブジェクト指向
ukayare
ゲームテストへの新しいアプローチ
Takashi Imagire
GDC 2015 でのハイエンドグラフィックス
Takashi Imagire
SGGXマイクロフレーク分布
Takashi Imagire
無料な継続的出版システム ~ t-ceremony ~
Takashi Imagire
(人狼知能合宿)ビデオゲームへの人狼知能の応用について
Takashi Imagire
@s_ssk13さん向けGitHub入門
Takashi Imagire
Cibc lecture imagire
Takashi Imagire
すべての優先度が1の時の優先順位の決め方
Takashi Imagire
Test
Kei Sawada
TddでFizzBuzzしてみる in Swift
Shoichi Matsuda
Sparknize - Visualize CSV Data With Sparkline In Seconds
Kei Sawada
レッツ!Google Apps ScriptでTDD(仮)
Kei Sawada
三周遅れのXP
Yoshiori Shoji
部屋とワイシャツとPHPとアジャイル開発と私
Kei Sawada
ギガビット無線機 Siklu の製品紹介 2016
Nitta Tetsuya
SeasarCon 2009 White TDD
Takuto Wada
my-spirit-of-tdd
Yu Asano
Ad
Similar to TDD Boot Camp Tokyo for c++ 2014-01 デモ用資料
(20)
PDF
Tddのすゝめ
将 高野
PDF
「TDDはじめて物語」 #tddbc
Hiroyuki Ohnaka
PDF
Boost.Preprocessorでプログラミングしましょう
digitalghost
PDF
SetucoCMS勉強会 TDD1
Suzuki Masayuki
KEY
テスト初心者Androiderのためのソフトウェアテスト入門
Satoshi Watanabe
PDF
プログラミングスキルの獲得について考えてみた
Satoshi Shimizu
PDF
"Puzzle-Based Automatic Testing: Bringing Humans into the Loop by Solving Puz...
nkazuki
PDF
TDDワークショップ(第2回)
Yoshihiro Furukawa
PDF
AtCoder Beginner Contest 028 解説
AtCoder Inc.
PDF
tdd4cpp demo
Kaoru NAKAMURA
PDF
C# から java へのプログラム移植で体験したtddの効果は?
Shinichi Hirauchi
PDF
時間をかけて解く FizzBuzz
Kazuyuki CHINDA
PDF
TDDの原理 ~ スペック・ファースト
Yasuhiko Yamamoto
PPT
wankuma #28
高見 知英
PPTX
AtCoder Beginner Contest 034 解説
AtCoder Inc.
KEY
テストコードのリファクタリング
Shuji Watanabe
PDF
エクストリームエンジニア4
T-arts
PPTX
Friendlyを使ったwindowsアプリテスト自動化
Tatsuya Ishikawa
PDF
「Automated Oracle Creation Support, or: How I Learned to Stop Worrying about ...
nkazuki
PPTX
C++でテスト駆動開発
Akineko Shimizu
Tddのすゝめ
将 高野
「TDDはじめて物語」 #tddbc
Hiroyuki Ohnaka
Boost.Preprocessorでプログラミングしましょう
digitalghost
SetucoCMS勉強会 TDD1
Suzuki Masayuki
テスト初心者Androiderのためのソフトウェアテスト入門
Satoshi Watanabe
プログラミングスキルの獲得について考えてみた
Satoshi Shimizu
"Puzzle-Based Automatic Testing: Bringing Humans into the Loop by Solving Puz...
nkazuki
TDDワークショップ(第2回)
Yoshihiro Furukawa
AtCoder Beginner Contest 028 解説
AtCoder Inc.
tdd4cpp demo
Kaoru NAKAMURA
C# から java へのプログラム移植で体験したtddの効果は?
Shinichi Hirauchi
時間をかけて解く FizzBuzz
Kazuyuki CHINDA
TDDの原理 ~ スペック・ファースト
Yasuhiko Yamamoto
wankuma #28
高見 知英
AtCoder Beginner Contest 034 解説
AtCoder Inc.
テストコードのリファクタリング
Shuji Watanabe
エクストリームエンジニア4
T-arts
Friendlyを使ったwindowsアプリテスト自動化
Tatsuya Ishikawa
「Automated Oracle Creation Support, or: How I Learned to Stop Worrying about ...
nkazuki
C++でテスト駆動開発
Akineko Shimizu
Ad
More from Takashi Imagire
(17)
PPTX
『ゲームクリエイター育成会議 オフラインミーティングVol.1 「遊びと学びの研究者に聞く、ゲームデザイナーの育て方」』に参加するにあたって自分なりに考えたこと
Takashi Imagire
PDF
2件のHPG18 ショートペーパーの説明
Takashi Imagire
PDF
コミケでのゲームエンジン2017
Takashi Imagire
PDF
同人ゲーム開発におけるゲームエンジンの現状
Takashi Imagire
PPTX
Chroma blur (日本語での説明)
Takashi Imagire
PDF
ソフトウェアだんどり
Takashi Imagire
PPTX
卒業制作でのチームゲーム開発におけるアジャイル手法の段階的適用に関する事例
Takashi Imagire
PPTX
ゲームエンジンの歴史概要
Takashi Imagire
PDF
ゲーム作りから導くスクラムマネージャー
Takashi Imagire
PDF
LeSS Study [2015/Dec./16] 資料(公開版)
Takashi Imagire
PDF
課題探検迷子に捧ぐゲーム流価値の創造術 (公開版)
Takashi Imagire
PDF
スクラム道場.10 朝会 (Game Community Summit 2013)
Takashi Imagire
PDF
第11回 scrum boot camp in NII ワークショップ
Takashi Imagire
PDF
つくる○アジャイル
Takashi Imagire
PPTX
好きなことをしようAction! pub
Takashi Imagire
PDF
CIBC workshop by imagire
Takashi Imagire
PDF
CIBC 事前インストール
Takashi Imagire
『ゲームクリエイター育成会議 オフラインミーティングVol.1 「遊びと学びの研究者に聞く、ゲームデザイナーの育て方」』に参加するにあたって自分なりに考えたこと
Takashi Imagire
2件のHPG18 ショートペーパーの説明
Takashi Imagire
コミケでのゲームエンジン2017
Takashi Imagire
同人ゲーム開発におけるゲームエンジンの現状
Takashi Imagire
Chroma blur (日本語での説明)
Takashi Imagire
ソフトウェアだんどり
Takashi Imagire
卒業制作でのチームゲーム開発におけるアジャイル手法の段階的適用に関する事例
Takashi Imagire
ゲームエンジンの歴史概要
Takashi Imagire
ゲーム作りから導くスクラムマネージャー
Takashi Imagire
LeSS Study [2015/Dec./16] 資料(公開版)
Takashi Imagire
課題探検迷子に捧ぐゲーム流価値の創造術 (公開版)
Takashi Imagire
スクラム道場.10 朝会 (Game Community Summit 2013)
Takashi Imagire
第11回 scrum boot camp in NII ワークショップ
Takashi Imagire
つくる○アジャイル
Takashi Imagire
好きなことをしようAction! pub
Takashi Imagire
CIBC workshop by imagire
Takashi Imagire
CIBC 事前インストール
Takashi Imagire
TDD Boot Camp Tokyo for c++ 2014-01 デモ用資料
1.
TDD Boot Camp
Tokyo for C++ 2014-01 デモ @imagire
2.
お品書き • お題説明 • 環境説明 •
作業手順
3.
お題説明 • FizzBuzz – 1から100までの数字を数える • • • • 3でも5でも割り切れる数字の際は
“Fizz Buzz” 3で割り切れる数字の際は “Fizz” 5で割り切れる数字の際は “Buzz” それ以外は数字をそのまま発言 – 1, 2, Fizz, 4, Buzz, Fizz, 7, 8, Fizz, Buzz, 11, Fizz, 13, 14, Fizz Buzz, 16, 17, …
4.
Microsoft 単体テストフレームワーク アプリケーション .exe
5.
Microsoft 単体テストフレームワーク アプリケーション 呼び出し .exe コアロジック 応答 .lib 呼び出し 単体テスト プロジェクト Visual Studio
から 呼べる! .dll 応答 テスト対象のクラスは ライブラリとして呼び 出せる形にしてテスト
6.
進め方 • • • • • • アプリケーションを作成 テストプロジェクトを追加 ライブラリのプロジェクトを追加 テストプロジェクトとライブラリを紐づけ アプリケーションとライブラリを紐づけ TDDのループを回す – テストを書く – テストが成功するように実装 –
リファクタリング
7.
方針の検討 • 最終出力だけを比較するのは不適当そう – 表示結果
= ” 1, 2, Fizz, 4, …, 98, Fizz, Buzz” ? • まちがえそうもないところはテスト対象と しない – 単純な固定回数の loop のカウントは優先度低 for (int i = 1; i <= 100; i++){ string result = FizzBuzz::Calc(i); cout << result; こんな関数のテストが適当そう }
8.
進め方 • • • • • • アプリケーションを作成 テストプロジェクトを追加 ライブラリのプロジェクトを追加 テストプロジェクトとライブラリを紐づけ アプリケーションとライブラリを紐づけ TDDのループを回す – テストを書く – テストが成功するように実装 –
リファクタリング
9.
Win32 コンソール アプリケーションの作成
12.
進め方 • • • • • • アプリケーションを作成 テストプロジェクトを追加 ライブラリのプロジェクトを追加 テストプロジェクトとライブラリを紐づけ アプリケーションとライブラリを紐づけ TDDのループを回す – テストを書く – テストが成功するように実装 –
リファクタリング
14.
ネイティブ単体テスト プロジェクトの追加 テストっぽいプロジェクト名を付けよう
15.
テスト エクスプローラーを開けてみよう
17.
テストの実行
18.
テストコードを編集してみる 実行されるテストが置かれるクラス 実行されるテスト関数
19.
失敗するテストコードの作成
20.
失敗してみる
21.
進め方 • • • • • • アプリケーションを作成 テストプロジェクトを追加 ライブラリのプロジェクトを追加 テストプロジェクトとライブラリを紐づけ アプリケーションとライブラリを紐づけ TDDのループを回す – テストを書く – テストが成功するように実装 –
リファクタリング
23.
ライブラリっぽいプロジェクト名を付けよう
25.
進め方 • • • • • • アプリケーションを作成 テストプロジェクトを追加 ライブラリのプロジェクトを追加 テストプロジェクトとライブラリを紐づけ アプリケーションとライブラリを紐づけ TDDのループを回す – テストを書く – テストが成功するように実装 –
リファクタリング
26.
テストコードを開いた状態でプロパティの設定と選択
27.
共通プロパティで参照の追加
28.
テストプロジェクトの参照にライブラリのプロジェクトを追加 (ライブラリが更新されるとテストのプロジェクトもビルドしなおす)
29.
構成プロパティからインクルードディレクトリの追加 この後で作成するプロジェクトのインクルードフォルダ
30.
ライブラリディレクトリも追加
31.
インクルードディレクトリの作成
32.
その中にヘッダの作成 テストされるクラスの ヘッダーファイルを置く
33.
最低限の実装を行う
34.
テストが通るのを確認
35.
リファクタリング (実装コードをcppファイルに書く) ライブラリプロジェクト を右クリックしてファイ ルの追加
37.
ライブラリプロジェクトにもパスを通す
38.
テストプロジェクトと同じパスを追加
39.
コードを書きかえる
40.
テスト結果に変更がないことを確認
41.
進め方 • • • • • • アプリケーションを作成 テストプロジェクトを追加 ライブラリのプロジェクトを追加 テストプロジェクトとライブラリを紐づけ アプリケーションとライブラリを紐づけ TDDのループを回す – テストを書く – テストが成功するように実装 –
リファクタリング
42.
アプリケーションプロジェクトにも ライブラリの情報を追加
43.
ライブラリの参照の追加
44.
インクルードディレクトリの追加
45.
ライブラリの追加
46.
リンカーの入力にライブラリを追加
47.
アプリケーションコードの作成
48.
アプリケーションの実行
49.
進め方 • • • • • • アプリケーションを作成 テストプロジェクトを追加 ライブラリのプロジェクトを追加 テストプロジェクトとライブラリを紐づけ アプリケーションとライブラリを紐づけ TDDのループを回す – テストを書く – テストが成功するように実装 –
リファクタリング
50.
進め方 • • • • • • アプリケーションを作成 テストプロジェクトを追加 ライブラリのプロジェクトを追加 テストプロジェクトとライブラリを紐づけ アプリケーションとライブラリを紐づけ TDDのループを回す – テストを書く – テストが成功するように実装 –
リファクタリング
51.
テストコードの追加
52.
テストの失敗を確認
53.
進め方 • • • • • • アプリケーションを作成 テストプロジェクトを追加 ライブラリのプロジェクトを追加 テストプロジェクトとライブラリを紐づけ アプリケーションとライブラリを紐づけ TDDのループを回す – テストを書く – テストが成功するように実装 –
リファクタリング
54.
テストが通る実装を行う やりすぎかも? 3の時だけ特別な値を返すような実装を 最初はした方が良いかもね
55.
テストが通ることを確認
56.
アプリケーションも実行
57.
進め方 • • • • • • アプリケーションを作成 テストプロジェクトを追加 ライブラリのプロジェクトを追加 テストプロジェクトとライブラリを紐づけ アプリケーションとライブラリを紐づけ TDDのループを回す – テストを書く – テストが成功するように実装 –
リファクタリング
58.
進め方 • • • • • • アプリケーションを作成 テストプロジェクトを追加 ライブラリのプロジェクトを追加 テストプロジェクトとライブラリを紐づけ アプリケーションとライブラリを紐づけ TDDのループを回す – テストを書く – テストが成功するように実装 –
リファクタリング
59.
テストコードの追加
60.
テストコードの失敗の確認
61.
コードの修正
62.
テストが通ることの確認
63.
アプリケーションも確認
64.
進め方 • • • • • • アプリケーションを作成 テストプロジェクトを追加 ライブラリのプロジェクトを追加 テストプロジェクトとライブラリを紐づけ アプリケーションとライブラリを紐づけ TDDのループを回す – テストを書く – テストが成功するように実装 –
リファクタリング
65.
テストコードの追加
66.
テストコードの失敗の確認
67.
コードの修正
68.
テストが通ることの確認
69.
アプリケーションも実行
70.
進め方 • • • • • • アプリケーションを作成 テストプロジェクトを追加 ライブラリのプロジェクトを追加 テストプロジェクトとライブラリを紐づけ アプリケーションとライブラリを紐づけ TDDのループを回す – テストを書く – テストが成功するように実装 –
リファクタリング
71.
コードをきれいにする
72.
テストコードもきれいにする
73.
進め方 • • • • • • アプリケーションを作成 テストプロジェクトを追加 ライブラリのプロジェクトを追加 テストプロジェクトとライブラリを紐づけ アプリケーションとライブラリを紐づけ TDDのループを回す – テストを書く – テストが成功するように実装 –
リファクタリング
74.
テストコードの追加
75.
テストコードの失敗の確認
76.
コードの修正
77.
アプリケーションの確認
78.
気になるところはテスト
79.
気になるところまでokなら完了
Download