SlideShare a Scribd company logo
CodeZineAcademy TDD実践講座PR資料
TDD実践講座
テスト駆動開発を
ハンズオンで学べる!
タイムテーブル
1. TDDのこころ (講義)
2. TDDデモ&チュートリアル
3. TDD体験セッション
4. 全体コードレビュー
5. TDD応用編 (講義)
6. ふりかえり
すごい講師と
TAがつきっきり!
CodeZineAcademy TDD実践講座PR資料
http://event.shoeisha.jp/aa#Professors
和田 卓人
id: t-wada
@t_wada
github: twada
CodeZineAcademy TDD実践講座PR資料
CodeZineAcademy TDD実践講座PR資料
太田 健一郎
株式会社 SHIFT
Test Automator
Jenkins Selenium Geb JavaScript
テスト自動化
CI
twitter:@oota_ken facebook:oota.ken
github:ootaken
CodeZineAcademy TDD実践講座PR資料
安井 力 / やっとむ
twitter:@yattom
https://www.facebook.com/yattom
プログラマー
Java Python Ruby JavaScript
テスト駆動開発
アジャイルコーチ
ワークショップ 現場導入 技術支援
コンサルタント
モデリング
16
The Scrum Field Guide
(Mitch Lacey)
和訳が出ます!
(安井力、近藤寛喜、原田騎郎 訳)
「本書はガイドとして、スクラム
の初歩から熟達に向け、現実的な
方法を指導してくれる。
…より高度で実践的な、スクラム
フレームワークをあなた自身とあ
なたのチームで機能させるための
ガイドだ。」
(ジム・ハイスミス)
発売日: 2月26日
予価: 3,480円
マイナビ出版
Amazon.co.jpにて予約受付中!
カンバン仕事術
―チームではじめる
見える化と改善
(Kanban In Actionの翻訳)
発売日: 3月25日
予価: 3,888円
オライリージャパン
Amazon.co.jpにて予約受付中!
CodeZineAcademy TDD実践講座PR資料
ペアプロやコードレビューで
お互いに学び合う場
ペアプログラミングとは
"Write all production programs with two people sitting at
one machine. ... Pair programming is a dialog between
two people simultaneously programming (and designing
and testing) and to program better."
(Extreme Programming Explained 2nd)
「プロダクションコードはすべて、2人で1台のマシンに
向かって書くこと。…ペアプログラミングとは、プロ
グラミングしながら2人で会話することだ(設計もテス
トも同時にする)。会話するのは、もっと上手にプログ
ラムするためである。」
CodeZineAcademy TDD実践講座PR資料
ふりかえり
Keep(よかったこと)の例
• TDDがどういうものなのか理解できた
※誤った認識を今まで持っていた……
• 今日学習した黄金のサイクルは今後も
意識的に続けていこうと思った。
• 気づかないうちにチェックされていた
→必要なときに正に指摘を受けた
Try(これからやりたいこと)の例
• 新規のプロジェクトでTDDを導入してみ
ようと思う
• 自宅で復習と理解を深めるためにビール
を飲みながら独りTDDをやってみる
• 今日から写経をはじめます
体験しないとわからない
TDDの特徴
• 体験しないとわからない (ペアプロも)
• 練習すれば上達する
• 状況、対象、設計、スキルなどに応じて
幅広い様々な手法、アプローチがある
TDD実践講座の特徴
• 体験しないとわからない (ペアプロも)
• 練習すれば上達する
• 状況、対象、設計、スキルなどに応じて
幅広い様々な手法、アプローチがある
• 体験できる(ペアプロも)
• 練習を始めるきっかけになる
• 熟練者、経験者に具体的相談ができる
TDDBC(TDD Boot Camp)
• コミュニティによるイベント
• ボランティア講師・TA
• ハイレベル(な人も来てくれる)!
• 土日 半日~1日
• 全国で不定期に開催
• 無料!
• 2/27(土) 東京
https://tddbc.doorkeeper.jp/
よくある質問
TDDはテストですか
TDDはテスト手法か?
• テスト駆動開発 = 開発手法
• TDDはテストの代わりにならない
• 部分的に担保できることもある
• TDDで書いたテストも積極的に整理(削除)する
• 「TDDだからテストしないよ!」
ちょっとそこに座れ
っていうか実践講座来なさい
TDD導入したいけど
コストが増えそう
テスト駆動開発の効果
IBM
ドライバ
Microsoft
Windows
Microsoft
MSN
Microsoft
VisualStudio
チーム人数 9 6 5-7 7
コード量(KLOC) 41.0 6.0 26.0 155.2
開発規模(人月) 119 24 46 20
欠陥数
(TDD未使用に対
する)
61% 38% 24% 9%
開発時間の増加
(管理者の見積)
15~20% 25~35% 15% 20~25%
Nachiappan Nagappan, E. Michael Maximilien, Thirumalesh Bhat, Laurie Williams “Realizing
quality improvement through test driven development: results and experiences of four
industrial teams” 2008
http://research.microsoft.com/en-us/groups/ese/nagappan_tdd.pdf
保守性への影響
※1 保守期間(260日間)中、変更要求の対応にかかった工数の平均
"The effectiveness of test-driven development: an industrial case study"
(Tomazˇ Dogsˇa • David Baticˇ , Software Qual J (2011))
生産性
(行数/工数)
保守性 ※1
(工数/変更件数)
プロジェクトA
(非TDD)
2.3 84
プロジェクトB
(非TDD)
2.5 80
プロジェクトC
(TDD)
1.8 59
TDDの効果の研究をまとめた研究
"Effects of Test-Driven Development: A Comparative
Analysis of Empirical Studies" Simo Makinen and Jurgen
Munch, 2013
• 既存の実証研究を調査し、10の内部・外部品質評
価項目で、各研究の結論を整理した
• TDDは欠陥の作り込み(introduced defects)を減
らし、メンテナンスしやすいコードを産む
• TDDで実装されたコードは、部分的に、サイズが
小さく、複雑度が低い場合がある
• メンテナンスがしやすくなるものの、初期開発で
は時間がかかる
でも絶対テスト書くんでしょ?
TDD再考 (7) – テストはどこまで書けば良いのか?
Beck氏の回答はシンプルである。
「私は機能するコードに対してお金を
貰っているのであって、テストコードの対
価を受け取っているわけではない。なので
自分の哲学としては、テストにかける労力
は必要な自信を得るための最小限度に抑え
ることにしている」
TDDは死んだ
TDDは死んだ。テスティングよ栄えよ。 by DHH
TDDの自殺 by kyon_mm
TDDはオワコンって
偉い人が言ってたけど?
• Ruby on Rails
• 自動テストの仕組みが組み込まれている
• BDDが相対的に有利
• ユニットテストはコスト高
• TDDだけを指針にすると
全体アーキテクチャが壊れる
• 教条主義、狂信、盲信はよくない
• なんだってそうだよね
• やってみて言おう
• DHHだって何年もやってから
• やったことないなら実践講座へ!
TDDで品質あがる?
テスト駆動開発の効果
IBM
ドライバ
Microsoft
Windows
Microsoft
MSN
Microsoft
VisualStudio
チーム人数 9 6 5-7 7
コード量(KLOC) 41.0 6.0 26.0 155.2
開発規模(人月) 119 24 46 20
欠陥数
(TDD未使用に対
する)
61% 38% 24% 9%
開発時間の増加
(管理者の見積)
15~20% 25~35% 15% 20~25%
Nachiappan Nagappan, E. Michael Maximilien, Thirumalesh Bhat, Laurie Williams “Realizing
quality improvement through test driven development: results and experiences of four
industrial teams” 2008
http://research.microsoft.com/en-us/groups/ese/nagappan_tdd.pdf
品質 = 欠陥数?
Making Software (2011年)
12章 “How Effective is Test-Driven Development?”
Burak Turhan, Lucas Layman, Madeline Diep, Hakan Erdogmus, Forrest Shull
• 内部品質 – よかったり悪かったり
• 外部品質 – いいけど悪いことも
• 生産性 – なんとも言えない
• テスト品質 – 悪くはなさそう
結論: まだ何とも言えない
TDDで品質上がる?
• たちどころに品質を良くしたい人は
壺を買ってください(100万円)
• 自分たちの力で品質を良くしたい人は
• 変更があるプロダクトでは、自動回帰テストは確実
に効果がある(コストもかかる)
• TDDはテスト自動化推進の役に立つ(こともある)
• そもそもバグだらけなら、何やっても効果がある
(TDDでもいいけどプロセスのほうが…)
TDDの効果は?
• テストを書く習慣と力が付く
• チームのディシプリン
• TDDで成功しているチームはある
• TDDのよいやり方を学べば効果が期待できる
• 使いどころを見極められる
• TDDはフィードバックと見直しのサイクル
• 改善を促進する力がある
• スキル向上のチャンスも多くなる
• “品質が良くなるという研究があります”!
• 上司を説得するのに有効
• まだ疑問が……
• 実践講座で話しましょう!
次回 3/3(水)
講師は和田さん
お待ちしています!

More Related Content

What's hot (20)

PDF
テストとリファクタリングに関する深い方法論 #wewlc_jp
kyon mm
 
PPTX
僕らのおれおれメトリクス / We Metrics Our Own Way!
Yasui Tsutomu
 
PDF
java-ja TDD 2nd
Takuto Wada
 
PDF
SeasarCon 2009 White TDD
Takuto Wada
 
PDF
TDDを実践してわかったTDDつまづくあるあると自分なりの乗り越え方まとめ
Kei Sawada
 
PPTX
テストスキルを測ってみよう
Akira Ikeda
 
PDF
TDD のこころ @ OSH2014
Takuto Wada
 
KEY
テスト駆動開発の導入ーペアプログラミングの学習効果ー
Shuji Watanabe
 
PDF
JJUG CCC 2014 fall 「私がTDD出来ないのはどう考えてもお前らが悪い!」~エンタープライズJava開発でのTDD適用の勘所~
Hiroyuki Ohnaka
 
PDF
Kaizen process with test #hackt
kyon mm
 
PDF
レガシーコードとの付き合い方とテストでの話
H Iseri
 
PDF
組織にテストを書く文化を根付かせる戦略と戦術
Takuto Wada
 
PDF
ペアプログラミング ホントのところ
Takuto Wada
 
PDF
2015/10/14 JJUGナイトセミナー「テスト駆動開発ここが聞きたい」
Hiroyuki Ohnaka
 
PDF
テストエンジニアの品格 #automatornight
kyon mm
 
PDF
ザ・ジェネラリスト #5000dai
kyon mm
 
PDF
Test Driven Development in LabVIEW
Yusuke Tochigi
 
PDF
ソフトウェアテスト入門
Preferred Networks
 
PDF
「GebとSpockではじめるシステムテスト自動化」
Hiroyuki Ohnaka
 
PDF
Sta introduction in_kyoto #devkan
kyon mm
 
テストとリファクタリングに関する深い方法論 #wewlc_jp
kyon mm
 
僕らのおれおれメトリクス / We Metrics Our Own Way!
Yasui Tsutomu
 
java-ja TDD 2nd
Takuto Wada
 
SeasarCon 2009 White TDD
Takuto Wada
 
TDDを実践してわかったTDDつまづくあるあると自分なりの乗り越え方まとめ
Kei Sawada
 
テストスキルを測ってみよう
Akira Ikeda
 
TDD のこころ @ OSH2014
Takuto Wada
 
テスト駆動開発の導入ーペアプログラミングの学習効果ー
Shuji Watanabe
 
JJUG CCC 2014 fall 「私がTDD出来ないのはどう考えてもお前らが悪い!」~エンタープライズJava開発でのTDD適用の勘所~
Hiroyuki Ohnaka
 
Kaizen process with test #hackt
kyon mm
 
レガシーコードとの付き合い方とテストでの話
H Iseri
 
組織にテストを書く文化を根付かせる戦略と戦術
Takuto Wada
 
ペアプログラミング ホントのところ
Takuto Wada
 
2015/10/14 JJUGナイトセミナー「テスト駆動開発ここが聞きたい」
Hiroyuki Ohnaka
 
テストエンジニアの品格 #automatornight
kyon mm
 
ザ・ジェネラリスト #5000dai
kyon mm
 
Test Driven Development in LabVIEW
Yusuke Tochigi
 
ソフトウェアテスト入門
Preferred Networks
 
「GebとSpockではじめるシステムテスト自動化」
Hiroyuki Ohnaka
 
Sta introduction in_kyoto #devkan
kyon mm
 

Viewers also liked (20)

PDF
TDD のこころ
Takuto Wada
 
PDF
「TDDはじめて物語」 #tddbc
Hiroyuki Ohnaka
 
PDF
TDDのこれまで、そしてこれから
Hiroyuki Ohnaka
 
PDF
Androidアプリ開発にクリーンアーキテクチャを取り入れよう
kan-notice
 
PPTX
Lt駆動開発 01 プレゼン
Kakigi Katuyuki
 
PPTX
Developers.IO 2016 F-1 セッション資料
Shinichi Hirauchi
 
PPTX
dbtech showcase 2016 Delphix講演資料
Delphix Japan
 
PPTX
Speeda新機能開発にddd tddを取り入れた話
Raymond Jason Yap
 
PDF
アジャイルによくきく?モデリング
Iwao Harada
 
PDF
How to be an agile programmer.
Tsuyoshi Ushio
 
PDF
AWS Summit Chicago 2016発表のサービスアップデートまとめ
Amazon Web Services Japan
 
PDF
そろそろ(おまえらの)DevOpsについて一言いっておくか
Takashi Takebayashi
 
PDF
[db tech showcase Tokyo 2016] D24: データベース環境における検証結果から理解する失敗しないフラッシュ活用法 第三章 ~デ...
Insight Technology, Inc.
 
PDF
Scrum Bangalore 18th Meetup - October 15, 2016 - Agile Architecture - Deepak ...
Scrum Bangalore
 
PDF
KVM環境におけるネットワーク速度ベンチマーク
VirtualTech Japan Inc.
 
PDF
IoT and Evolution of Mobile Networks toward 5G
Osaka University
 
PDF
「レガシーコード」とはいったい?
Hiroyuki Ohnaka
 
PPTX
ギガビット無線機 Siklu の製品紹介 2016
Nitta Tetsuya
 
PPT
Sue445 Style TDD #atest_hack
Go Sueyoshi (a.k.a sue445)
 
PDF
my-spirit-of-tdd
Yu Asano
 
TDD のこころ
Takuto Wada
 
「TDDはじめて物語」 #tddbc
Hiroyuki Ohnaka
 
TDDのこれまで、そしてこれから
Hiroyuki Ohnaka
 
Androidアプリ開発にクリーンアーキテクチャを取り入れよう
kan-notice
 
Lt駆動開発 01 プレゼン
Kakigi Katuyuki
 
Developers.IO 2016 F-1 セッション資料
Shinichi Hirauchi
 
dbtech showcase 2016 Delphix講演資料
Delphix Japan
 
Speeda新機能開発にddd tddを取り入れた話
Raymond Jason Yap
 
アジャイルによくきく?モデリング
Iwao Harada
 
How to be an agile programmer.
Tsuyoshi Ushio
 
AWS Summit Chicago 2016発表のサービスアップデートまとめ
Amazon Web Services Japan
 
そろそろ(おまえらの)DevOpsについて一言いっておくか
Takashi Takebayashi
 
[db tech showcase Tokyo 2016] D24: データベース環境における検証結果から理解する失敗しないフラッシュ活用法 第三章 ~デ...
Insight Technology, Inc.
 
Scrum Bangalore 18th Meetup - October 15, 2016 - Agile Architecture - Deepak ...
Scrum Bangalore
 
KVM環境におけるネットワーク速度ベンチマーク
VirtualTech Japan Inc.
 
IoT and Evolution of Mobile Networks toward 5G
Osaka University
 
「レガシーコード」とはいったい?
Hiroyuki Ohnaka
 
ギガビット無線機 Siklu の製品紹介 2016
Nitta Tetsuya
 
Sue445 Style TDD #atest_hack
Go Sueyoshi (a.k.a sue445)
 
my-spirit-of-tdd
Yu Asano
 
Ad

Similar to CodeZineAcademy TDD実践講座PR資料 (20)

PDF
テストの視点を活用した TDD アプローチの検討とその検証
Akira Ikeda
 
PDF
「最強」のチームを「造る」技術基盤 ディレクターズ・カット
Rakuten Group, Inc.
 
PDF
#NagoyaTesting アジャイルなテストの見積りと計画づくり
kyon mm
 
PDF
アジャイルなテストの見積もりと計画作り
kyon mm
 
PDF
Tdd is really dead ?
Akira Suenami
 
PDF
Introduction to Continuous Testing
Atsuhiro Kubo
 
PDF
TDDを一年やってみました ~シロート集団がTDDをやってはまったこと~
Tomomi Kajita
 
PDF
ワンクリックデプロイ101 #ocdeploy
Ryutaro YOSHIBA
 
PDF
TDDBC横浜3rd
Yasui Tsutomu
 
PDF
nseg第5回勉強会
ko ty
 
PDF
『はじめてのClojure』勉強会#3 第7章:テスト、テスト、テスト
makopi 23
 
PPTX
分散開発チームによるAgile開発実践 ~いろいろハマった!よかった
Makoto Iguchi
 
PDF
ITS fidel
Fidel Softech P. Ltd
 
PDF
GCSアジャイル開発を使ったゲームの作り方
Hiroyuki Tanaka
 
PDF
わんくま名古屋#25(20121201) TDD道場#13 ~ Metroアプリをテストファーストするときのポイント
Yasuhiko Yamamoto
 
PDF
今、おさえておきたい DevOps
智治 長沢
 
PDF
チーム×ツール Team Foundation Server & Service 共感しActionできる開発基盤 アルティメイタム【デブサミ 2013 ...
智治 長沢
 
PDF
TDDってなんなの?(What is TDD)
seichi23
 
PDF
Emergent Design - ObLove 2009 summer
Takuto Wada
 
PDF
【Agile Conference tokyo 2011】 継続的フィードバック
智治 長沢
 
テストの視点を活用した TDD アプローチの検討とその検証
Akira Ikeda
 
「最強」のチームを「造る」技術基盤 ディレクターズ・カット
Rakuten Group, Inc.
 
#NagoyaTesting アジャイルなテストの見積りと計画づくり
kyon mm
 
アジャイルなテストの見積もりと計画作り
kyon mm
 
Tdd is really dead ?
Akira Suenami
 
Introduction to Continuous Testing
Atsuhiro Kubo
 
TDDを一年やってみました ~シロート集団がTDDをやってはまったこと~
Tomomi Kajita
 
ワンクリックデプロイ101 #ocdeploy
Ryutaro YOSHIBA
 
TDDBC横浜3rd
Yasui Tsutomu
 
nseg第5回勉強会
ko ty
 
『はじめてのClojure』勉強会#3 第7章:テスト、テスト、テスト
makopi 23
 
分散開発チームによるAgile開発実践 ~いろいろハマった!よかった
Makoto Iguchi
 
GCSアジャイル開発を使ったゲームの作り方
Hiroyuki Tanaka
 
わんくま名古屋#25(20121201) TDD道場#13 ~ Metroアプリをテストファーストするときのポイント
Yasuhiko Yamamoto
 
今、おさえておきたい DevOps
智治 長沢
 
チーム×ツール Team Foundation Server & Service 共感しActionできる開発基盤 アルティメイタム【デブサミ 2013 ...
智治 長沢
 
TDDってなんなの?(What is TDD)
seichi23
 
Emergent Design - ObLove 2009 summer
Takuto Wada
 
【Agile Conference tokyo 2011】 継続的フィードバック
智治 長沢
 
Ad

More from Yasui Tsutomu (20)

PDF
カンバンゲーム カード(全種類) 裏あり
Yasui Tsutomu
 
PDF
アジャイルとスクラムとは 原則、価値、プラクティス
Yasui Tsutomu
 
PDF
アジャイルとスクラムとは 原則、価値、プラクティス
Yasui Tsutomu
 
PDF
ジョイ・インク 役職も部署もない全員主役のマネジメント
Yasui Tsutomu
 
PDF
アジャイルってなにが美味しいの
Yasui Tsutomu
 
PDF
アジャイルコーチが現場で学んだプロダクトオーナーの実際と勘所 POの二番目に大事なことと
Yasui Tsutomu
 
PDF
LeSS Study material (LeSS introduction)
Yasui Tsutomu
 
PPTX
The Kanban Game
Yasui Tsutomu
 
PDF
三島teNet第9回ワークショップ アジャイルな開発とは(公開版)
Yasui Tsutomu
 
PDF
大きな泥のカタマリを相手にするためのアジャイルと努力と苦労 by Joe Yoder (XP祭り2014)
Yasui Tsutomu
 
PPTX
カンバンゲーム
Yasui Tsutomu
 
PDF
Agile Japan2014クロージングセッションのカード
Yasui Tsutomu
 
PDF
Agile Japan2014 クロージングセッション
Yasui Tsutomu
 
PDF
永和コンサル式プレゼン作成法(公開用)
Yasui Tsutomu
 
PDF
英語の達人に聞く、英語勉強法の本当のトコロ!
Yasui Tsutomu
 
PPTX
Automate your functional testing
Yasui Tsutomu
 
PPTX
ワインバーグ スーパーエンジニアへの道
Yasui Tsutomu
 
PDF
ペアプロワークショップ
Yasui Tsutomu
 
PDF
TDD研究会 デブサミ2012 コミュニティLT
Yasui Tsutomu
 
PDF
スクラムプロジェクト逆計画ゲーム プロジェクトダッシュボード
Yasui Tsutomu
 
カンバンゲーム カード(全種類) 裏あり
Yasui Tsutomu
 
アジャイルとスクラムとは 原則、価値、プラクティス
Yasui Tsutomu
 
アジャイルとスクラムとは 原則、価値、プラクティス
Yasui Tsutomu
 
ジョイ・インク 役職も部署もない全員主役のマネジメント
Yasui Tsutomu
 
アジャイルってなにが美味しいの
Yasui Tsutomu
 
アジャイルコーチが現場で学んだプロダクトオーナーの実際と勘所 POの二番目に大事なことと
Yasui Tsutomu
 
LeSS Study material (LeSS introduction)
Yasui Tsutomu
 
The Kanban Game
Yasui Tsutomu
 
三島teNet第9回ワークショップ アジャイルな開発とは(公開版)
Yasui Tsutomu
 
大きな泥のカタマリを相手にするためのアジャイルと努力と苦労 by Joe Yoder (XP祭り2014)
Yasui Tsutomu
 
カンバンゲーム
Yasui Tsutomu
 
Agile Japan2014クロージングセッションのカード
Yasui Tsutomu
 
Agile Japan2014 クロージングセッション
Yasui Tsutomu
 
永和コンサル式プレゼン作成法(公開用)
Yasui Tsutomu
 
英語の達人に聞く、英語勉強法の本当のトコロ!
Yasui Tsutomu
 
Automate your functional testing
Yasui Tsutomu
 
ワインバーグ スーパーエンジニアへの道
Yasui Tsutomu
 
ペアプロワークショップ
Yasui Tsutomu
 
TDD研究会 デブサミ2012 コミュニティLT
Yasui Tsutomu
 
スクラムプロジェクト逆計画ゲーム プロジェクトダッシュボード
Yasui Tsutomu
 

CodeZineAcademy TDD実践講座PR資料