SlideShare una empresa de Scribd logo
1 de 51
Descargar para leer sin conexión
いつでも聞ける
TDD入門
@KYON-MM
- TDDBC IN NAGOYA #2 - 2014/05/18
0
TABLE OF CONTENTS
TDDBCへようこそ
TDDの基本
プロフェッショナルな話
TDDによる良い開発
BDDという存在
エンピリカルな話
TDDと共に学ぶ
最後に
1 TDDBCへようこそ
本日はTDDBootCampへ参加してくださってありがとう!
まずはTDDBootCampがどんなものかを説明します!
1.1 TDDBCで得られるもの
TDDBootCamp(TDDBC)はTDD(テスト駆動開発)の考え方を聞
いて、実際にやってみるイベントです。 TDDBCを終える
と、なんらかの形でTDDを自ら学習、試行錯誤、実践ができ
るだけの基礎体力がつきます。
1.2 TDDBCの方向
TDDって言葉を知らなくてもTDDを試行錯誤できること
TDDを学ぶ知の高速道路を提供すること
注意:TDDBCで提供できることは基本的なことや一例でしか
ありません。
1.3 TDDBCのプログラム
熟練者による概念や基本の講演
参加者が実際にTDDでプログラミング
TAによるTDDへのサポート
参加者からの質問にTAが答える
1.4 TDDBCをまとめると
TDDBCはTDDを身に付けるための基礎体力をつけられます。
日本各地で有志によって開催されているとてもなごやかなイ
ベントです。
今日はぜひ楽しんでいってください。
2 TDDの基本
2.1 TDDの言葉
プロダクトコード:これからつくるソフトウェアのコード
のこと。
テストコード:ソフトウェアを実際に動作させて検証する
コードのこと。
RED : テストコードが失敗している状態のこと。
GREEN: テストコードが成功している状態のこと。
REFACTOR(リファクタリングする) : コードを綺麗にするこ
と。
2.2 TDDの原則や手順
基本は下の手順を繰り返す。
要求されていることを分解して再構築する。
分解した要求をテストコードで表現する。
テストコードを実行してREDになることを確認する。
テストが成功するようにプロダクトを実装する。
テストコードを実行してGREENになることを確認する。
テストコードが成功しているなら、リファクタリングす
る。
2.2.1 TDDの状態遷移
2.2.2 より大きなTDDの状態遷移
2.2.3 KENT BECK SAYS…
自動テストが失敗した場合だけ、新しいコードを書く。
重複を取り除く。
2つの規則はプログラミングのタスクにおける順番を意味
する。
レッド:動作しないテストを少しだけ作成する。おそらく
最初はコンパイルできない
グリーン:テストをすぐに動作させる。そのためには、ど
のようなコードでもよい
リファクタリング:テストを動作させるためだけに作成さ
れた重複を全て取り除く
2.2.4 UNCLE BOB SAYS…
3つの原則を守りながら実装を進める。
失敗するテストができるまでプロダクトを書いてはいけな
い
失敗するテストがある場合にはそれ以上テストを追加して
はいけない
テストを成功させるプロダクトがある場合にはそれ以上プ
ロダクトを追加してはいけない
2.3 TDDは何であって、何ではないか
2.3.1 KENT BECK SAYS…
「TDDとは分析技法および設計技法であり、実際には開発全
てのアクティビティを構造化するための技法である。」
2.3.2 UNCLE BOB SAYS…
「TDDは魔法や宗教ではない。3原則に従ってもひどいコー
ドを書くことはできる。TDDをすることで害が大きい場合に
おいてでさえもTDDをするのはプロではない。」
2.3.3 TDDの状態遷移
2.3.4 TDDとは
TDDとはソフトウェア開発の優れたフレームワークであ
る。
TDDとはこれから作るべきものをまずはテストコードとし
て書いてみる。
TDDを宗教にしてしまうのはいつもユーザーである。
2.4 TDDの大切なこと
自分がすぐに出来そうなものまで要求を分解、再構築して
サイクルを回す
分解前の要求を満たすことも忘れずに
プロダクトコードを書く前に設計をテストコードとして書
いて、プロダクトコードを書く。
テストが成功したら、失敗するテストコードを書いて、新
しいプロダクトコードを書く。
テストが成功しているときだけリファクタリングする。
短かいサイクルで回せないときは立ち止まる。
作るものの大きさが違えば使う立場も変わってくる。その
立場でテストを表現する。
3 プロフェッショナルな話
3.1 TDDを実践するということ
TDDを実践することは、ほとんどの場合において「プログ
ラマーとして当然のことである」と考えてよいです。
それはあなたが毎日顔を洗うことと変わりません。
ただ、どのような洗顔がいいのかが個々人で異なるよう
に、あなたのスキルセット、そしてプロジェクトによって
最適なものは違うのです。
最適なものを探す上で基本に忠実であること、そして幅広
い知識はとても大切です。
3.2 TDDがもたらすこと
「曖昧で実行できない自然言語だけの意図を煩雑にも確認
していく日々」から「明確で実行できる意図を何度も簡単
に確認していく日々」へ。
「主観的な進捗確認」から「客観的な進捗確認」へ。
「動作に自信のないコード」から「つまらない確認不足の
ないコード」へ。
4 TDDによる良い開発
ここではkyon_mmの経験の中からおそらくは多くのTDD熟練
者から共感してもらえそうな内容を紹介します。
4.1 TDDの状態遷移
4.2 分析、設計
ソフトウェア開発では自分がこれからつくるべきもの達の
関連や詳細を分析し、再構築し、設計します。
TDDではその分析や設計のアウトプットとしてテストコー
ドを使い、実際に実装をしていき、設計と適合しているか
を確かめ、ソフトウェアをイテレーティブに成長させてい
きます。
机上の分析や設計もとても大切ですが、TDDをすすめいく
と、その設計内容が現在のプロダクトとどのように乖離し
ているかがすぐにわかるようになります。
実行可能で生きたドキュメントをつくりながら開発をして
いく手法。それがTDDです。
4.3 確実な成果に結びつける
TDDでは進捗80%というのはありません。例えば次の2点が
ポイントになります。
設計をテストに表現できたか?
どのテストが通っているか?
4.4 機敏に感じとる
4.4.1 なかなかGREENにならないとき
あなたの作業単位は大きすぎる可能性があります。REDに
しているテストを変更前に戻して、もとの要求を再び分
解、再構築してテストにしましょう。
あなたのコードが汚ない可能性があります。REDにしてい
るテストを変更前に戻して、プロダクトコード、テストコ
ードをリファクタリングしましょう。
4.4.2 機敏の尺度
RED -> GREEN-> REFACTORのサイクルでどれくらいの時間
がかかったときに「立ち止まるべきか」の目安。
初級者 : 10分
中級者 : 5分
上級者 : 1分
5 BDDという存在
BDD = Behavior Driven Development
5.1 BDDとは
テストコードに書くのは「対象の振舞いである」とする手
法です。
手順や原則やガイドは基本的に今迄説明したものと変わら
ないです。
5.2 TDDの状態遷移
5.3 TDDとBDDに違いはない
根本的にTDDとBDDは違わず、それまでのTDDの語彙では
伝わりにくかった部分を言い換えたり、テンプレートを与
えることで幾分かハードルを下げるという役割を持ってい
ます。
「TDDツール」や「BDDツール」という表現があります
が、あくまで「BDDをしやすいテスティングフレームワー
ク」というくらいです。
5.4 振舞いとはなにか
振舞いとは「【対象(つくろうとしているもの)】における
『何らかのイベント』にひも付く外部から見える変化」のこ
とです。 イベントは対象によって変わります。
「【関数】に対する『入力』出力」
「【オブジェクト】の『メッセージング』」
「【画面】の『操作/表示』」
「『時間の経過』による変化」
5.5 なぜ振舞いを書くのか
Dan Northは次のような言葉を残しています。
表現力のあるテスト名は失敗したときに役に立つ。
バグを埋め込んでしまった。悪い子だ。解決法:バグを直
す
意図された振る舞いは変わらず関連性があったが、どこか
別の場所に移されていた。解決法:テストを移動し、場合
によっては変更する
振る舞いがもはや正しくない。システムの前提が変わって
しまっている。解決法:テストを削除する
– BDDの導入 -Dan North
5.6 振舞いを書くとは
「どんな対象であるか」「対象が何をするのか」についてよ
り言及できているものが「表現力がある」といえます。
「対象の振る舞いを記述する」ことについてソフトウェアか
ら離れて例を出します。 例えば、あなたが友人や親や配偶者
や子供が普段どのようであるかを説明するときに何と答える
でしょうか?
5.7 振舞いの記述の良い例と悪い例
「歩くことができる」「手を握り返せる」「信号の区別が
付く」「笑う」
「晴れている日に一緒に歩いていると、赤信号で止まった
ときに笑いながら手を強く握り返してくる」
後者が説明的で実例としての振る舞いを表現しているのに
対して、前者はどのような人であるかは想像が難しいので
す。前者は振舞いを書いているとは言い難いでしょう。
6 エンピリカルな話
エンピリカル = (実証的。経験的データに基づいた。)
6.1 MS,IBMなどの事例
TDDを導入したプロジェクトで類似プロジェクトとの比較
IBM
Driver
MS
Windows
MS
MSN
MS
VisualStudio
Product(KLOC) 41.0 6.0 26.0 155.2
Test(KLOC) 28.5 4.0 23.2 60.3
非採用プロジェクトと
の欠陥密度比較
0.61 0.38 0.24 0.09
実装の追加工数 15 -
20%
20 -35% 15% 20 -25%
Realizingqualityimprovementthrough testdriven development:
results and experiences of four industrialteams Nachiappan
Nagappan &E. MichaelMaximilien &Thirumalesh Bhat&Laurie
Williams
6.2 各種レポートのまとめ
複数の論文、レポートで言われているTDDの効果をまとめて
項目別に比較
※項目別にレポートによって対象外あり
よい効果,変化なし 悪い効果
バグ 7 1
外部品質 9 0
カバレッジ 11 0
生産性 9 3
Effects of Test-Driven Development: AComparative Analysis of
EmpiricalStudies Simo Mäkinen and Jürgen Münch
6.3 初級者と熟練者の違い
「テストを先に書くテストファースト」と「テストを後から
書くテストラスト」のどちらを選びたいか等を比較
熟練者 : テストファーストをしたい人は6割以上
初級者 : テストファーストをしたい人は2割未満
An EmpiricalEvaluation of the Impactof Test-Driven
Developmenton Software QualityByCopyright2006 David
ScottJanzen
7 TDDと共に学ぶ
7.1 TDDを学ぶ
(1)
(2)
(3)
テスト駆動開発入門
テスト駆動開発実践入門
Clean Code
Specification ByExample
BDD in Action
@IT連載の「いまさら聞けないTDD/BDD超入門」
@IT連載の「いまさら聞けないTDD/BDD超入門」
@IT連載の「いまさら聞けないTDD/BDD超入門」
7.2 綺麗なコードを学ぶ
Clean Code
Code Complete
リーダブルコード
7.3 既存コードとの接し方を学ぶ
テストがないプロダクトや、保守性の低いプロダクトでTDD
する
リファクタリング
レガシーコード改善ガイド
データベースリファクタリング
7.4 テストを学ぶ
TDDを活かすためにテストコードの保守性やテストプロセス
学ぶ
xUnitTestPatterns
マインドマップではじめるソフトウェアテスト入門
知識ゼロから学ぶソフトウェアテスト 【改訂版】
ソフトウェアテスト実践ワークブック
ソフトウェアテスト技法
実践アジャイルテスト
7.5 アーキテクチャを学ぶ
いきあたりばったりなTDDにならないようにアーキテクチャ
を学ぶ
エンタープライズアプリケーションアーキテクチャパター
ン
エリックエヴァンスのドメイン駆動設計
アナリシスパターン
オブジェクトデザイン
7.6 自動化を学ぶ
TDDによって得られるテストやプロダクトをスムーズにビル
ドしリリースできるようにする
Jenkins
継続的デリバリー
Gradle in Action
Chef実践入門(多分良書)
7.7 バージョン管理を学ぶ
コードの共有、試行錯誤、機能自体の履歴管理、バグ調査、
CIをしやすくする
SCMBootCampへ!
Gitポケットリファレンス
入門Git
入門TortoiseHg+ Mercurial
実用Git
8 最後に
TDDをしなくても要求を満たせるようになることは素晴し
いことです。
ですが、あなたが持っている要求の情報、分析結果、設計
スキル、実装スキルが不足しているとき。
そしてそのソフトウェアを保守する未来の誰かがそれに見
合わないときはおそらくTDDが最良の選択であることは非
常に多いでしょう。
Have aGood Development!

Más contenido relacionado

La actualidad más candente

TDD のこころ @ OSH2014
TDD のこころ @ OSH2014TDD のこころ @ OSH2014
TDD のこころ @ OSH2014Takuto Wada
 
TDDを実践してわかったTDDつまづくあるあると自分なりの乗り越え方まとめ
TDDを実践してわかったTDDつまづくあるあると自分なりの乗り越え方まとめTDDを実践してわかったTDDつまづくあるあると自分なりの乗り越え方まとめ
TDDを実践してわかったTDDつまづくあるあると自分なりの乗り越え方まとめKei Sawada
 
Test Yourself - テストを書くと何がどう変わるか
Test Yourself - テストを書くと何がどう変わるかTest Yourself - テストを書くと何がどう変わるか
Test Yourself - テストを書くと何がどう変わるかTakuto Wada
 
Tdd is really dead ?
Tdd is really dead ?Tdd is really dead ?
Tdd is really dead ?Akira Suenami
 
Hey It's Not My TDD!
Hey It's Not My TDD!Hey It's Not My TDD!
Hey It's Not My TDD!Yasui Tsutomu
 
モダン開発をかじってみる
モダン開発をかじってみるモダン開発をかじってみる
モダン開発をかじってみるal16030
 
組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術Takuto Wada
 
自動テストの誤解とアンチパターン in 楽天 Tech Talk
自動テストの誤解とアンチパターン in 楽天 Tech Talk自動テストの誤解とアンチパターン in 楽天 Tech Talk
自動テストの誤解とアンチパターン in 楽天 Tech Talkkyon mm
 
実践的な設計って、なんだろう?
実践的な設計って、なんだろう?実践的な設計って、なんだろう?
実践的な設計って、なんだろう?増田 亨
 
Pull Request & TDD 入門
Pull Request & TDD 入門Pull Request & TDD 入門
Pull Request & TDD 入門ESM SEC
 
第11回モヤLT 男女ペアプログラミング合コンに行ってきた
第11回モヤLT 男女ペアプログラミング合コンに行ってきた第11回モヤLT 男女ペアプログラミング合コンに行ってきた
第11回モヤLT 男女ペアプログラミング合コンに行ってきたtake4_k
 
単体テストのすゝめ
単体テストのすゝめ単体テストのすゝめ
単体テストのすゝめLi Satoshi
 
Emergent Design - ObLove 2009 summer
Emergent Design - ObLove 2009 summerEmergent Design - ObLove 2009 summer
Emergent Design - ObLove 2009 summerTakuto Wada
 
TDD のこころ
TDD のこころTDD のこころ
TDD のこころTakuto Wada
 
TDDはじめる前に
TDDはじめる前にTDDはじめる前に
TDDはじめる前にYasui Tsutomu
 
UnitTestは最もTDDしやすいか否か? #TDDMeetUp
UnitTestは最もTDDしやすいか否か? #TDDMeetUpUnitTestは最もTDDしやすいか否か? #TDDMeetUp
UnitTestは最もTDDしやすいか否か? #TDDMeetUpkyon mm
 
SeasarCon 2009 White TDD
SeasarCon 2009 White TDDSeasarCon 2009 White TDD
SeasarCon 2009 White TDDTakuto Wada
 

La actualidad más candente (20)

TDD のこころ @ OSH2014
TDD のこころ @ OSH2014TDD のこころ @ OSH2014
TDD のこころ @ OSH2014
 
TDDを実践してわかったTDDつまづくあるあると自分なりの乗り越え方まとめ
TDDを実践してわかったTDDつまづくあるあると自分なりの乗り越え方まとめTDDを実践してわかったTDDつまづくあるあると自分なりの乗り越え方まとめ
TDDを実践してわかったTDDつまづくあるあると自分なりの乗り越え方まとめ
 
Test Yourself - テストを書くと何がどう変わるか
Test Yourself - テストを書くと何がどう変わるかTest Yourself - テストを書くと何がどう変わるか
Test Yourself - テストを書くと何がどう変わるか
 
Tdd is really dead ?
Tdd is really dead ?Tdd is really dead ?
Tdd is really dead ?
 
Hey It's Not My TDD!
Hey It's Not My TDD!Hey It's Not My TDD!
Hey It's Not My TDD!
 
モダン開発をかじってみる
モダン開発をかじってみるモダン開発をかじってみる
モダン開発をかじってみる
 
組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術
 
TDDBC横浜3rd
TDDBC横浜3rdTDDBC横浜3rd
TDDBC横浜3rd
 
自動テストの誤解とアンチパターン in 楽天 Tech Talk
自動テストの誤解とアンチパターン in 楽天 Tech Talk自動テストの誤解とアンチパターン in 楽天 Tech Talk
自動テストの誤解とアンチパターン in 楽天 Tech Talk
 
実践的な設計って、なんだろう?
実践的な設計って、なんだろう?実践的な設計って、なんだろう?
実践的な設計って、なんだろう?
 
Pull Request & TDD 入門
Pull Request & TDD 入門Pull Request & TDD 入門
Pull Request & TDD 入門
 
第11回モヤLT 男女ペアプログラミング合コンに行ってきた
第11回モヤLT 男女ペアプログラミング合コンに行ってきた第11回モヤLT 男女ペアプログラミング合コンに行ってきた
第11回モヤLT 男女ペアプログラミング合コンに行ってきた
 
単体テストのすゝめ
単体テストのすゝめ単体テストのすゝめ
単体テストのすゝめ
 
Emergent Design - ObLove 2009 summer
Emergent Design - ObLove 2009 summerEmergent Design - ObLove 2009 summer
Emergent Design - ObLove 2009 summer
 
Tdd勉強会の歴史
Tdd勉強会の歴史Tdd勉強会の歴史
Tdd勉強会の歴史
 
TDD のこころ
TDD のこころTDD のこころ
TDD のこころ
 
TDDはじめる前に
TDDはじめる前にTDDはじめる前に
TDDはじめる前に
 
UnitTestは最もTDDしやすいか否か? #TDDMeetUp
UnitTestは最もTDDしやすいか否か? #TDDMeetUpUnitTestは最もTDDしやすいか否か? #TDDMeetUp
UnitTestは最もTDDしやすいか否か? #TDDMeetUp
 
java-ja TDD 2nd
java-ja TDD 2ndjava-ja TDD 2nd
java-ja TDD 2nd
 
SeasarCon 2009 White TDD
SeasarCon 2009 White TDDSeasarCon 2009 White TDD
SeasarCon 2009 White TDD
 

Destacado

"総務も!!"アジャイルプラクティス!
"総務も!!"アジャイルプラクティス!"総務も!!"アジャイルプラクティス!
"総務も!!"アジャイルプラクティス!pupupopo88
 
Scrum,Test,Metrics #sgt2016
Scrum,Test,Metrics #sgt2016Scrum,Test,Metrics #sgt2016
Scrum,Test,Metrics #sgt2016kyon mm
 
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京Koichi Hamada
 
Test Retrospective #kyon_kao_wedding in Tokyo
Test Retrospective #kyon_kao_wedding in TokyoTest Retrospective #kyon_kao_wedding in Tokyo
Test Retrospective #kyon_kao_wedding in Tokyokyon mm
 
ソフトウェアエンジニアとして心がけてきたこと
ソフトウェアエンジニアとして心がけてきたことソフトウェアエンジニアとして心がけてきたこと
ソフトウェアエンジニアとして心がけてきたことyoshikishibata
 
Behat+Symfony2ではじめるBDD超入門
Behat+Symfony2ではじめるBDD超入門Behat+Symfony2ではじめるBDD超入門
Behat+Symfony2ではじめるBDD超入門晃 遠山
 
失敗事例にみるDbの負荷試験の重要性
失敗事例にみるDbの負荷試験の重要性失敗事例にみるDbの負荷試験の重要性
失敗事例にみるDbの負荷試験の重要性Kazu Onishi
 
ギガビット無線機 Siklu の製品紹介 2016
ギガビット無線機 Siklu の製品紹介 2016ギガビット無線機 Siklu の製品紹介 2016
ギガビット無線機 Siklu の製品紹介 2016Nitta Tetsuya
 
Windows IoT Core and Robot Arm
Windows IoT Core and Robot ArmWindows IoT Core and Robot Arm
Windows IoT Core and Robot ArmMasuda Tomoaki
 
my-spirit-of-tdd
my-spirit-of-tddmy-spirit-of-tdd
my-spirit-of-tddYu Asano
 
TDD #NagoyaTesting
TDD #NagoyaTestingTDD #NagoyaTesting
TDD #NagoyaTestingkyon mm
 
Siklu EH-600TX Brochure JP
Siklu EH-600TX Brochure JPSiklu EH-600TX Brochure JP
Siklu EH-600TX Brochure JPNitta Tetsuya
 
TDD BootCamp in JJUG CCC - レガシーコード対策編 -
TDD BootCamp in JJUG CCC - レガシーコード対策編 -TDD BootCamp in JJUG CCC - レガシーコード対策編 -
TDD BootCamp in JJUG CCC - レガシーコード対策編 -Shuji Watanabe
 
うそのアジャイル、まことのアジャイル 公開用
うそのアジャイル、まことのアジャイル 公開用うそのアジャイル、まことのアジャイル 公開用
うそのアジャイル、まことのアジャイル 公開用ESM SEC
 
Prophecyを使ったユニットテスト
Prophecyを使ったユニットテスト Prophecyを使ったユニットテスト
Prophecyを使ったユニットテスト Akio Ishida
 
TDD & Pull Request入門
TDD & Pull Request入門TDD & Pull Request入門
TDD & Pull Request入門eiji ienaga
 

Destacado (20)

"総務も!!"アジャイルプラクティス!
"総務も!!"アジャイルプラクティス!"総務も!!"アジャイルプラクティス!
"総務も!!"アジャイルプラクティス!
 
Scrum,Test,Metrics #sgt2016
Scrum,Test,Metrics #sgt2016Scrum,Test,Metrics #sgt2016
Scrum,Test,Metrics #sgt2016
 
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京
「はじめてでもわかる RandomForest 入門-集団学習による分類・予測 -」 -第7回データマイニング+WEB勉強会@東京
 
Test Retrospective #kyon_kao_wedding in Tokyo
Test Retrospective #kyon_kao_wedding in TokyoTest Retrospective #kyon_kao_wedding in Tokyo
Test Retrospective #kyon_kao_wedding in Tokyo
 
ソフトウェアエンジニアとして心がけてきたこと
ソフトウェアエンジニアとして心がけてきたことソフトウェアエンジニアとして心がけてきたこと
ソフトウェアエンジニアとして心がけてきたこと
 
Behat+Symfony2ではじめるBDD超入門
Behat+Symfony2ではじめるBDD超入門Behat+Symfony2ではじめるBDD超入門
Behat+Symfony2ではじめるBDD超入門
 
失敗事例にみるDbの負荷試験の重要性
失敗事例にみるDbの負荷試験の重要性失敗事例にみるDbの負荷試験の重要性
失敗事例にみるDbの負荷試験の重要性
 
behatで始めるBDD
behatで始めるBDDbehatで始めるBDD
behatで始めるBDD
 
ギガビット無線機 Siklu の製品紹介 2016
ギガビット無線機 Siklu の製品紹介 2016ギガビット無線機 Siklu の製品紹介 2016
ギガビット無線機 Siklu の製品紹介 2016
 
Sue445 Style TDD #atest_hack
Sue445 Style TDD #atest_hackSue445 Style TDD #atest_hack
Sue445 Style TDD #atest_hack
 
20140226_TDD
20140226_TDD20140226_TDD
20140226_TDD
 
Windows IoT Core and Robot Arm
Windows IoT Core and Robot ArmWindows IoT Core and Robot Arm
Windows IoT Core and Robot Arm
 
my-spirit-of-tdd
my-spirit-of-tddmy-spirit-of-tdd
my-spirit-of-tdd
 
TDD #NagoyaTesting
TDD #NagoyaTestingTDD #NagoyaTesting
TDD #NagoyaTesting
 
Siklu EH-600TX Brochure JP
Siklu EH-600TX Brochure JPSiklu EH-600TX Brochure JP
Siklu EH-600TX Brochure JP
 
TDD BootCamp in JJUG CCC - レガシーコード対策編 -
TDD BootCamp in JJUG CCC - レガシーコード対策編 -TDD BootCamp in JJUG CCC - レガシーコード対策編 -
TDD BootCamp in JJUG CCC - レガシーコード対策編 -
 
うそのアジャイル、まことのアジャイル 公開用
うそのアジャイル、まことのアジャイル 公開用うそのアジャイル、まことのアジャイル 公開用
うそのアジャイル、まことのアジャイル 公開用
 
Prophecyを使ったユニットテスト
Prophecyを使ったユニットテスト Prophecyを使ったユニットテスト
Prophecyを使ったユニットテスト
 
TDDを研ぎ究める
TDDを研ぎ究めるTDDを研ぎ究める
TDDを研ぎ究める
 
TDD & Pull Request入門
TDD & Pull Request入門TDD & Pull Request入門
TDD & Pull Request入門
 

Similar a いつでも聞けるTDD入門 #TDDBC_NAGOYA

新人がTDDを学ぶ方法
新人がTDDを学ぶ方法新人がTDDを学ぶ方法
新人がTDDを学ぶ方法Ito Kunihiko
 
TDDってなんなの?(What is TDD)
TDDってなんなの?(What is TDD)TDDってなんなの?(What is TDD)
TDDってなんなの?(What is TDD)seichi23
 
レガシーコードでTDD力を高めよう #agilesamurai
レガシーコードでTDD力を高めよう #agilesamuraiレガシーコードでTDD力を高めよう #agilesamurai
レガシーコードでTDD力を高めよう #agilesamuraiYoutarou TAKAHASHI
 
テストの視点を活用した TDD アプローチの検討とその検証
テストの視点を活用した TDD アプローチの検討とその検証テストの視点を活用した TDD アプローチの検討とその検証
テストの視点を活用した TDD アプローチの検討とその検証Akira Ikeda
 
テストとリファクタリングに関する深い方法論 #wewlc_jp
テストとリファクタリングに関する深い方法論 #wewlc_jpテストとリファクタリングに関する深い方法論 #wewlc_jp
テストとリファクタリングに関する深い方法論 #wewlc_jpkyon mm
 
【"8a1"20160729資料】
【"8a1"20160729資料】【"8a1"20160729資料】
【"8a1"20160729資料】8a1
 
TDD、ペアプログラミングのすすめ
TDD、ペアプログラミングのすすめTDD、ペアプログラミングのすすめ
TDD、ペアプログラミングのすすめKyota Yasuda
 
TDDを一年やってみました ~シロート集団がTDDをやってはまったこと~
TDDを一年やってみました ~シロート集団がTDDをやってはまったこと~TDDを一年やってみました ~シロート集団がTDDをやってはまったこと~
TDDを一年やってみました ~シロート集団がTDDをやってはまったこと~Tomomi Kajita
 
nseg第5回勉強会
nseg第5回勉強会nseg第5回勉強会
nseg第5回勉強会ko ty
 
20140115 potato tips No.3 Android App Test Development Driven and Jenkins CI ...
20140115 potato tips No.3 Android App Test Development Driven and Jenkins CI ...20140115 potato tips No.3 Android App Test Development Driven and Jenkins CI ...
20140115 potato tips No.3 Android App Test Development Driven and Jenkins CI ...tkawashita
 
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのかDDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのかKoichiro Matsuoka
 
【B-3】 社内ソーシャルメディア開発トライ&エラー ~おれたちの4tate~ 原島法子氏/岩永義弘氏
【B-3】 社内ソーシャルメディア開発トライ&エラー ~おれたちの4tate~ 原島法子氏/岩永義弘氏【B-3】 社内ソーシャルメディア開発トライ&エラー ~おれたちの4tate~ 原島法子氏/岩永義弘氏
【B-3】 社内ソーシャルメディア開発トライ&エラー ~おれたちの4tate~ 原島法子氏/岩永義弘氏Developers Summit
 
Rspec勉強会
Rspec勉強会Rspec勉強会
Rspec勉強会gaooh
 
Kiwi 入門 | iOS RDD テストフレームワーク
Kiwi 入門 | iOS RDD テストフレームワーク Kiwi 入門 | iOS RDD テストフレームワーク
Kiwi 入門 | iOS RDD テストフレームワーク Yuki Tanabe
 
見る前に跳べ 〜ギークの工夫で社会を変えよう〜
見る前に跳べ 〜ギークの工夫で社会を変えよう〜見る前に跳べ 〜ギークの工夫で社会を変えよう〜
見る前に跳べ 〜ギークの工夫で社会を変えよう〜Takuya Oikawa
 
テスト駆動開発入門 - C4K Meetup#2
テスト駆動開発入門 - C4K Meetup#2テスト駆動開発入門 - C4K Meetup#2
テスト駆動開発入門 - C4K Meetup#2Masashi Shibata
 
ゆるLTのススメ+α
ゆるLTのススメ+αゆるLTのススメ+α
ゆるLTのススメ+αjoker1007
 

Similar a いつでも聞けるTDD入門 #TDDBC_NAGOYA (17)

新人がTDDを学ぶ方法
新人がTDDを学ぶ方法新人がTDDを学ぶ方法
新人がTDDを学ぶ方法
 
TDDってなんなの?(What is TDD)
TDDってなんなの?(What is TDD)TDDってなんなの?(What is TDD)
TDDってなんなの?(What is TDD)
 
レガシーコードでTDD力を高めよう #agilesamurai
レガシーコードでTDD力を高めよう #agilesamuraiレガシーコードでTDD力を高めよう #agilesamurai
レガシーコードでTDD力を高めよう #agilesamurai
 
テストの視点を活用した TDD アプローチの検討とその検証
テストの視点を活用した TDD アプローチの検討とその検証テストの視点を活用した TDD アプローチの検討とその検証
テストの視点を活用した TDD アプローチの検討とその検証
 
テストとリファクタリングに関する深い方法論 #wewlc_jp
テストとリファクタリングに関する深い方法論 #wewlc_jpテストとリファクタリングに関する深い方法論 #wewlc_jp
テストとリファクタリングに関する深い方法論 #wewlc_jp
 
【"8a1"20160729資料】
【"8a1"20160729資料】【"8a1"20160729資料】
【"8a1"20160729資料】
 
TDD、ペアプログラミングのすすめ
TDD、ペアプログラミングのすすめTDD、ペアプログラミングのすすめ
TDD、ペアプログラミングのすすめ
 
TDDを一年やってみました ~シロート集団がTDDをやってはまったこと~
TDDを一年やってみました ~シロート集団がTDDをやってはまったこと~TDDを一年やってみました ~シロート集団がTDDをやってはまったこと~
TDDを一年やってみました ~シロート集団がTDDをやってはまったこと~
 
nseg第5回勉強会
nseg第5回勉強会nseg第5回勉強会
nseg第5回勉強会
 
20140115 potato tips No.3 Android App Test Development Driven and Jenkins CI ...
20140115 potato tips No.3 Android App Test Development Driven and Jenkins CI ...20140115 potato tips No.3 Android App Test Development Driven and Jenkins CI ...
20140115 potato tips No.3 Android App Test Development Driven and Jenkins CI ...
 
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのかDDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
 
【B-3】 社内ソーシャルメディア開発トライ&エラー ~おれたちの4tate~ 原島法子氏/岩永義弘氏
【B-3】 社内ソーシャルメディア開発トライ&エラー ~おれたちの4tate~ 原島法子氏/岩永義弘氏【B-3】 社内ソーシャルメディア開発トライ&エラー ~おれたちの4tate~ 原島法子氏/岩永義弘氏
【B-3】 社内ソーシャルメディア開発トライ&エラー ~おれたちの4tate~ 原島法子氏/岩永義弘氏
 
Rspec勉強会
Rspec勉強会Rspec勉強会
Rspec勉強会
 
Kiwi 入門 | iOS RDD テストフレームワーク
Kiwi 入門 | iOS RDD テストフレームワーク Kiwi 入門 | iOS RDD テストフレームワーク
Kiwi 入門 | iOS RDD テストフレームワーク
 
見る前に跳べ 〜ギークの工夫で社会を変えよう〜
見る前に跳べ 〜ギークの工夫で社会を変えよう〜見る前に跳べ 〜ギークの工夫で社会を変えよう〜
見る前に跳べ 〜ギークの工夫で社会を変えよう〜
 
テスト駆動開発入門 - C4K Meetup#2
テスト駆動開発入門 - C4K Meetup#2テスト駆動開発入門 - C4K Meetup#2
テスト駆動開発入門 - C4K Meetup#2
 
ゆるLTのススメ+α
ゆるLTのススメ+αゆるLTのススメ+α
ゆるLTのススメ+α
 

Más de kyon mm

Kaizen process with test #hackt
Kaizen process with test #hacktKaizen process with test #hackt
Kaizen process with test #hacktkyon mm
 
ザ・ジェネラリスト #5000dai
ザ・ジェネラリスト #5000daiザ・ジェネラリスト #5000dai
ザ・ジェネラリスト #5000daikyon mm
 
ICST2015 GUI Testingの紹介 #SIGSTJ
ICST2015 GUI Testingの紹介 #SIGSTJICST2015 GUI Testingの紹介 #SIGSTJ
ICST2015 GUI Testingの紹介 #SIGSTJkyon mm
 
焦らず急いでの意味
焦らず急いでの意味焦らず急いでの意味
焦らず急いでの意味kyon mm
 
Sta introduction in_kyoto #devkan
Sta introduction in_kyoto #devkanSta introduction in_kyoto #devkan
Sta introduction in_kyoto #devkankyon mm
 
出来るチューリング完全!SQLでもいろいろ出来る! #syoboben
出来るチューリング完全!SQLでもいろいろ出来る! #syoboben出来るチューリング完全!SQLでもいろいろ出来る! #syoboben
出来るチューリング完全!SQLでもいろいろ出来る! #syobobenkyon mm
 
#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン
#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン
#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプラインkyon mm
 
#STAC2014 システムテスト自動化ハンズオン
#STAC2014 システムテスト自動化ハンズオン#STAC2014 システムテスト自動化ハンズオン
#STAC2014 システムテスト自動化ハンズオンkyon mm
 
テストファースト、自動テストを導入するという事について(@社内勉強会)
テストファースト、自動テストを導入するという事について(@社内勉強会)テストファースト、自動テストを導入するという事について(@社内勉強会)
テストファースト、自動テストを導入するという事について(@社内勉強会)kyon mm
 
Gradle 2.2, 2.3 news #jggug
Gradle 2.2, 2.3 news #jggugGradle 2.2, 2.3 news #jggug
Gradle 2.2, 2.3 news #jggugkyon mm
 
Groovyで学ぶプロセス代数 #jjug
Groovyで学ぶプロセス代数 #jjugGroovyで学ぶプロセス代数 #jjug
Groovyで学ぶプロセス代数 #jjugkyon mm
 
テストエンジニアの品格 #automatornight
テストエンジニアの品格 #automatornightテストエンジニアの品格 #automatornight
テストエンジニアの品格 #automatornightkyon mm
 
@kyon_mmの書籍の読み方 #AsianAA
@kyon_mmの書籍の読み方 #AsianAA@kyon_mmの書籍の読み方 #AsianAA
@kyon_mmの書籍の読み方 #AsianAAkyon mm
 
JenkinsとGitで実装するGatewayCheckIn Pattern #AsianAA
JenkinsとGitで実装するGatewayCheckIn Pattern #AsianAAJenkinsとGitで実装するGatewayCheckIn Pattern #AsianAA
JenkinsとGitで実装するGatewayCheckIn Pattern #AsianAAkyon mm
 
GradleのREPLプラグイン紹介 #jggug
GradleのREPLプラグイン紹介 #jggugGradleのREPLプラグイン紹介 #jggug
GradleのREPLプラグイン紹介 #jggugkyon mm
 
契る意味 #pykonjp2014
契る意味 #pykonjp2014契る意味 #pykonjp2014
契る意味 #pykonjp2014kyon mm
 
ソフトウェア開発を勉強し始めて3年間でやったこと~After~ #devsumi
ソフトウェア開発を勉強し始めて3年間でやったこと~After~ #devsumiソフトウェア開発を勉強し始めて3年間でやったこと~After~ #devsumi
ソフトウェア開発を勉強し始めて3年間でやったこと~After~ #devsumikyon mm
 
詳解!自動結合テスト #jasst
詳解!自動結合テスト #jasst詳解!自動結合テスト #jasst
詳解!自動結合テスト #jasstkyon mm
 
Cafetesting12
Cafetesting12Cafetesting12
Cafetesting12kyon mm
 
The History of Groovy #GroovyBase
The History of Groovy #GroovyBaseThe History of Groovy #GroovyBase
The History of Groovy #GroovyBasekyon mm
 

Más de kyon mm (20)

Kaizen process with test #hackt
Kaizen process with test #hacktKaizen process with test #hackt
Kaizen process with test #hackt
 
ザ・ジェネラリスト #5000dai
ザ・ジェネラリスト #5000daiザ・ジェネラリスト #5000dai
ザ・ジェネラリスト #5000dai
 
ICST2015 GUI Testingの紹介 #SIGSTJ
ICST2015 GUI Testingの紹介 #SIGSTJICST2015 GUI Testingの紹介 #SIGSTJ
ICST2015 GUI Testingの紹介 #SIGSTJ
 
焦らず急いでの意味
焦らず急いでの意味焦らず急いでの意味
焦らず急いでの意味
 
Sta introduction in_kyoto #devkan
Sta introduction in_kyoto #devkanSta introduction in_kyoto #devkan
Sta introduction in_kyoto #devkan
 
出来るチューリング完全!SQLでもいろいろ出来る! #syoboben
出来るチューリング完全!SQLでもいろいろ出来る! #syoboben出来るチューリング完全!SQLでもいろいろ出来る! #syoboben
出来るチューリング完全!SQLでもいろいろ出来る! #syoboben
 
#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン
#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン
#STAC2014 状態遷移を活用した自動テストのテスト戦略とデプロイメントパイプライン
 
#STAC2014 システムテスト自動化ハンズオン
#STAC2014 システムテスト自動化ハンズオン#STAC2014 システムテスト自動化ハンズオン
#STAC2014 システムテスト自動化ハンズオン
 
テストファースト、自動テストを導入するという事について(@社内勉強会)
テストファースト、自動テストを導入するという事について(@社内勉強会)テストファースト、自動テストを導入するという事について(@社内勉強会)
テストファースト、自動テストを導入するという事について(@社内勉強会)
 
Gradle 2.2, 2.3 news #jggug
Gradle 2.2, 2.3 news #jggugGradle 2.2, 2.3 news #jggug
Gradle 2.2, 2.3 news #jggug
 
Groovyで学ぶプロセス代数 #jjug
Groovyで学ぶプロセス代数 #jjugGroovyで学ぶプロセス代数 #jjug
Groovyで学ぶプロセス代数 #jjug
 
テストエンジニアの品格 #automatornight
テストエンジニアの品格 #automatornightテストエンジニアの品格 #automatornight
テストエンジニアの品格 #automatornight
 
@kyon_mmの書籍の読み方 #AsianAA
@kyon_mmの書籍の読み方 #AsianAA@kyon_mmの書籍の読み方 #AsianAA
@kyon_mmの書籍の読み方 #AsianAA
 
JenkinsとGitで実装するGatewayCheckIn Pattern #AsianAA
JenkinsとGitで実装するGatewayCheckIn Pattern #AsianAAJenkinsとGitで実装するGatewayCheckIn Pattern #AsianAA
JenkinsとGitで実装するGatewayCheckIn Pattern #AsianAA
 
GradleのREPLプラグイン紹介 #jggug
GradleのREPLプラグイン紹介 #jggugGradleのREPLプラグイン紹介 #jggug
GradleのREPLプラグイン紹介 #jggug
 
契る意味 #pykonjp2014
契る意味 #pykonjp2014契る意味 #pykonjp2014
契る意味 #pykonjp2014
 
ソフトウェア開発を勉強し始めて3年間でやったこと~After~ #devsumi
ソフトウェア開発を勉強し始めて3年間でやったこと~After~ #devsumiソフトウェア開発を勉強し始めて3年間でやったこと~After~ #devsumi
ソフトウェア開発を勉強し始めて3年間でやったこと~After~ #devsumi
 
詳解!自動結合テスト #jasst
詳解!自動結合テスト #jasst詳解!自動結合テスト #jasst
詳解!自動結合テスト #jasst
 
Cafetesting12
Cafetesting12Cafetesting12
Cafetesting12
 
The History of Groovy #GroovyBase
The History of Groovy #GroovyBaseThe History of Groovy #GroovyBase
The History of Groovy #GroovyBase
 

いつでも聞けるTDD入門 #TDDBC_NAGOYA