SlideShare ist ein Scribd-Unternehmen logo
1 von 148
Downloaden Sie, um offline zu lesen
テスト駆動開発者は
3周目に死ぬのか
和田 卓人 (a.k.a id:t-wada)
Jul, 7th 2009 @ object club
自己
紹介
自己紹介
名前: 和田 卓人 (わだ たくと)
ブログ: 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過去記事の特設サイトと動画も
デベロッパーテスティング・ライブ - 自信を持ってコードを書くための
心・技・体 -
【徹底討論】テストなんていらない?! -テストを、どこまでやる
べきか?
パネルディスカッション:テストを行うこと、テストを続けること
デブサミ
よろしく
おねがい
します
今日喋ること
•ピラミッドを組み上げる
•ピラミッドの中に入る(戻る)
•黄金の回転について
“TDD done strictly from the
YAGNI principle leads to an
architectural meltdown
around iteration three.”
TDD を YAGNI 原則に則って厳格に行うな
らば、3イテレーション目でアーキテクチャ
が破綻するであろう
“TDD done strictly from the
YAGNI principle leads to an
architectural meltdown
around iteration three.”
TDD を YAGNI 原則に則って厳格に行うな
らば、3イテレーション目でアーキテクチャ
が破綻するであろう
Jim CoplienBob Martin
第一部
ピラミッド
を組み上げる
Emergent Design
Test Driven
Development
Refactoring
Pattern Driven
Development
Code Qualities
Principles Practices PathologiesWisdom
Unit Testing Patterns
創発的設計
テスト駆動開発
リファクタリング
パターン駆動開発
コードの質
原則叡知
ユニットテスト パターン
プラクティス 病理学
Emergent Design is the process of evolving systems in
response to changing requirements, better
understanding of existing requirements, and in
response to new opportunities that arise from new
technology, better ideas, and a changing world.
創発的設計とは仕様の変更や、既存の仕様のより
深い理解、また新たな技術、よりよいアイデア、
環境の変化などに適応してシステムを進化させる
プロセスである
創発的設計とは
創発的設計
テスト駆動開発
リファクタリング
パターン駆動開発
コードの質
原則叡知
ユニットテスト パターン
プラクティス 病理学
Code Quality
解析容易性
変更容易性
安定性
テスト容易性
創発的設計
テスト駆動開発
リファクタリング
パターン駆動開発
コードの質
原則叡知
ユニットテスト パターン
プラクティス 病理学
Pathologies
名前を付けるのが難しい
長いテストコード
長いプロダクトコード/メソッド
(例)凝集度不足
•パターンへ昇華
•Anti-Patterns
•リファクタリングの兆し
•Code Smells
Pathologies
創発的設計
テスト駆動開発
リファクタリング
パターン駆動開発
コードの質
原則叡知
ユニットテスト パターン
プラクティス 病理学
Wisdom
先人の知恵
巨人の肩
c2.com
FLOSS
藤野さん
平鍋さん
天野さん
懸田さん
矢崎さん
小井土さん
福井さん
井上樹さん
河合さん
佃さん
中谷さん
平澤さん
梅澤さん
友野さん
長瀬さん
金澤さん
浅海さん
原田洋子さん
萩本さん
伊藤さん
創発的設計
テスト駆動開発
リファクタリング
パターン駆動開発
コードの質
原則叡知
ユニットテスト パターン
プラクティス 病理学
Principles
Single Responsibility
Open-Closed
Liscov Substitution
Interface Segregation
Dependency Inversion
SOLID Principle
Don t Repeat Yourself
Law of Demeter
Principles
創発的設計
テスト駆動開発
リファクタリング
パターン駆動開発
コードの質
原則叡知
ユニットテスト パターン
プラクティス 病理学
Practices
スタイル
名前
道具
三本柱
©Artek ( http://www.artek.fi/ )
バージョン管理
テスティング
自動化
バージョン管理
テスティング
自動化
自働化
XFD
詳しくは小井土さんセッションで
創発的設計
テスト駆動開発
リファクタリング
パターン駆動開発
コードの質
原則叡知
ユニットテスト パターン
プラクティス 病理学
バージョン管理
テスティング
自動化
テストの分類
Developer
Testing
開発者
開発促進
Customer
Testing
顧客
(のロール)
進捗管理
QA
Testing
品質保証
担当者
(のロール)
品質保証
「テスト」
Developer Testingとは
•プログラマの
•プログラマによる
•プログラマのための
•プログラムとしてのテストを書きながら
•開発を行っていく手法
xUnit
バグ発見とコスト
•即座にフィードバックを得るため
•書いたコードに自信を持つため
•これから書くコードに自信を持つため
Developer Testing に
ソフトウェア工学的なメリットはいろいろある
けれど、最大の理由は工学的なものではない。
最大の理由は心理的なもの
どこをテスト
すべき?
デバッガじゃ
だめなの?
創発的設計
テスト駆動開発
リファクタリング
パターン駆動開発
コードの質
原則叡知
ユニットテスト パターン
プラクティス 病理学
リファクタリング(名)
外部から見たときの振る舞いを
保ちつつ、理解や修正が簡単に
なるように、ソフトウェアの内
部構造を変更させること
リファクタリング(動)
一連のリファクタリングを行っ
て、外部から見た振る舞いの変
更なしに、ソフトウェアを再構
築すること
理解や修正のために
•コードを理解しやすく
•コードを修正しやすく
•コードをシンプルにすること
が、シンプル設計への道
リファクタリング
•ボトムアップ設計の核
•全ての中でリファクタリングだ
けが、物事を後から改善できる
•「向き」が大事
リファクタリ
ングに終わり
はあるのか?
創発的設計
テスト駆動開発
リファクタリング
パターン駆動開発
コードの質
原則叡知
ユニットテスト パターン
プラクティス 病理学
Patterns
語彙
形式
共有
(例)Facade
Context
外部要因に依存する複雑なサブシステ
ムがある
Force
複雑化する内部実装に依存しないよう
にしたい
Solution
Facade Patternを導入し、シンプルな
interfaceの背後に複雑な内部を隠 する
創発的設計
テスト駆動開発
リファクタリング
パターン駆動開発
コードの質
原則叡知
ユニットテスト パターン
プラクティス 病理学
TDDとは
1. テストを書き
2. そのテストを実行して失敗させ(Red)
3. 目的のコードを書き
4. 1で書いたテストを成功させ(Green)
5. テストが通るままでリファクタリング
を行う(Refactor)
6. 1∼5を繰り返す
• a test driven developer does not write a line of production
code until he has written a failing unit test, and no production
code can be written until there is a failing unit test
• you do not write more of a unit test than is sufficient to fail,
and “not compiling” is failing. So you cannot write very much
of the unit test before you must write production code;
• you cannot write more production code than is sufficient to
pass the currently failing test. So you cannot write a little bit of
a unit test and then run off and write a whole bunch of
production code.
Discipline
TDDの
こころ
一つずつ
少しずつ
ひとりずつ
対処する。
複数を相手
にしない。
動作する、きれいなコードへ
きれい
汚い
(すぐには)動かない 動作する
二つの道がある
すばやく
まわす
きれい
汚い
(すぐには)動かない 動作する
Red
Green
Refactoring
TDDと黄金の回転
自分が最初の
ユーザ
不安を
テストに
ボールは
ひとつ
TDDは
テスト技法では
ない
TDDは
品質を
保証しない
TDDは
品質を
向上する
TDDは
設計技法です
テストは目的
ではなく手段
TDDの
真の目的
健康
変化に対応す
るのは健康体
のコード
変化に対応す
るのは健康体
のチーム
不安の克服
健康の維持
創発的設計
テスト駆動開発
リファクタリング
パターン駆動開発
コードの質
原則叡知
ユニットテスト パターン
プラクティス 病理学
“TDD done strictly from the
YAGNI principle leads to an
architectural meltdown
around iteration three.”
TDD を YAGNI 原則に則って厳格に行うな
らば、3イテレーション目でアーキテクチャ
が破綻するであろう
Jim CoplienBob Martin
誤解を解く
•全てのコードをゼロから書くわ
けではない
•BDUF - ENUF - YAGNI
•スタートでもゴールでもある
見えているのに?
•「目配せ」と「快晴」
•Simple と Naive
•経験と叡知
•内なる声を聴く
創発的設計
テスト駆動開発
リファクタリング
パターン駆動開発
コードの質
原則叡知
ユニットテスト パターン
プラクティス 病理学
私たちが
気付くのは
いつ?
何が変わる?
•外が変わる
•市場
•技術
•内が変わる
•学び
•よりよいア
イデア
フィードバック
学びを
否定しない
計画する
計画し続ける
設計する
設計し続ける
Emergent Design is the process of evolving systems in
response to changing requirements, better
understanding of existing requirements, and in
response to new opportunities that arise from new
technology, better ideas, and a changing world.
創発的設計とは仕様の変更や、既存の仕様のより
深い理解、また新たな技術、よりよいアイデア、
環境の変化などに適応してシステムを進化させる
プロセスである
創発的設計とは
第二部
ピラミッド
に入る/戻る
Emergent Design
Test Driven
Development
Refactoring
Pattern Driven
Development
Code Qualities
Principles Practices PathologiesWisdom
Unit Testing Patterns
Reality Bites
現実は厳しい
Reality bites
•スタート地点の違い
•テストが無い
•データが既に入っている
•量、記憶、変化、プレッシャー
既にテストの
ないコードが
沢山ある
創発的設計
テスト駆動開発
リファクタリング
パターン駆動開発
コードの質
原則叡知
パターン
プラクティス 病理学
Edit and Pray
Cover and Modify
既にデータの
入ったデータ
ベースがある
データと戦う
•データベースもリファクタリン
グする
•本気度が高い
•長いリファクタリング期間
テストの
Paradox
テストが増えると
リファクタリング
が面倒くさくなる
Fragile
Tests
実装に
依存しすぎ
コード変えたら
テストが真っ赤
Slow Tests
テストが
遅すぎる
なぜか
テストが
足枷に
テストが
リファクタリング
支えるのでは
なかったのか?
テストの量と戦う
•減らす
•速くする
•関連を明らかにする
テストの価値の軸
•速さ
•実装との距離
•コードの重複率
•ドキュメントとしての価値
自分の記憶力と戦う
•意図を伝えるコード
•意図を伝える名前
•意図を伝える構造
•コメント(Why / Why not)
テストの
資産価値
攻め続ける
ためのテスト
なるべく
実装に
依存しない
リファクタリング
を支えるテストが
良いテスト
TDDと黄金の回転
きれい
汚い
(すぐには)動かない 動作する
Red
Green
Refactoring
テストの
資産運用
役割と
寿命
1.価値の低いテス
トの価値を高める
テストの
リファクタリング
2.価値の低いテス
トを捨て、高いテ
ストを残す
テストを
減らす
そこで
カバレッジ
Aのカバレッジが
Bのカバレッジを
内包するとき、
テストB は消せる
まとめ
創発的設計
テスト駆動開発
リファクタリング
パターン駆動開発
コードの質
原則叡知
ユニットテスト パターン
プラクティス 病理学
きれい
汚い
(すぐには)動かない 動作する
Red
Green
Refactoring
TDDと黄金の回転
おわりに
TDDはスキルです
• テストやTDDはスキルです。つまり…
• 才能ではなく、習得可能です
• 量は質に転化します
• 写経!!
ご清聴
ありがとう
ございました

Weitere ähnliche Inhalte

Was ist angesagt?

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
 
Tdd is really dead ?
Tdd is really dead ?Tdd is really dead ?
Tdd is really dead ?Akira Suenami
 
自動テストの誤解とアンチパターン in 楽天 Tech Talk
自動テストの誤解とアンチパターン in 楽天 Tech Talk自動テストの誤解とアンチパターン in 楽天 Tech Talk
自動テストの誤解とアンチパターン in 楽天 Tech Talkkyon mm
 
TDDはじめる前に
TDDはじめる前にTDDはじめる前に
TDDはじめる前にYasui Tsutomu
 
組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術Takuto Wada
 
JJUG CCC 2014 fall 「私がTDD出来ないのはどう考えてもお前らが悪い!」~エンタープライズJava開発でのTDD適用の勘所~
JJUG CCC 2014 fall  「私がTDD出来ないのはどう考えてもお前らが悪い!」~エンタープライズJava開発でのTDD適用の勘所~JJUG CCC 2014 fall  「私がTDD出来ないのはどう考えてもお前らが悪い!」~エンタープライズJava開発でのTDD適用の勘所~
JJUG CCC 2014 fall 「私がTDD出来ないのはどう考えてもお前らが悪い!」~エンタープライズJava開発でのTDD適用の勘所~Hiroyuki Ohnaka
 
テストファースト、自動テストを導入するという事について(@社内勉強会)
テストファースト、自動テストを導入するという事について(@社内勉強会)テストファースト、自動テストを導入するという事について(@社内勉強会)
テストファースト、自動テストを導入するという事について(@社内勉強会)kyon mm
 
Test Driven Development in LabVIEW
Test Driven Development in LabVIEWTest Driven Development in LabVIEW
Test Driven Development in LabVIEWYusuke Tochigi
 
Fitnesse を用いたテストの効率化について
Fitnesse を用いたテストの効率化についてFitnesse を用いたテストの効率化について
Fitnesse を用いたテストの効率化についてtecopark
 
いつでも聞けるTDD入門 #TDDBC_NAGOYA
いつでも聞けるTDD入門 #TDDBC_NAGOYAいつでも聞けるTDD入門 #TDDBC_NAGOYA
いつでも聞けるTDD入門 #TDDBC_NAGOYAkyon mm
 
ペアプログラミング ホントのところ
ペアプログラミング ホントのところペアプログラミング ホントのところ
ペアプログラミング ホントのところTakuto Wada
 
2015/10/14 JJUGナイトセミナー「テスト駆動開発ここが聞きたい」
2015/10/14 JJUGナイトセミナー「テスト駆動開発ここが聞きたい」2015/10/14 JJUGナイトセミナー「テスト駆動開発ここが聞きたい」
2015/10/14 JJUGナイトセミナー「テスト駆動開発ここが聞きたい」Hiroyuki Ohnaka
 
テスト初心者Androiderのためのソフトウェアテスト入門
テスト初心者Androiderのためのソフトウェアテスト入門テスト初心者Androiderのためのソフトウェアテスト入門
テスト初心者Androiderのためのソフトウェアテスト入門Satoshi Watanabe
 
テスト駆動開発の進化
テスト駆動開発の進化テスト駆動開発の進化
テスト駆動開発の進化Yukei Wachi
 
『はじめてのClojure』勉強会#3 第7章:テスト、テスト、テスト
『はじめてのClojure』勉強会#3 第7章:テスト、テスト、テスト『はじめてのClojure』勉強会#3 第7章:テスト、テスト、テスト
『はじめてのClojure』勉強会#3 第7章:テスト、テスト、テストmakopi 23
 
20150715 『続・断捨離』TDDの心得編
20150715 『続・断捨離』TDDの心得編20150715 『続・断捨離』TDDの心得編
20150715 『続・断捨離』TDDの心得編nackypon
 
テストを分類してみよう!
テストを分類してみよう!テストを分類してみよう!
テストを分類してみよう!Kenji Okumura
 
Pull Request & TDD 入門
Pull Request & TDD 入門Pull Request & TDD 入門
Pull Request & TDD 入門ESM SEC
 

Was ist angesagt? (20)

Hey It's Not My TDD!
Hey It's Not My TDD!Hey It's Not My TDD!
Hey It's Not My TDD!
 
Tdd is really dead ?
Tdd is really dead ?Tdd is really dead ?
Tdd is really dead ?
 
自動テストの誤解とアンチパターン in 楽天 Tech Talk
自動テストの誤解とアンチパターン in 楽天 Tech Talk自動テストの誤解とアンチパターン in 楽天 Tech Talk
自動テストの誤解とアンチパターン in 楽天 Tech Talk
 
TDDはじめる前に
TDDはじめる前にTDDはじめる前に
TDDはじめる前に
 
TDDBC横浜3rd
TDDBC横浜3rdTDDBC横浜3rd
TDDBC横浜3rd
 
組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術
 
JJUG CCC 2014 fall 「私がTDD出来ないのはどう考えてもお前らが悪い!」~エンタープライズJava開発でのTDD適用の勘所~
JJUG CCC 2014 fall  「私がTDD出来ないのはどう考えてもお前らが悪い!」~エンタープライズJava開発でのTDD適用の勘所~JJUG CCC 2014 fall  「私がTDD出来ないのはどう考えてもお前らが悪い!」~エンタープライズJava開発でのTDD適用の勘所~
JJUG CCC 2014 fall 「私がTDD出来ないのはどう考えてもお前らが悪い!」~エンタープライズJava開発でのTDD適用の勘所~
 
テストファースト、自動テストを導入するという事について(@社内勉強会)
テストファースト、自動テストを導入するという事について(@社内勉強会)テストファースト、自動テストを導入するという事について(@社内勉強会)
テストファースト、自動テストを導入するという事について(@社内勉強会)
 
Test Driven Development in LabVIEW
Test Driven Development in LabVIEWTest Driven Development in LabVIEW
Test Driven Development in LabVIEW
 
Fitnesse を用いたテストの効率化について
Fitnesse を用いたテストの効率化についてFitnesse を用いたテストの効率化について
Fitnesse を用いたテストの効率化について
 
いつでも聞けるTDD入門 #TDDBC_NAGOYA
いつでも聞けるTDD入門 #TDDBC_NAGOYAいつでも聞けるTDD入門 #TDDBC_NAGOYA
いつでも聞けるTDD入門 #TDDBC_NAGOYA
 
ペアプログラミング ホントのところ
ペアプログラミング ホントのところペアプログラミング ホントのところ
ペアプログラミング ホントのところ
 
2015/10/14 JJUGナイトセミナー「テスト駆動開発ここが聞きたい」
2015/10/14 JJUGナイトセミナー「テスト駆動開発ここが聞きたい」2015/10/14 JJUGナイトセミナー「テスト駆動開発ここが聞きたい」
2015/10/14 JJUGナイトセミナー「テスト駆動開発ここが聞きたい」
 
テスト初心者Androiderのためのソフトウェアテスト入門
テスト初心者Androiderのためのソフトウェアテスト入門テスト初心者Androiderのためのソフトウェアテスト入門
テスト初心者Androiderのためのソフトウェアテスト入門
 
テスト駆動開発の進化
テスト駆動開発の進化テスト駆動開発の進化
テスト駆動開発の進化
 
『はじめてのClojure』勉強会#3 第7章:テスト、テスト、テスト
『はじめてのClojure』勉強会#3 第7章:テスト、テスト、テスト『はじめてのClojure』勉強会#3 第7章:テスト、テスト、テスト
『はじめてのClojure』勉強会#3 第7章:テスト、テスト、テスト
 
20150715 『続・断捨離』TDDの心得編
20150715 『続・断捨離』TDDの心得編20150715 『続・断捨離』TDDの心得編
20150715 『続・断捨離』TDDの心得編
 
Sue445 Style TDD #atest_hack
Sue445 Style TDD #atest_hackSue445 Style TDD #atest_hack
Sue445 Style TDD #atest_hack
 
テストを分類してみよう!
テストを分類してみよう!テストを分類してみよう!
テストを分類してみよう!
 
Pull Request & TDD 入門
Pull Request & TDD 入門Pull Request & TDD 入門
Pull Request & TDD 入門
 

Ähnlich wie Emergent Design - ObLove 2009 summer

DevLOVE TDD : For Whom the Tests Run
DevLOVE TDD : For Whom the Tests RunDevLOVE TDD : For Whom the Tests Run
DevLOVE TDD : For Whom the Tests Runguest2724dc
 
DevLOVE TDD - For Whom the Tests Run
DevLOVE TDD - For Whom the Tests RunDevLOVE TDD - For Whom the Tests Run
DevLOVE TDD - For Whom the Tests RunTakuto Wada
 
GCSアジャイル開発を使ったゲームの作り方
 GCSアジャイル開発を使ったゲームの作り方 GCSアジャイル開発を使ったゲームの作り方
GCSアジャイル開発を使ったゲームの作り方Hiroyuki Tanaka
 
TDDを一年やってみました ~シロート集団がTDDをやってはまったこと~
TDDを一年やってみました ~シロート集団がTDDをやってはまったこと~TDDを一年やってみました ~シロート集団がTDDをやってはまったこと~
TDDを一年やってみました ~シロート集団がTDDをやってはまったこと~Tomomi Kajita
 
TDDってなんなの?(What is TDD)
TDDってなんなの?(What is TDD)TDDってなんなの?(What is TDD)
TDDってなんなの?(What is TDD)seichi23
 
わんくま名古屋#25(20121201) TDD道場#13 ~ Metroアプリをテストファーストするときのポイント
わんくま名古屋#25(20121201) TDD道場#13 ~ Metroアプリをテストファーストするときのポイントわんくま名古屋#25(20121201) TDD道場#13 ~ Metroアプリをテストファーストするときのポイント
わんくま名古屋#25(20121201) TDD道場#13 ~ MetroアプリをテストファーストするときのポイントYasuhiko Yamamoto
 
de:code 2017 [TL12] "炎上案件ストッパー"はかく語りき 「プロジェクトの成果をあげるために意識した一つの事」
de:code 2017 [TL12] "炎上案件ストッパー"はかく語りき 「プロジェクトの成果をあげるために意識した一つの事」de:code 2017 [TL12] "炎上案件ストッパー"はかく語りき 「プロジェクトの成果をあげるために意識した一つの事」
de:code 2017 [TL12] "炎上案件ストッパー"はかく語りき 「プロジェクトの成果をあげるために意識した一つの事」Takashi Takebayashi
 
[TL12] "炎上案件ストッパー"はかく語りき 「プロジェクトの成果をあげるために意識した一つの事」
[TL12] "炎上案件ストッパー"はかく語りき 「プロジェクトの成果をあげるために意識した一つの事」[TL12] "炎上案件ストッパー"はかく語りき 「プロジェクトの成果をあげるために意識した一つの事」
[TL12] "炎上案件ストッパー"はかく語りき 「プロジェクトの成果をあげるために意識した一つの事」de:code 2017
 
TDD #NagoyaTesting
TDD #NagoyaTestingTDD #NagoyaTesting
TDD #NagoyaTestingkyon mm
 
アプリ開発を効率化する 方法あれこれ
アプリ開発を効率化する 方法あれこれアプリ開発を効率化する 方法あれこれ
アプリ開発を効率化する 方法あれこれAtsushi Mizoue
 
20141101渋谷ruby会議
20141101渋谷ruby会議20141101渋谷ruby会議
20141101渋谷ruby会議Fukui Osamu
 
#NagoyaTesting アジャイルなテストの見積りと計画づくり
#NagoyaTesting アジャイルなテストの見積りと計画づくり #NagoyaTesting アジャイルなテストの見積りと計画づくり
#NagoyaTesting アジャイルなテストの見積りと計画づくり kyon mm
 
Aizu.LT16 社会人1年目の失敗とContinuous Integration
Aizu.LT16 社会人1年目の失敗とContinuous IntegrationAizu.LT16 社会人1年目の失敗とContinuous Integration
Aizu.LT16 社会人1年目の失敗とContinuous IntegrationTomoaki Tamura
 
アジャイルなテストの見積もりと計画作り
アジャイルなテストの見積もりと計画作りアジャイルなテストの見積もりと計画作り
アジャイルなテストの見積もりと計画作りkyon mm
 
JaSST'15 Tokyo 初心者向けチュートリアル -初心者からの脱出!-
JaSST'15 Tokyo 初心者向けチュートリアル -初心者からの脱出!-JaSST'15 Tokyo 初心者向けチュートリアル -初心者からの脱出!-
JaSST'15 Tokyo 初心者向けチュートリアル -初心者からの脱出!-崇 山﨑
 
どうやらテスト駆動型開発は死んだようです。これからのCI
どうやらテスト駆動型開発は死んだようです。これからのCIどうやらテスト駆動型開発は死んだようです。これからのCI
どうやらテスト駆動型開発は死んだようです。これからのCIKoichiro Sumi
 
UnitTestは最もTDDしやすいか否か? #TDDMeetUp
UnitTestは最もTDDしやすいか否か? #TDDMeetUpUnitTestは最もTDDしやすいか否か? #TDDMeetUp
UnitTestは最もTDDしやすいか否か? #TDDMeetUpkyon mm
 
「最強」のチームを「造る」技術基盤 ディレクターズ・カット
「最強」のチームを「造る」技術基盤 ディレクターズ・カット「最強」のチームを「造る」技術基盤 ディレクターズ・カット
「最強」のチームを「造る」技術基盤 ディレクターズ・カットRakuten Group, Inc.
 
2013/02/23ヒーロー島 こんな開発からあんな開発へ
2013/02/23ヒーロー島 こんな開発からあんな開発へ2013/02/23ヒーロー島 こんな開発からあんな開発へ
2013/02/23ヒーロー島 こんな開発からあんな開発へ__Black
 
TDD を自分の道具にしよう
TDD を自分の道具にしようTDD を自分の道具にしよう
TDD を自分の道具にしようYuji Okazawa
 

Ähnlich wie Emergent Design - ObLove 2009 summer (20)

DevLOVE TDD : For Whom the Tests Run
DevLOVE TDD : For Whom the Tests RunDevLOVE TDD : For Whom the Tests Run
DevLOVE TDD : For Whom the Tests Run
 
DevLOVE TDD - For Whom the Tests Run
DevLOVE TDD - For Whom the Tests RunDevLOVE TDD - For Whom the Tests Run
DevLOVE TDD - For Whom the Tests Run
 
GCSアジャイル開発を使ったゲームの作り方
 GCSアジャイル開発を使ったゲームの作り方 GCSアジャイル開発を使ったゲームの作り方
GCSアジャイル開発を使ったゲームの作り方
 
TDDを一年やってみました ~シロート集団がTDDをやってはまったこと~
TDDを一年やってみました ~シロート集団がTDDをやってはまったこと~TDDを一年やってみました ~シロート集団がTDDをやってはまったこと~
TDDを一年やってみました ~シロート集団がTDDをやってはまったこと~
 
TDDってなんなの?(What is TDD)
TDDってなんなの?(What is TDD)TDDってなんなの?(What is TDD)
TDDってなんなの?(What is TDD)
 
わんくま名古屋#25(20121201) TDD道場#13 ~ Metroアプリをテストファーストするときのポイント
わんくま名古屋#25(20121201) TDD道場#13 ~ Metroアプリをテストファーストするときのポイントわんくま名古屋#25(20121201) TDD道場#13 ~ Metroアプリをテストファーストするときのポイント
わんくま名古屋#25(20121201) TDD道場#13 ~ Metroアプリをテストファーストするときのポイント
 
de:code 2017 [TL12] "炎上案件ストッパー"はかく語りき 「プロジェクトの成果をあげるために意識した一つの事」
de:code 2017 [TL12] "炎上案件ストッパー"はかく語りき 「プロジェクトの成果をあげるために意識した一つの事」de:code 2017 [TL12] "炎上案件ストッパー"はかく語りき 「プロジェクトの成果をあげるために意識した一つの事」
de:code 2017 [TL12] "炎上案件ストッパー"はかく語りき 「プロジェクトの成果をあげるために意識した一つの事」
 
[TL12] "炎上案件ストッパー"はかく語りき 「プロジェクトの成果をあげるために意識した一つの事」
[TL12] "炎上案件ストッパー"はかく語りき 「プロジェクトの成果をあげるために意識した一つの事」[TL12] "炎上案件ストッパー"はかく語りき 「プロジェクトの成果をあげるために意識した一つの事」
[TL12] "炎上案件ストッパー"はかく語りき 「プロジェクトの成果をあげるために意識した一つの事」
 
TDD #NagoyaTesting
TDD #NagoyaTestingTDD #NagoyaTesting
TDD #NagoyaTesting
 
アプリ開発を効率化する 方法あれこれ
アプリ開発を効率化する 方法あれこれアプリ開発を効率化する 方法あれこれ
アプリ開発を効率化する 方法あれこれ
 
20141101渋谷ruby会議
20141101渋谷ruby会議20141101渋谷ruby会議
20141101渋谷ruby会議
 
#NagoyaTesting アジャイルなテストの見積りと計画づくり
#NagoyaTesting アジャイルなテストの見積りと計画づくり #NagoyaTesting アジャイルなテストの見積りと計画づくり
#NagoyaTesting アジャイルなテストの見積りと計画づくり
 
Aizu.LT16 社会人1年目の失敗とContinuous Integration
Aizu.LT16 社会人1年目の失敗とContinuous IntegrationAizu.LT16 社会人1年目の失敗とContinuous Integration
Aizu.LT16 社会人1年目の失敗とContinuous Integration
 
アジャイルなテストの見積もりと計画作り
アジャイルなテストの見積もりと計画作りアジャイルなテストの見積もりと計画作り
アジャイルなテストの見積もりと計画作り
 
JaSST'15 Tokyo 初心者向けチュートリアル -初心者からの脱出!-
JaSST'15 Tokyo 初心者向けチュートリアル -初心者からの脱出!-JaSST'15 Tokyo 初心者向けチュートリアル -初心者からの脱出!-
JaSST'15 Tokyo 初心者向けチュートリアル -初心者からの脱出!-
 
どうやらテスト駆動型開発は死んだようです。これからのCI
どうやらテスト駆動型開発は死んだようです。これからのCIどうやらテスト駆動型開発は死んだようです。これからのCI
どうやらテスト駆動型開発は死んだようです。これからのCI
 
UnitTestは最もTDDしやすいか否か? #TDDMeetUp
UnitTestは最もTDDしやすいか否か? #TDDMeetUpUnitTestは最もTDDしやすいか否か? #TDDMeetUp
UnitTestは最もTDDしやすいか否か? #TDDMeetUp
 
「最強」のチームを「造る」技術基盤 ディレクターズ・カット
「最強」のチームを「造る」技術基盤 ディレクターズ・カット「最強」のチームを「造る」技術基盤 ディレクターズ・カット
「最強」のチームを「造る」技術基盤 ディレクターズ・カット
 
2013/02/23ヒーロー島 こんな開発からあんな開発へ
2013/02/23ヒーロー島 こんな開発からあんな開発へ2013/02/23ヒーロー島 こんな開発からあんな開発へ
2013/02/23ヒーロー島 こんな開発からあんな開発へ
 
TDD を自分の道具にしよう
TDD を自分の道具にしようTDD を自分の道具にしよう
TDD を自分の道具にしよう
 

Mehr von Takuto Wada

OSS活動の活発さと評価の関係について
OSS活動の活発さと評価の関係についてOSS活動の活発さと評価の関係について
OSS活動の活発さと評価の関係についてTakuto Wada
 
unassert - encourage reliable programming by writing assertions in production
unassert - encourage reliable programming by writing assertions in productionunassert - encourage reliable programming by writing assertions in production
unassert - encourage reliable programming by writing assertions in productionTakuto Wada
 
OSS についてあれこれ
OSS についてあれこれOSS についてあれこれ
OSS についてあれこれTakuto Wada
 
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」Takuto Wada
 
power-assert, mechanism and philosophy
power-assert, mechanism and philosophypower-assert, mechanism and philosophy
power-assert, mechanism and philosophyTakuto Wada
 
アジャイルサムライの次に読む技術書
アジャイルサムライの次に読む技術書アジャイルサムライの次に読む技術書
アジャイルサムライの次に読む技術書Takuto Wada
 
テスト用ライブラリ power-assert
テスト用ライブラリ power-assertテスト用ライブラリ power-assert
テスト用ライブラリ power-assertTakuto Wada
 
Reviewing RESTful Web Apps
Reviewing RESTful Web AppsReviewing RESTful Web Apps
Reviewing RESTful Web AppsTakuto Wada
 
power-assert in JavaScript
power-assert in JavaScriptpower-assert in JavaScript
power-assert in JavaScriptTakuto Wada
 
テストを書く文化を育てる戦略と戦術
テストを書く文化を育てる戦略と戦術テストを書く文化を育てる戦略と戦術
テストを書く文化を育てる戦略と戦術Takuto Wada
 
私にとってのテスト
私にとってのテスト私にとってのテスト
私にとってのテストTakuto Wada
 
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)Takuto Wada
 
SQLアンチパターン - 開発者を待ち受ける25の落とし穴
SQLアンチパターン - 開発者を待ち受ける25の落とし穴SQLアンチパターン - 開発者を待ち受ける25の落とし穴
SQLアンチパターン - 開発者を待ち受ける25の落とし穴Takuto Wada
 
愛せないコードを書くには人生はあまりにも短い
愛せないコードを書くには人生はあまりにも短い愛せないコードを書くには人生はあまりにも短い
愛せないコードを書くには人生はあまりにも短いTakuto Wada
 
RESTful Web アプリの設計レビューの話
RESTful Web アプリの設計レビューの話RESTful Web アプリの設計レビューの話
RESTful Web アプリの設計レビューの話Takuto Wada
 
例外設計における大罪
例外設計における大罪例外設計における大罪
例外設計における大罪Takuto Wada
 
TDDBC Fukuoka Day1
TDDBC Fukuoka Day1TDDBC Fukuoka Day1
TDDBC Fukuoka Day1Takuto Wada
 
js テスト放浪記
js テスト放浪記js テスト放浪記
js テスト放浪記Takuto Wada
 

Mehr von Takuto Wada (20)

OSS活動の活発さと評価の関係について
OSS活動の活発さと評価の関係についてOSS活動の活発さと評価の関係について
OSS活動の活発さと評価の関係について
 
unassert - encourage reliable programming by writing assertions in production
unassert - encourage reliable programming by writing assertions in productionunassert - encourage reliable programming by writing assertions in production
unassert - encourage reliable programming by writing assertions in production
 
OSS についてあれこれ
OSS についてあれこれOSS についてあれこれ
OSS についてあれこれ
 
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
 
power-assert, mechanism and philosophy
power-assert, mechanism and philosophypower-assert, mechanism and philosophy
power-assert, mechanism and philosophy
 
アジャイルサムライの次に読む技術書
アジャイルサムライの次に読む技術書アジャイルサムライの次に読む技術書
アジャイルサムライの次に読む技術書
 
テスト用ライブラリ power-assert
テスト用ライブラリ power-assertテスト用ライブラリ power-assert
テスト用ライブラリ power-assert
 
Reviewing RESTful Web Apps
Reviewing RESTful Web AppsReviewing RESTful Web Apps
Reviewing RESTful Web Apps
 
power-assert in JavaScript
power-assert in JavaScriptpower-assert in JavaScript
power-assert in JavaScript
 
テストを書く文化を育てる戦略と戦術
テストを書く文化を育てる戦略と戦術テストを書く文化を育てる戦略と戦術
テストを書く文化を育てる戦略と戦術
 
私にとってのテスト
私にとってのテスト私にとってのテスト
私にとってのテスト
 
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
 
SQLアンチパターン - 開発者を待ち受ける25の落とし穴
SQLアンチパターン - 開発者を待ち受ける25の落とし穴SQLアンチパターン - 開発者を待ち受ける25の落とし穴
SQLアンチパターン - 開発者を待ち受ける25の落とし穴
 
愛せないコードを書くには人生はあまりにも短い
愛せないコードを書くには人生はあまりにも短い愛せないコードを書くには人生はあまりにも短い
愛せないコードを書くには人生はあまりにも短い
 
RESTful Web アプリの設計レビューの話
RESTful Web アプリの設計レビューの話RESTful Web アプリの設計レビューの話
RESTful Web アプリの設計レビューの話
 
例外設計における大罪
例外設計における大罪例外設計における大罪
例外設計における大罪
 
TDDBC お題
TDDBC お題TDDBC お題
TDDBC お題
 
DevLOVE DDDBC
DevLOVE DDDBCDevLOVE DDDBC
DevLOVE DDDBC
 
TDDBC Fukuoka Day1
TDDBC Fukuoka Day1TDDBC Fukuoka Day1
TDDBC Fukuoka Day1
 
js テスト放浪記
js テスト放浪記js テスト放浪記
js テスト放浪記
 

Emergent Design - ObLove 2009 summer