SlideShare una empresa de Scribd logo
1 de 82
Descargar para leer sin conexión
TDDのすゝめ
          2011/10/30
NDS 23rd.@まちなかキャンパス長岡
      高野 将(TAKANO Sho)
TDDのすゝめ
     =
TDDBC 長岡 0.1
          2011/10/30
NDS 23rd.@まちなかキャンパス長岡
      高野 将(TAKANO Sho)
TDDBCとは?
”TDD Boot Camp(TDDBC) とは、テスト
駆動開発(Test Driven Development)に
ついて、座学だけでなく、実習形式で
手を動かして体得することを目的とす
るイベントです。”
TDDBC Wiki より

          今回はセッションだけなので、   0.1
まず
TDDの素晴らしさを気付かせてくれた、
 TDDの伝道師 和田 卓人氏 に感謝




    http://twitter.com/#!/t_wada
自己
紹介
自己紹介
• 氏名:高野 将(TAKANO Sho)
• ハンドル:まさる
• お仕事:プログラマー兼業主夫
• Blog:まさるblog
  http://blogs.wankuma.com/masaru/
• twitter:@masaru_b_cl
• facebook:TAKANO.Sho
• はてなID:masaru_b_cl
著書
          かんたん ASP.NET
http://gihyo.jp/book/2010/978-4-7741-4306-4
Web掲載記事
.NET開発を始めるVB6プログラマーが知るべき9のこと
http://www.atmarkit.co.jp/fdotnet/chushin/greatblogentry_01/greatblogentry_01_01.html
詳しくは・・・



まさるblogで検索してください
       <(_ _)>
TDDの
すゝめ
TDDとは?
TDDとは?
“プログラム開発手法の一種で、プログラムに
必要な各機能について、最初にテストを書き(こ
れをテストファーストと言う)、そのテストが動作
する必要最低限な実装をとりあえず行った後、
コードを洗練させる、という短い工程を繰り返す
スタイルである。”
http://ja.wikipedia.org/wiki/テスト駆動開発 より
よくわからん
\(^o^)/
そんな
あなたに
TDDの
すゝめ
改めて、
TDDとは?
安心
TDDとは?
着実に一歩ずつ
TDDとは?
テスト
        手法
 ではなく

開発
手法
TDDとは?
才能

  ではなく

スキル
TDDの進め方
3つのステップ
• Red:失敗するテストを書く
• Green:テストを通すようにコードを書く
• Refactoring:テストが通る状態を維持し
  ながら、コードを整理する

     これら3つのステップを
      「小さく」「すばやく」
        繰り返し行う
ステップ1:Red
• 要件を実現するために必要な処理について
  「失敗する」テストを書く
 – コンパイルエラーも失敗に含める
• 十分に「小さい」粒度でテストを書く
 – 大きな問題は小さく分解し、各個撃破していく
ステップ2:Green
• テストが成功する「最短」のコードを書く
• 「すばやく」テストを通すためには定数を返す
  こともいとわない




         ✓
ステップ3:Refactoring
• テストが通る状態を維持したままコードを洗練
  させる
 – 挙動を変えずに構造を変える
• 必要があればテストコードも整理する
繰り返し
• 三角測量
  1つ目のテストと合わせて、より仕様を絞り込
  むテストを書く
3つのステップの
  繰り返し
3つのステップの繰り返し
3つのステップの繰り返し




    着実な道をいく
3つのステップの繰り返し




    着実な道をいく
    黄金の回転
冒頭の話に戻ると・・・
安心
• それまでに書いた全てのコードに対するテス
  トが存在する
  → コードを変更した際、どこかが壊れたら
    すぐにわかる

   常にテストに守られているという

        「安心」
        につながる
着実に一歩ずつ
• 小さく、すばやく黄金のサイクルを回す
  → 小さな目標を少しずつ実現

 行き先を定め、一歩進み、足元を固める
         つまり

   「着実に一歩ずつ」
          進める
テスト手法ではなく開発手法
• テストで仕様を表現
  → 仕様を満たす最適な設計を導く

     主眼は「テスト」ではなく
     テストを起点に進める

        「開発」
          にある
才能ではなくスキル
• TDDの進め方は3つのステップの繰り返し
  → やることは決まっているので誰でもできる

        才能ではなく、
       努力によりTDDの

       「スキル」
        を身に付ける
3つのステップ以外には
自分が最初のユーザー
•   使いやすいか?
•   名前がおかしくないか?
•   納得できるか?
•   人に見られても恥ずかしくないか?
•   etc...


    客観的な視点でコードを見直す
TDD三原則 by Uncle Bob
• 失敗するユニットテストを成功させるためにしか、
  プロダクトコードを書いてはならない。
• 失敗させるためにしか、 ユニットテストを書いて
  はならない。 コンパイルエラーは失敗に数える。
• ユニットテストを1つだけ成功させる以上に、 プロ
  ダクトコードを書いてはならない。

Uncle Bob(Robert C. Martin)
http://www.butunclebob.com/ArticleS.UncleBob.Th
eThreeRulesOfTdd
TDD三原則とは
• TDD養成ギプス
• 原則を守ることで、自動的にTDDに


ただし、あくまで

「原則」
であることを忘れずに
TDDの
 目的
一言でいえば・・・
健康を保つ
健康を保つ
• 常にGreenを維持
  → 「開発者が認識している」要件を
    満たすことが、常に保障される
• テスト可能なコード
  → 他への依存度が低い、つまりは疎結合な
    コードになるため、変更に強い
• 小さい粒度でテスト
  → 必要最低限のコードしかないため、
    理解しやすい
• 全てのコードに対するテストの存在
  → なにかの拍子に壊しても、すぐにわかる
そして・・・
コードが健康であれば、
開発者の健康も保たれる
さらに・・・
個々の開発者が健康であれば
 チームの健康も期待できる
TDDを実践してみて
最初はとにかく写経
• まずは「テスト駆動開発入門」を写経すること
  から始めた



テスト駆動開発入門
(ケント・ベック著、
 ピアソンエデュケーション刊)
http://www.amazon.co.jp/dp/4894717115
次は、どういう観点で
           テストを書くかを学んだ
• 「レガシーコード改善ガイド」でテストの書き方
  の具体例を学んだ



レガシーコード改善ガイド
(マイケル・C・フェザーズ著、翔泳社刊)
http://www.amazon.co.jp/dp/4798116831/
実装コストは多少増加する
• プロダクトコード以外にテストコードも書くため、
  非TDDに比べると実装に時間がかかるように
  なった
• ただし、最近は慣れてきたこともあり、1.2~
  1.5倍程度で済んでいる印象
• そもそも、非TDDの実装完了って本当に完
  了?というのもあるので、本当はそこまで差
  がないかもしれない
修正コストは減少する
• 実装中に積み上げたテストが存在するため、
  修正が他に影響したらすぐにわかる
• その時点で最もシンプルな設計で実装されて
  いるため、仕様変更が他の箇所へ影響を及
  ぼしにくい
実装時のテンポがよくなる
• アプリケーションを動作させるため、「ビルド」
  や「デプロイ(配置)」が必要だが、それに非
  常に時間がかかるケースがある
• TDDでは「ビルド」や「デプロイ(配置)」の待ち
  時間がなくなるため、テンポよく実装を進めら
  れるようになった
機能単位の「単体テスト」は必要
• TDDで作成するテストは、最小単位の「Unit
  Test」
• 機能単位の「単体テスト」は相変わらず必要
 – 一つの「機能」はいくつもの「処理」の相互作用で
   成り立っているため
        詳細設計      単体テスト
• ただし、非TDDに比べれば、「単体テスト」で検
  出されるバグが非常に少ない
 – 結果として品質が向上する
一つ一つの構成単位が小さくなる
• 小さくテストを作成し、実装するということから、
  自然とクラス構造やメソッドなど、プログラム
  の構成単位がシンプルに小さくなる
 – コード変更の影響が局所化される
Demo
Demo
“「Googleがらみのネタで!」Returns”
       というテーマにちなみ、
   Google発の新プログラミング言語




     でTDDのデモを行います
Demo
             FizzBuzz
最初のプレイヤーは「1」と数字を発言する。次
のプレイヤーは直前のプレイヤーの次の数字
を発言していく。ただし、3で割り切れる場合は
「Fizz」、5で割り切れる場合は 「Buzz」、両者で
割り切れる場合は 「Fizz Buzz」 を数の代わりに
発言しなければならない。
http://ja.wikipedia.org/wiki/Fizz_Buzz
Demo
もしもの時のために、事前に実施したものも用
意しています。
• TDD for FizzBuzz in Dart – Youtube
  http://www.youtube.com/watch?v=-f6bj-Z59h0
• 実際のコード
  http://try-dart-lang.appspot.com/s/VxIc
  – 使用したTestRunner
    http://www.github.com/masaru-b-cl/DartUnit/
まとめ
安心
着実に一歩ずつ
テスト
        手法
 ではなく

開発
手法
才能

  ではなく

スキル
3つのステップ
• Red:失敗するテストを書く
• Green:テストを通すようにコードを書く
• Refactoring:テストが通る状態を維持し
  ながら、コードを整理する

     これら3つのステップを
      「小さく」「すばやく」
        繰り返し行う
3つのステップの繰り返し




    着実な道をいく
    黄金の回転
健康を保つ
最後に・・・
次は TDDBC 長岡 0.5
予定している内容
• 今回の内容をざっと紹介
• もうちょっと踏み込んだ実践方法の説明
• ライブペアプログラミングしたい
というわけで
私とペアプロ


やらないか?
やってもいいよーって方は
どんな方法でもいいので
  連絡お願いします
     <(_ _)>

 こわくないよーーーっ!
おしまい



明日から早速TDDを実践してみよう!
参考資料、URL
• テスト駆動開発入門
 (ケント・ベック著、ピアソンエデュケーション刊)
 http://www.amazon.co.jp/dp/4894717115
参考資料、URL
• レガシーコード改善ガイド
 (マイケル・C・フェザーズ著、翔泳社刊)
 http://www.amazon.co.jp/dp/4798116831/
参考資料、URL
• TDDBC
  http://devtesting.jp/tddbc/
• TDD Boot Camp を開催させていただきました - t-
  wadaの日記
  http://d.hatena.ne.jp/t-wada/20091219/p1
• テスト駆動開発チートシート - やさしいデスマー
  チ
  http://d.hatena.ne.jp/shuji_w6e/20110429/1304
  079615
• TDD とは? - TDD.NET
  http://www.tdd-net.jp/whats-tdd.html
参考資料、URL
• TDDワークショップを開催しました - VOYAGE
  GROUP エンジニアブログ
 http://tech.ecnavi.co.jp/archives/5052434.html

Más contenido relacionado

La actualidad más candente

ペアプログラミング ホントのところ
ペアプログラミング ホントのところペアプログラミング ホントのところ
ペアプログラミング ホントのところTakuto Wada
 
TDDはじめる前に
TDDはじめる前にTDDはじめる前に
TDDはじめる前にYasui Tsutomu
 
自動テストの誤解とアンチパターン in 楽天 Tech Talk
自動テストの誤解とアンチパターン in 楽天 Tech Talk自動テストの誤解とアンチパターン in 楽天 Tech Talk
自動テストの誤解とアンチパターン in 楽天 Tech Talkkyon mm
 
テストファースト、自動テストを導入するという事について(@社内勉強会)
テストファースト、自動テストを導入するという事について(@社内勉強会)テストファースト、自動テストを導入するという事について(@社内勉強会)
テストファースト、自動テストを導入するという事について(@社内勉強会)kyon mm
 
SeasarCon 2009 White TDD
SeasarCon 2009 White TDDSeasarCon 2009 White TDD
SeasarCon 2009 White TDDTakuto Wada
 
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
 
2015/10/14 JJUGナイトセミナー「テスト駆動開発ここが聞きたい」
2015/10/14 JJUGナイトセミナー「テスト駆動開発ここが聞きたい」2015/10/14 JJUGナイトセミナー「テスト駆動開発ここが聞きたい」
2015/10/14 JJUGナイトセミナー「テスト駆動開発ここが聞きたい」Hiroyuki Ohnaka
 
いつでも聞けるTDD入門 #TDDBC_NAGOYA
いつでも聞けるTDD入門 #TDDBC_NAGOYAいつでも聞けるTDD入門 #TDDBC_NAGOYA
いつでも聞けるTDD入門 #TDDBC_NAGOYAkyon mm
 
Fitnesse を用いたテストの効率化について
Fitnesse を用いたテストの効率化についてFitnesse を用いたテストの効率化について
Fitnesse を用いたテストの効率化についてtecopark
 
詳解!自動結合テスト #jasst
詳解!自動結合テスト #jasst詳解!自動結合テスト #jasst
詳解!自動結合テスト #jasstkyon mm
 
レビューで保守性のためにした コメントをふりかえってみた
レビューで保守性のためにした コメントをふりかえってみたレビューで保守性のためにした コメントをふりかえってみた
レビューで保守性のためにした コメントをふりかえってみたTakhisa Hirokawa
 
アジャイルサムライ横浜道場「リファクタリング:技術的負債の返済」
アジャイルサムライ横浜道場「リファクタリング:技術的負債の返済」アジャイルサムライ横浜道場「リファクタリング:技術的負債の返済」
アジャイルサムライ横浜道場「リファクタリング:技術的負債の返済」Hiroyuki Ohnaka
 
テスト駆動開発入門
テスト駆動開発入門テスト駆動開発入門
テスト駆動開発入門Shuji Watanabe
 
第11回モヤLT 男女ペアプログラミング合コンに行ってきた
第11回モヤLT 男女ペアプログラミング合コンに行ってきた第11回モヤLT 男女ペアプログラミング合コンに行ってきた
第11回モヤLT 男女ペアプログラミング合コンに行ってきたtake4_k
 
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)Masahiro Nishimi
 
nseg第5回勉強会
nseg第5回勉強会nseg第5回勉強会
nseg第5回勉強会ko ty
 
20150715 『続・断捨離』TDDの心得編
20150715 『続・断捨離』TDDの心得編20150715 『続・断捨離』TDDの心得編
20150715 『続・断捨離』TDDの心得編nackypon
 

La actualidad más candente (20)

ペアプログラミング ホントのところ
ペアプログラミング ホントのところペアプログラミング ホントのところ
ペアプログラミング ホントのところ
 
TDDはじめる前に
TDDはじめる前にTDDはじめる前に
TDDはじめる前に
 
自動テストの誤解とアンチパターン in 楽天 Tech Talk
自動テストの誤解とアンチパターン in 楽天 Tech Talk自動テストの誤解とアンチパターン in 楽天 Tech Talk
自動テストの誤解とアンチパターン in 楽天 Tech Talk
 
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
 
Emergent Design - ObLove 2009 summer
Emergent Design - ObLove 2009 summerEmergent Design - ObLove 2009 summer
Emergent Design - ObLove 2009 summer
 
TDD のこころ
TDD のこころTDD のこころ
TDD のこころ
 
2015/10/14 JJUGナイトセミナー「テスト駆動開発ここが聞きたい」
2015/10/14 JJUGナイトセミナー「テスト駆動開発ここが聞きたい」2015/10/14 JJUGナイトセミナー「テスト駆動開発ここが聞きたい」
2015/10/14 JJUGナイトセミナー「テスト駆動開発ここが聞きたい」
 
いつでも聞けるTDD入門 #TDDBC_NAGOYA
いつでも聞けるTDD入門 #TDDBC_NAGOYAいつでも聞けるTDD入門 #TDDBC_NAGOYA
いつでも聞けるTDD入門 #TDDBC_NAGOYA
 
Fitnesse を用いたテストの効率化について
Fitnesse を用いたテストの効率化についてFitnesse を用いたテストの効率化について
Fitnesse を用いたテストの効率化について
 
詳解!自動結合テスト #jasst
詳解!自動結合テスト #jasst詳解!自動結合テスト #jasst
詳解!自動結合テスト #jasst
 
レビューで保守性のためにした コメントをふりかえってみた
レビューで保守性のためにした コメントをふりかえってみたレビューで保守性のためにした コメントをふりかえってみた
レビューで保守性のためにした コメントをふりかえってみた
 
アジャイルサムライ横浜道場「リファクタリング:技術的負債の返済」
アジャイルサムライ横浜道場「リファクタリング:技術的負債の返済」アジャイルサムライ横浜道場「リファクタリング:技術的負債の返済」
アジャイルサムライ横浜道場「リファクタリング:技術的負債の返済」
 
TDDBC横浜3rd
TDDBC横浜3rdTDDBC横浜3rd
TDDBC横浜3rd
 
テスト駆動開発入門
テスト駆動開発入門テスト駆動開発入門
テスト駆動開発入門
 
第11回モヤLT 男女ペアプログラミング合コンに行ってきた
第11回モヤLT 男女ペアプログラミング合コンに行ってきた第11回モヤLT 男女ペアプログラミング合コンに行ってきた
第11回モヤLT 男女ペアプログラミング合コンに行ってきた
 
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)
 
nseg第5回勉強会
nseg第5回勉強会nseg第5回勉強会
nseg第5回勉強会
 
20150715 『続・断捨離』TDDの心得編
20150715 『続・断捨離』TDDの心得編20150715 『続・断捨離』TDDの心得編
20150715 『続・断捨離』TDDの心得編
 

Destacado

Pull Request & TDD 入門
Pull Request & TDD 入門Pull Request & TDD 入門
Pull Request & TDD 入門ESM SEC
 
Phpではじめるオブジェクト指向(公開用)
Phpではじめるオブジェクト指向(公開用)Phpではじめるオブジェクト指向(公開用)
Phpではじめるオブジェクト指向(公開用)VOYAGE GROUP
 
OSS活動の活発さと評価の関係について
OSS活動の活発さと評価の関係についてOSS活動の活発さと評価の関係について
OSS活動の活発さと評価の関係についてTakuto Wada
 
Siklu EH-600TX Brochure JP
Siklu EH-600TX Brochure JPSiklu EH-600TX Brochure JP
Siklu EH-600TX Brochure JPNitta Tetsuya
 
ギガビット無線機 Siklu の製品紹介 2016
ギガビット無線機 Siklu の製品紹介 2016ギガビット無線機 Siklu の製品紹介 2016
ギガビット無線機 Siklu の製品紹介 2016Nitta Tetsuya
 
TDD #NagoyaTesting
TDD #NagoyaTestingTDD #NagoyaTesting
TDD #NagoyaTestingkyon mm
 
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の自殺 #TDDeX
TDDの自殺 #TDDeXTDDの自殺 #TDDeX
TDDの自殺 #TDDeXkyon mm
 
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
 
PHPのテスト名を日本語にした話
PHPのテスト名を日本語にした話PHPのテスト名を日本語にした話
PHPのテスト名を日本語にした話Norifumi Kawamoto
 
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
 

Destacado (20)

Pull Request & TDD 入門
Pull Request & TDD 入門Pull Request & TDD 入門
Pull Request & TDD 入門
 
Phpではじめるオブジェクト指向(公開用)
Phpではじめるオブジェクト指向(公開用)Phpではじめるオブジェクト指向(公開用)
Phpではじめるオブジェクト指向(公開用)
 
PHP meets NodeJS
PHP meets NodeJSPHP meets NodeJS
PHP meets NodeJS
 
OSS活動の活発さと評価の関係について
OSS活動の活発さと評価の関係についてOSS活動の活発さと評価の関係について
OSS活動の活発さと評価の関係について
 
Siklu EH-600TX Brochure JP
Siklu EH-600TX Brochure JPSiklu EH-600TX Brochure JP
Siklu EH-600TX Brochure JP
 
ギガビット無線機 Siklu の製品紹介 2016
ギガビット無線機 Siklu の製品紹介 2016ギガビット無線機 Siklu の製品紹介 2016
ギガビット無線機 Siklu の製品紹介 2016
 
20140226_TDD
20140226_TDD20140226_TDD
20140226_TDD
 
TDD #NagoyaTesting
TDD #NagoyaTestingTDD #NagoyaTesting
TDD #NagoyaTesting
 
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
 
Sue445 Style TDD #atest_hack
Sue445 Style TDD #atest_hackSue445 Style TDD #atest_hack
Sue445 Style TDD #atest_hack
 
TDDの自殺 #TDDeX
TDDの自殺 #TDDeXTDDの自殺 #TDDeX
TDDの自殺 #TDDeX
 
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入門
 
アジャイル開発
アジャイル開発アジャイル開発
アジャイル開発
 
PHPのテスト名を日本語にした話
PHPのテスト名を日本語にした話PHPのテスト名を日本語にした話
PHPのテスト名を日本語にした話
 
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
 

Similar a Tddのすゝめ

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
 
わんくま名古屋#33(20141115) TDD道場#21
わんくま名古屋#33(20141115) TDD道場#21わんくま名古屋#33(20141115) TDD道場#21
わんくま名古屋#33(20141115) TDD道場#21Yasuhiko Yamamoto
 
Visual Studio 2015 の新機能: Pex はユニットテストの福音となるか!?
Visual Studio 2015 の新機能: Pex はユニットテストの福音となるか!?Visual Studio 2015 の新機能: Pex はユニットテストの福音となるか!?
Visual Studio 2015 の新機能: Pex はユニットテストの福音となるか!?Yasuhiko Yamamoto
 
GCSアジャイル開発を使ったゲームの作り方
 GCSアジャイル開発を使ったゲームの作り方 GCSアジャイル開発を使ったゲームの作り方
GCSアジャイル開発を使ったゲームの作り方Hiroyuki Tanaka
 
わんくま名古屋 #32 (20140823) TDD道場 #20
わんくま名古屋 #32 (20140823) TDD道場 #20わんくま名古屋 #32 (20140823) TDD道場 #20
わんくま名古屋 #32 (20140823) TDD道場 #20Yasuhiko Yamamoto
 
ユニットテスト 1日目
ユニットテスト 1日目ユニットテスト 1日目
ユニットテスト 1日目Yoshiki Shibukawa
 
TDD を自分の道具にしよう
TDD を自分の道具にしようTDD を自分の道具にしよう
TDD を自分の道具にしようYuji Okazawa
 
TDDの「なぜ」に答える! (Answer in "why" of TDD)
TDDの「なぜ」に答える! (Answer in "why" of TDD)TDDの「なぜ」に答える! (Answer in "why" of TDD)
TDDの「なぜ」に答える! (Answer in "why" of TDD)seichi23
 
#NagoyaTesting アジャイルなテストの見積りと計画づくり
#NagoyaTesting アジャイルなテストの見積りと計画づくり #NagoyaTesting アジャイルなテストの見積りと計画づくり
#NagoyaTesting アジャイルなテストの見積りと計画づくり kyon mm
 
アジャイルなテストの見積もりと計画作り
アジャイルなテストの見積もりと計画作りアジャイルなテストの見積もりと計画作り
アジャイルなテストの見積もりと計画作りkyon mm
 
TDD、ペアプログラミングのすすめ
TDD、ペアプログラミングのすすめTDD、ペアプログラミングのすすめ
TDD、ペアプログラミングのすすめKyota Yasuda
 
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
 
わんくま名古屋#25(20121201) TDD道場#13 ~ Metroアプリをテストファーストするときのポイント
わんくま名古屋#25(20121201) TDD道場#13 ~ Metroアプリをテストファーストするときのポイントわんくま名古屋#25(20121201) TDD道場#13 ~ Metroアプリをテストファーストするときのポイント
わんくま名古屋#25(20121201) TDD道場#13 ~ MetroアプリをテストファーストするときのポイントYasuhiko Yamamoto
 
第4回勉強会 単体テストのすすめ
第4回勉強会 単体テストのすすめ第4回勉強会 単体テストのすすめ
第4回勉強会 単体テストのすすめhakoika-itwg
 
はこだてIKA 第4回勉強会 単体テスト
はこだてIKA 第4回勉強会 単体テストはこだてIKA 第4回勉強会 単体テスト
はこだてIKA 第4回勉強会 単体テストSeiji KOMATSU
 
TDDの原理 ~ スペック・ファースト
TDDの原理 ~ スペック・ファーストTDDの原理 ~ スペック・ファースト
TDDの原理 ~ スペック・ファーストYasuhiko Yamamoto
 
Tdd is really dead ?
Tdd is really dead ?Tdd is really dead ?
Tdd is really dead ?Akira Suenami
 
テスト駆動開発入門 - C4K Meetup#2
テスト駆動開発入門 - C4K Meetup#2テスト駆動開発入門 - C4K Meetup#2
テスト駆動開発入門 - C4K Meetup#2Masashi Shibata
 

Similar a Tddのすゝめ (20)

TDDを一年やってみました ~シロート集団がTDDをやってはまったこと~
TDDを一年やってみました ~シロート集団がTDDをやってはまったこと~TDDを一年やってみました ~シロート集団がTDDをやってはまったこと~
TDDを一年やってみました ~シロート集団がTDDをやってはまったこと~
 
TDDってなんなの?(What is TDD)
TDDってなんなの?(What is TDD)TDDってなんなの?(What is TDD)
TDDってなんなの?(What is TDD)
 
わんくま名古屋#33(20141115) TDD道場#21
わんくま名古屋#33(20141115) TDD道場#21わんくま名古屋#33(20141115) TDD道場#21
わんくま名古屋#33(20141115) TDD道場#21
 
Visual Studio 2015 の新機能: Pex はユニットテストの福音となるか!?
Visual Studio 2015 の新機能: Pex はユニットテストの福音となるか!?Visual Studio 2015 の新機能: Pex はユニットテストの福音となるか!?
Visual Studio 2015 の新機能: Pex はユニットテストの福音となるか!?
 
GCSアジャイル開発を使ったゲームの作り方
 GCSアジャイル開発を使ったゲームの作り方 GCSアジャイル開発を使ったゲームの作り方
GCSアジャイル開発を使ったゲームの作り方
 
わんくま名古屋 #32 (20140823) TDD道場 #20
わんくま名古屋 #32 (20140823) TDD道場 #20わんくま名古屋 #32 (20140823) TDD道場 #20
わんくま名古屋 #32 (20140823) TDD道場 #20
 
ユニットテスト 1日目
ユニットテスト 1日目ユニットテスト 1日目
ユニットテスト 1日目
 
TDD を自分の道具にしよう
TDD を自分の道具にしようTDD を自分の道具にしよう
TDD を自分の道具にしよう
 
TDDの「なぜ」に答える! (Answer in "why" of TDD)
TDDの「なぜ」に答える! (Answer in "why" of TDD)TDDの「なぜ」に答える! (Answer in "why" of TDD)
TDDの「なぜ」に答える! (Answer in "why" of TDD)
 
#NagoyaTesting アジャイルなテストの見積りと計画づくり
#NagoyaTesting アジャイルなテストの見積りと計画づくり #NagoyaTesting アジャイルなテストの見積りと計画づくり
#NagoyaTesting アジャイルなテストの見積りと計画づくり
 
アジャイルなテストの見積もりと計画作り
アジャイルなテストの見積もりと計画作りアジャイルなテストの見積もりと計画作り
アジャイルなテストの見積もりと計画作り
 
TDD、ペアプログラミングのすすめ
TDD、ペアプログラミングのすすめTDD、ペアプログラミングのすすめ
TDD、ペアプログラミングのすすめ
 
Tdd
TddTdd
Tdd
 
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 ...
 
わんくま名古屋#25(20121201) TDD道場#13 ~ Metroアプリをテストファーストするときのポイント
わんくま名古屋#25(20121201) TDD道場#13 ~ Metroアプリをテストファーストするときのポイントわんくま名古屋#25(20121201) TDD道場#13 ~ Metroアプリをテストファーストするときのポイント
わんくま名古屋#25(20121201) TDD道場#13 ~ Metroアプリをテストファーストするときのポイント
 
第4回勉強会 単体テストのすすめ
第4回勉強会 単体テストのすすめ第4回勉強会 単体テストのすすめ
第4回勉強会 単体テストのすすめ
 
はこだてIKA 第4回勉強会 単体テスト
はこだてIKA 第4回勉強会 単体テストはこだてIKA 第4回勉強会 単体テスト
はこだてIKA 第4回勉強会 単体テスト
 
TDDの原理 ~ スペック・ファースト
TDDの原理 ~ スペック・ファーストTDDの原理 ~ スペック・ファースト
TDDの原理 ~ スペック・ファースト
 
Tdd is really dead ?
Tdd is really dead ?Tdd is really dead ?
Tdd is really dead ?
 
テスト駆動開発入門 - C4K Meetup#2
テスト駆動開発入門 - C4K Meetup#2テスト駆動開発入門 - C4K Meetup#2
テスト駆動開発入門 - C4K Meetup#2
 

Más de 将 高野

新入社員研修の作り方 〜完全版〜 by @masaru_b_cl #nds57
新入社員研修の作り方 〜完全版〜 by @masaru_b_cl #nds57新入社員研修の作り方 〜完全版〜 by @masaru_b_cl #nds57
新入社員研修の作り方 〜完全版〜 by @masaru_b_cl #nds57将 高野
 
新しい世界の学び方 by @masaru_b_cl #nds55
新しい世界の学び方 by @masaru_b_cl #nds55新しい世界の学び方 by @masaru_b_cl #nds55
新しい世界の学び方 by @masaru_b_cl #nds55将 高野
 
C#でアプリを作ってみよう! #ngtnet
C#でアプリを作ってみよう! #ngtnetC#でアプリを作ってみよう! #ngtnet
C#でアプリを作ってみよう! #ngtnet将 高野
 
Let's LINQing! - C#におけるデータ処理 - by @masaru_b_cl #nds51
Let's LINQing! - C#におけるデータ処理 - by @masaru_b_cl #nds51Let's LINQing! - C#におけるデータ処理 - by @masaru_b_cl #nds51
Let's LINQing! - C#におけるデータ処理 - by @masaru_b_cl #nds51将 高野
 
業務アプリケーション開発を支える.NET技術 #ngtnet
業務アプリケーション開発を支える.NET技術 #ngtnet業務アプリケーション開発を支える.NET技術 #ngtnet
業務アプリケーション開発を支える.NET技術 #ngtnet将 高野
 
仕事が捗る! Office & エディター操作入門 #nds40
仕事が捗る! Office & エディター操作入門 #nds40仕事が捗る! Office & エディター操作入門 #nds40
仕事が捗る! Office & エディター操作入門 #nds40将 高野
 
OWIN - .NETにおけるPSGI -
OWIN - .NETにおけるPSGI -OWIN - .NETにおけるPSGI -
OWIN - .NETにおけるPSGI -将 高野
 
設計(≒デザイン)の話をしよう #nds35
設計(≒デザイン)の話をしよう #nds35設計(≒デザイン)の話をしよう #nds35
設計(≒デザイン)の話をしよう #nds35将 高野
 
Lightweight C#
Lightweight C#Lightweight C#
Lightweight C#将 高野
 
はじめてのReleaseブランチ運用(svn編)
はじめてのReleaseブランチ運用(svn編)はじめてのReleaseブランチ運用(svn編)
はじめてのReleaseブランチ運用(svn編)将 高野
 
効率10倍UP 秀丸IDE化法
効率10倍UP 秀丸IDE化法効率10倍UP 秀丸IDE化法
効率10倍UP 秀丸IDE化法将 高野
 
Lets Enjoy C#!
Lets Enjoy C#!Lets Enjoy C#!
Lets Enjoy C#!将 高野
 
Hello ".NET" World
Hello ".NET" WorldHello ".NET" World
Hello ".NET" World将 高野
 

Más de 将 高野 (16)

新入社員研修の作り方 〜完全版〜 by @masaru_b_cl #nds57
新入社員研修の作り方 〜完全版〜 by @masaru_b_cl #nds57新入社員研修の作り方 〜完全版〜 by @masaru_b_cl #nds57
新入社員研修の作り方 〜完全版〜 by @masaru_b_cl #nds57
 
新しい世界の学び方 by @masaru_b_cl #nds55
新しい世界の学び方 by @masaru_b_cl #nds55新しい世界の学び方 by @masaru_b_cl #nds55
新しい世界の学び方 by @masaru_b_cl #nds55
 
C#でアプリを作ってみよう! #ngtnet
C#でアプリを作ってみよう! #ngtnetC#でアプリを作ってみよう! #ngtnet
C#でアプリを作ってみよう! #ngtnet
 
Let's LINQing! - C#におけるデータ処理 - by @masaru_b_cl #nds51
Let's LINQing! - C#におけるデータ処理 - by @masaru_b_cl #nds51Let's LINQing! - C#におけるデータ処理 - by @masaru_b_cl #nds51
Let's LINQing! - C#におけるデータ処理 - by @masaru_b_cl #nds51
 
業務アプリケーション開発を支える.NET技術 #ngtnet
業務アプリケーション開発を支える.NET技術 #ngtnet業務アプリケーション開発を支える.NET技術 #ngtnet
業務アプリケーション開発を支える.NET技術 #ngtnet
 
仕事が捗る! Office & エディター操作入門 #nds40
仕事が捗る! Office & エディター操作入門 #nds40仕事が捗る! Office & エディター操作入門 #nds40
仕事が捗る! Office & エディター操作入門 #nds40
 
OWIN - .NETにおけるPSGI -
OWIN - .NETにおけるPSGI -OWIN - .NETにおけるPSGI -
OWIN - .NETにおけるPSGI -
 
設計(≒デザイン)の話をしよう #nds35
設計(≒デザイン)の話をしよう #nds35設計(≒デザイン)の話をしよう #nds35
設計(≒デザイン)の話をしよう #nds35
 
Lightweight C#
Lightweight C#Lightweight C#
Lightweight C#
 
はじめてのReleaseブランチ運用(svn編)
はじめてのReleaseブランチ運用(svn編)はじめてのReleaseブランチ運用(svn編)
はじめてのReleaseブランチ運用(svn編)
 
git-svn
git-svngit-svn
git-svn
 
GTD on RTM
GTD on RTMGTD on RTM
GTD on RTM
 
効率10倍UP 秀丸IDE化法
効率10倍UP 秀丸IDE化法効率10倍UP 秀丸IDE化法
効率10倍UP 秀丸IDE化法
 
Choi LINQ
Choi LINQChoi LINQ
Choi LINQ
 
Lets Enjoy C#!
Lets Enjoy C#!Lets Enjoy C#!
Lets Enjoy C#!
 
Hello ".NET" World
Hello ".NET" WorldHello ".NET" World
Hello ".NET" World
 

Último

Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsWSO2
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptxsn679259
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 

Último (10)

Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 

Tddのすゝめ