SlideShare uma empresa Scribd logo
1 de 78
Baixar para ler offline
誰が為のテスト
- 千里の道も一歩から -
和田 卓人 (a.k.a id:t-wada)
Jun, 22 2009 @ DevLOVE
自己
紹介
自己紹介
名前: 和田 卓人 (わだ たくと)
ブログ: http://d.hatena.ne.jp/t-wada
メール: takuto.wada@towersquest.jp
Twitter: http://twitter.com/t_wada
タワーズ・クエスト株式会社
取締役社長
これまで書いたもの
WEB + DB PRESS
vol.35 「実演! テスト駆動開発」
vol.37 「実演! リファクタリング」
vol.42 「REST特集」
vol.49 「DRY特集」
LifeHacks PRESS
オープンソースマガジン(リレーコラム)
他いろいろ
gihyo.jpの連載
『[動画で解説]和田卓人の テスト駆動開発 講座』
http://gihyo.jp/dev/serial/01/tdd/
全20回すべて動画付き解説
ニコニコ動画でも見れます
WEB+DB過去記事の特設サイトと動画も
デベロッパーテスティング・ライブ - 自信を持ってコードを書くための
心・技・体 -
【徹底討論】テストなんていらない?! -テストを、どこまでやる
べきか?
パネルディスカッション:テストを行うこと、テストを続けること
デブサミ
よろしく
おねがい
します
大事なこ
とから
感謝
私をここに
立たせてくれた
全てのひとに
30分で
こころを
持ち帰って
もらいたい
2009年
5月30日
papanda
さん達と
打ち合わせ
受け取った
思い
伝えたい
こと
まず己から変わる
自分と向き合う
鍛錬する
背中を見せる
2000年
生意気な
大学生
アナパタ
勉強会
@OGIS
2001年
完璧な
設計を
求めて
敗北
2002年
2003年
大規模
プロジェクト
ひたすら
読書
Fowlerの思い
 
UMLのエッセンス
Refactoring
XPシリーズ
深夜の
写経
masarl
さん
KentB
生原稿
TDD の
会得へ
2004年
7月1日
チーム
かくたに
全てを
ぶつける
2004年
以前の私へ
私たちの手を
止めるものは
何か
不安
開発方法論は
不安克服の
歴史
TDDもまた
不安克服の
手法です
TDDとは
1. テストを書き
2. そのテストを実行して失敗させ(Red)
3. 目的のコードを書き
4. 1で書いたテストを成功させ(Green)
5. テストが通るままでリファクタリングを
行う(Refactor)
6. 1∼5を繰り返す
テストの分類
Developer
Testing
開発者
開発促進
Customer
Testing
顧客
(のロール)
進捗管理
QA
Testing
品質保証
担当者
(のロール)
品質保証
「テスト」
Developer Testingとは
•プログラマの
•プログラマによる
•プログラマのための
•プログラムとしてのテストを書きながら
•開発を行っていく手法
フィードバック
自分のバカさと
向き合う
•即座にフィードバックを得るため
•書いたコードに自信を持つため
•これから書くコードに自信を持つため
Developer Testing に
ソフトウェア工学的なメリットはいろいろある
けれど、最大の理由は工学的なものではない。
最大の理由は心理的なもの
TDDの
こころ
動作する、きれいなコードへ
きれい
汚い
(すぐには)動かない 動作する
二つの道がある
一つずつ
少しずつ
ひとりずつ
対処する。
複数を相手
にしない。
すばやく
まわす
不安を
テストに
きれい
汚い
(すぐには)動かない 動作する
Red
Green
Refactoring
TDDと黄金の回転
なぜリファ
クタリング
するのか?
TDDの
真の目的
私たちが
気付くのは
いつ?
フィードバック
学びを
否定しない
計画する
設計する
計画し続ける
設計し続ける
テストは目的
ではなく手段
TDDは品質を
保証しない
TDDは品質を
向上させる
TDDは
テスト技法では
ない
変化を常態と
する
TDDの
真の目的
健康
変化に対応す
るのは健康体
のコード
変化に対応す
るのは健康体
のチーム
不安の克服
健康の維持
テストのない
コードが沢山
あるんだけど
誰が為の
テスト?
いまの自分
未来の自分
いまの仲間
未来の仲間
一人でも
始められる
テストは人
の為ならず
おわりに
テストはスキルです
• テストやTDDはスキルです。つまり…
• 才能ではなく、習得可能です
• 量は質に転化します
• 写経!!
ご清聴
ありがとう
ございました

Mais conteúdo relacionado

Destaque (9)

Changing teaching practices unesco
Changing teaching practices unescoChanging teaching practices unesco
Changing teaching practices unesco
 
Avodart
AvodartAvodart
Avodart
 
Application Exercise
Application ExerciseApplication Exercise
Application Exercise
 
Bystolic
BystolicBystolic
Bystolic
 
Mind Your Steps
Mind Your StepsMind Your Steps
Mind Your Steps
 
Advair
AdvairAdvair
Advair
 
Arimidex
ArimidexArimidex
Arimidex
 
Sample interview experiences and questions
Sample interview experiences and questionsSample interview experiences and questions
Sample interview experiences and questions
 
Buy Aciphex Rabeprazole Online
Buy Aciphex Rabeprazole OnlineBuy Aciphex Rabeprazole Online
Buy Aciphex Rabeprazole Online
 

Semelhante a DevLOVE TDD : For Whom the Tests Run

Emergent Design - ObLove 2009 summer
Emergent Design - ObLove 2009 summerEmergent Design - ObLove 2009 summer
Emergent Design - ObLove 2009 summerTakuto Wada
 
Tokyo Rubykaigi 01 t-wada
Tokyo Rubykaigi 01 t-wadaTokyo Rubykaigi 01 t-wada
Tokyo Rubykaigi 01 t-wadaTakuto Wada
 
ソフトウェアテスト・ヒストリーの学び方 (WACATE 2010冬 クロージングセッション) 20101219
ソフトウェアテスト・ヒストリーの学び方 (WACATE 2010冬 クロージングセッション) 20101219ソフトウェアテスト・ヒストリーの学び方 (WACATE 2010冬 クロージングセッション) 20101219
ソフトウェアテスト・ヒストリーの学び方 (WACATE 2010冬 クロージングセッション) 20101219Keizo Tatsumi
 
CodeZineAcademy TDD実践講座PR資料
CodeZineAcademy TDD実践講座PR資料CodeZineAcademy TDD実践講座PR資料
CodeZineAcademy TDD実践講座PR資料Yasui Tsutomu
 
わんくま名古屋#25(20121201) TDD道場#13 ~ Metroアプリをテストファーストするときのポイント
わんくま名古屋#25(20121201) TDD道場#13 ~ Metroアプリをテストファーストするときのポイントわんくま名古屋#25(20121201) TDD道場#13 ~ Metroアプリをテストファーストするときのポイント
わんくま名古屋#25(20121201) TDD道場#13 ~ MetroアプリをテストファーストするときのポイントYasuhiko Yamamoto
 
TDDをやってみた
TDDをやってみたTDDをやってみた
TDDをやってみたYuta Kawadai
 
わんくま名古屋#34(20150214) TDD道場#22
わんくま名古屋#34(20150214) TDD道場#22わんくま名古屋#34(20150214) TDD道場#22
わんくま名古屋#34(20150214) TDD道場#22Yasuhiko Yamamoto
 
わんくま名古屋 #32 (20140823) TDD道場 #20
わんくま名古屋 #32 (20140823) TDD道場 #20わんくま名古屋 #32 (20140823) TDD道場 #20
わんくま名古屋 #32 (20140823) TDD道場 #20Yasuhiko Yamamoto
 

Semelhante a DevLOVE TDD : For Whom the Tests Run (9)

Emergent Design - ObLove 2009 summer
Emergent Design - ObLove 2009 summerEmergent Design - ObLove 2009 summer
Emergent Design - ObLove 2009 summer
 
TDDBC横浜3rd
TDDBC横浜3rdTDDBC横浜3rd
TDDBC横浜3rd
 
Tokyo Rubykaigi 01 t-wada
Tokyo Rubykaigi 01 t-wadaTokyo Rubykaigi 01 t-wada
Tokyo Rubykaigi 01 t-wada
 
ソフトウェアテスト・ヒストリーの学び方 (WACATE 2010冬 クロージングセッション) 20101219
ソフトウェアテスト・ヒストリーの学び方 (WACATE 2010冬 クロージングセッション) 20101219ソフトウェアテスト・ヒストリーの学び方 (WACATE 2010冬 クロージングセッション) 20101219
ソフトウェアテスト・ヒストリーの学び方 (WACATE 2010冬 クロージングセッション) 20101219
 
CodeZineAcademy TDD実践講座PR資料
CodeZineAcademy TDD実践講座PR資料CodeZineAcademy TDD実践講座PR資料
CodeZineAcademy TDD実践講座PR資料
 
わんくま名古屋#25(20121201) TDD道場#13 ~ Metroアプリをテストファーストするときのポイント
わんくま名古屋#25(20121201) TDD道場#13 ~ Metroアプリをテストファーストするときのポイントわんくま名古屋#25(20121201) TDD道場#13 ~ Metroアプリをテストファーストするときのポイント
わんくま名古屋#25(20121201) TDD道場#13 ~ Metroアプリをテストファーストするときのポイント
 
TDDをやってみた
TDDをやってみたTDDをやってみた
TDDをやってみた
 
わんくま名古屋#34(20150214) TDD道場#22
わんくま名古屋#34(20150214) TDD道場#22わんくま名古屋#34(20150214) TDD道場#22
わんくま名古屋#34(20150214) TDD道場#22
 
わんくま名古屋 #32 (20140823) TDD道場 #20
わんくま名古屋 #32 (20140823) TDD道場 #20わんくま名古屋 #32 (20140823) TDD道場 #20
わんくま名古屋 #32 (20140823) TDD道場 #20
 

Último

モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 

Último (9)

モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 

DevLOVE TDD : For Whom the Tests Run