SlideShare a Scribd company logo
TDDを自分の道具にしよう


   id:yujiorama
    @yujiorama



   わんくま同盟 名古屋勉強会 #20
自己紹介
• 千葉から来ました(たぶん初めて?)
• n次請けシステム開発屋
• 技術リードみたいなことをしたり、PLみたいな
  ことをしてます
• Cが好きです。C++はもっと好きです。
• (一番好きなのはRubyです)




        わんくま同盟 名古屋勉強会 #20
私たちの開発の進め方を変
   えてみませんか?


    わんくま同盟 名古屋勉強会 #20
アジェンダ
• 仕様化テストを書きましょう
• 設計しましょう
• リファクタリングをしましょう
• テストもリファクタリングしましょう
• テストが何を保証しているのか思い出しましょ
  う
• 最終的に残るものを確認しましょう



        わんくま同盟 名古屋勉強会 #20
仕様化テストを書きましょう



    わんくま同盟 名古屋勉強会 #20
仕様が提示されるところから私たちの仕事が始
       まることが多いと思います。
 (TDDBC や今回のワークショップではお題)

私たちが最初にすることは、仕様を動作可能な
  プログラム言語で表現することです。


        わんくま同盟 名古屋勉強会 #20
仕様化テストを書きましょう
• 仕様をテストケースにする
• テスト設計の観点でテストケースを追加する




        わんくま同盟 名古屋勉強会 #20
仕様をテストケースにする


仕様は、お客様が理解できなければいけないの
  で自然言語や図を使って表現されます

私たちプログラマーは、この仕様をプログラミ
     ング言語で表現します。

      何故でしょうか?

       わんくま同盟 名古屋勉強会 #20
仕様をテストケースにする




実行して、その振る舞いを検証することが
       できるからです。




       わんくま同盟 名古屋勉強会 #20
仕様をテストケースにする

仕様を、プログラミング言語で忠実に表現するこ
       とに注力しましょう。

あまりにも汚かったり冗長になってしまう場合は
 、組み込み DSL などの技法を適用しましょう。

大事なのは、後から読んでも理解しやすいテ
    ストケースを作成することです。

        わんくま同盟 名古屋勉強会 #20
テスト設計の観点

  テストの設計という観点があります。

仕様から必要なテストを導き出すための大切な
         観点です。
同値分割、境界値分析、ドメイン分析などがよく
      使われると思います。
テスト設計の観点から導かれるテストケー
       スを書きましょう。

       わんくま同盟 名古屋勉強会 #20
ところで




わんくま同盟 名古屋勉強会 #20
仕様に対する理解は十分でしょうか?
   (まだ何のコードも書いていません!)

仕様に対する理解が曖昧な場合、分かっている
 範囲で先に進んでまた戻ってくればよいと思
         います。

私は、それができるのが TDD の利点だと考え
         ています

       わんくま同盟 名古屋勉強会 #20
設計しましょう


 わんくま同盟 名古屋勉強会 #20
仕様をプログラミング言語によってテストケース
    という形にすることができました。

  コンパイルすら通らないかもしれません。

それも含めて、次にやらなければならないこと
      を洗い出しましょう。


       わんくま同盟 名古屋勉強会 #20
設計しましょう
• タスクリストを書き出す
• タスクリストをテストにする
• 不安をテストにする




          わんくま同盟 名古屋勉強会 #20
タスクリストを書き出す

今、私たちが相手をしているのは、1 つの仕様
    (という名のテストケース) です。

このテストケースが成功するために必要な事柄
    を思い付く限り洗い出しましょう。
       「○○クラスを作る」
      「△△メソッドを作る」
      「☆☆関数を作る」…

       わんくま同盟 名古屋勉強会 #20
タスクリストを書き出す
大事なのは、1 つのタスクが完了することで、
 1 つのモノ・コトが出来あがっていることです
                。
問題を分割するという行為を自然に行えるよう
          になりましょう。
             詳細は
      「テストリストの見つけ方」
        (@shuji_w6e さん)
       を参考にしてください。
       わんくま同盟 名古屋勉強会 #20
タスクリストをテストケースにする

タスクの中には「●●というメソッドを作る」とい
     うものがあるかもしれません。

 オブジェクト指向設計において、メソッドは 1
       つの設計要素です。

入力と出力が明らかになっているなら、それ
を確認するためのテストケースを書きましょう。

        わんくま同盟 名古屋勉強会 #20
不安をテストにする
タスクの中には「■パターンで○クラスを作る」
    というものがあるかもしれません。

自分がよく使っているデザインパターンであれ
ば、抑えるべきポイントは明らかかもしれませ
          ん。

  しかし、あまり使わないデザインパターン
 (Flighweight パターンとか) ではどうでしょう
                 か?
          わんくま同盟 名古屋勉強会 #20
不安をテストにする


私なら、ちゃんと書けているか自信がありません
          (=不安)。

  考えたとおりの振る舞いになっているか
 どうかを確認するためのテストケースを書くこ
         とでしょう。


       わんくま同盟 名古屋勉強会 #20
リファクタリングしましょう


    わんくま同盟 名古屋勉強会 #20
設計 (実装) ができてきました。

仕様化テストを通すための必要最低限の実
        装です。

ハードコーディングされた定数、if 文、while
文、などなど気になるところもあるでしょう。


       わんくま同盟 名古屋勉強会 #20
これらをきれいにして、保守しやすいコードにす
    る営みがリファクタリングです。

リファタリングの最重要事項は、最終的に仕様
化テストが成功することを維持しつつ、リファク
タリングを行う前よりもコードをきれいにするこ
         とです。


       わんくま同盟 名古屋勉強会 #20
リファクタリングしましょう
• 順を追って進める
• 新たなインターフェース境界ができたら




        わんくま同盟 名古屋勉強会 #20
順を追って進める
ここに至るまでのリズムはアレグロな感じだと思
     うので、リズムを変えましょう。

リファクタリングは、一歩一歩、順番を守って進め
        ることが大事です。

その都度、テストを実行して、期待した通りの結
 果になることを確認しながら進めていきましょ
           う。
        わんくま同盟 名古屋勉強会 #20
新たなインターフェース境界ができたら
リファクタリングをすると、新しいインターフェース
    やクラスが登場することがあります。

もし、インターフェースの境界が増えたのならば、
  そこに関するテストケースも追加しましょう。




        わんくま同盟 名古屋勉強会 #20
新たなインターフェース境界ができたら
インターフェースの境界は、拡張ポイントとして
 必要になるから発生したのだと考えられます。

拡張ポイントについて後からコードを追加してい
 く人にとって、そのテストケースはよいサンプル
       コードとなるでしょう。




        わんくま同盟 名古屋勉強会 #20
テストもリファクタリングし
     ましょう

    わんくま同盟 名古屋勉強会 #20
仕様について設計(実装)が終わりました。

目の前には、設計段階で洗い出したタスクリスト
  や、不安に対するテストが並んでいます。

これらを放置しておくと、あっという間にゴミのよ
      うになってしまいます。

        わんくま同盟 名古屋勉強会 #20
テストもリファクタリングしましょう
• 重複したテスト
• 同じフィクスチャーを使っているテスト




        わんくま同盟 名古屋勉強会 #20
重複したテスト
仕様化テストで動作の検証が済んでいるコード
 については、設計時に作成したテストケースは
  、ざっくりと削除してもよいかもしれません。

設計レベルでの変更があるかもしれない、という
 意味で、インターフェース境界のテストは残し
     ておいたほうがよいでしょう。



          わんくま同盟 名古屋勉強会 #20
同じフィクスチャーを使っているテスト
  同じフィクスチャーを使っているテスト
 は、Shared Fixture パターンにリファクタリン
         グするとよいでしょう。

              詳細は
       「xUnit Test Patterns」
         (xUTP読書会Wiki)
        を参照してください。

           わんくま同盟 名古屋勉強会 #20
テストが何を保証してい
 るか確認しましょう

   わんくま同盟 名古屋勉強会 #20
「コードカバレッジは 100% です」これが何を意
    味するのか私には分かりません。

テストで全てのパスを通過していれば、問題は
      無いのでしょうか?

 TDD で書いたテストは、「仕様についての理
 解度」、「設計に対する自信」を保証している
           のです。

        わんくま同盟 名古屋勉強会 #20
テストが何を保証しているか確認しましょう
• テストカバレッジ




         わんくま同盟 名古屋勉強会 #20
テストカバレッジ
大事なのは、システム (コンポーネント) の振る
 舞いの定義域のうち、どれだけの領域がテス
 トされているかを表す指標値です。

私はこれがテストカバレッジの定義だと思ってい
 るのですが、具体的な定義については知らな
 いので、勉強しないといけないなと考えていま
 す。


        わんくま同盟 名古屋勉強会 #20
最終的に残るものを確認
    しましょう

   わんくま同盟 名古屋勉強会 #20
最終的に残るものを確認しましょう
回帰テストのために残すべきテストにはどういっ
      たものがあるでしょうか。

テストケースのリファクタリングによって数は減
    らされたとはいえ、これだけは
残しておきたいというものを挙げるとすると、次
      の 3 種類が残ります。




       わんくま同盟 名古屋勉強会 #20
最終的に残るものを確認しましょう
1. 仕様化テスト
2. インターフェース境界のテスト
3. テスト設計の観点で追加されたテスト

特に 3 のテストについては、品質保証 (Quality
  Assuarance) にも関連すると思うのですが、
  私はまだそこまでカバーできる知識が足りな
  いので、識者の方に教えていただきたい分
  野です。
         わんくま同盟 名古屋勉強会 #20
以上です。
ご清聴ありがとうございました。




        わんくま同盟 名古屋勉強会 #20
宣伝
• 第6回 Growing Object-Oriented Software,
  Guided by Tests読書会( #goos_jp )
  – http://atnd.org/events/23826
  – #goos_jp
• ぺけま 0004 号
  – http://devtesting.jp/pekema/
  – #xutp
• インフラ&アプリエンジニア合同合宿
  – https://sites.google.com/site/infrapp2012/
  – #infrapp2012


                  わんくま同盟 名古屋勉強会 #20

More Related Content

Viewers also liked

見えないモノを見ようとしてSNMP MIBを覗き込んだ
見えないモノを見ようとしてSNMP MIBを覗き込んだ見えないモノを見ようとしてSNMP MIBを覗き込んだ
見えないモノを見ようとしてSNMP MIBを覗き込んだ
Kaoru Kitauchi
 
Pc基礎講座マニュアル(前期)
Pc基礎講座マニュアル(前期)Pc基礎講座マニュアル(前期)
Pc基礎講座マニュアル(前期)ofunato
 
『これからはじめるプログラミング基礎の基礎』 のエッセンス
『これからはじめるプログラミング基礎の基礎』 のエッセンス『これからはじめるプログラミング基礎の基礎』 のエッセンス
『これからはじめるプログラミング基礎の基礎』 のエッセンス
Ayumu Kohiyama
 
Unix1
Unix1Unix1
20130928 JAWS Festa Kansai 2013 SonicGarden流devops
20130928 JAWS Festa Kansai 2013 SonicGarden流devops20130928 JAWS Festa Kansai 2013 SonicGarden流devops
20130928 JAWS Festa Kansai 2013 SonicGarden流devops
Teruo Adachi
 
はじめてのハッカソンVol.7(2015 1-17)
はじめてのハッカソンVol.7(2015 1-17)はじめてのハッカソンVol.7(2015 1-17)
はじめてのハッカソンVol.7(2015 1-17)Marie Suenaga
 
ネットワーク講習
ネットワーク講習ネットワーク講習
ネットワーク講習
komekome09
 
【Interop Tokyo 2015】 DC 2: Cisco ACI とファイアウォール&ロード バランサ連携
【Interop Tokyo 2015】 DC 2: Cisco ACI とファイアウォール&ロード バランサ連携【Interop Tokyo 2015】 DC 2: Cisco ACI とファイアウォール&ロード バランサ連携
【Interop Tokyo 2015】 DC 2: Cisco ACI とファイアウォール&ロード バランサ連携
シスコシステムズ合同会社
 
wakamonog6 ルーティングチュートリアル 〜サービスの成長とネットワークの変遷〜
wakamonog6 ルーティングチュートリアル 〜サービスの成長とネットワークの変遷〜wakamonog6 ルーティングチュートリアル 〜サービスの成長とネットワークの変遷〜
wakamonog6 ルーティングチュートリアル 〜サービスの成長とネットワークの変遷〜
Kazuki Nakano
 
クラウドがシステム運用を変革させる
クラウドがシステム運用を変革させるクラウドがシステム運用を変革させる
クラウドがシステム運用を変革させる
UNIRITA Incorporated
 
2014-10-27 #ssmjp 腹を割って話そう (運用xセキュリティ)
2014-10-27 #ssmjp 腹を割って話そう (運用xセキュリティ)2014-10-27 #ssmjp 腹を割って話そう (運用xセキュリティ)
2014-10-27 #ssmjp 腹を割って話そう (運用xセキュリティ)
Operation Lab, LLC.
 
第1回プログラミング大学in福岡
第1回プログラミング大学in福岡第1回プログラミング大学in福岡
第1回プログラミング大学in福岡
Ryu Yamashita
 
OSの歴史
OSの歴史OSの歴史
OSの歴史
慎太郎 佐藤
 
講座Linux入門・サーバOSとしてのLinux
講座Linux入門・サーバOSとしてのLinux講座Linux入門・サーバOSとしてのLinux
講座Linux入門・サーバOSとしてのLinux
Tokai University
 
Mk network programmability-03
Mk network programmability-03Mk network programmability-03
Mk network programmability-03
Miya Kohno
 
Unix 基礎
Unix 基礎Unix 基礎
Unix 基礎Sho A
 
そろそろSSH/Telnetを離れて自動化したい
そろそろSSH/Telnetを離れて自動化したいそろそろSSH/Telnetを離れて自動化したい
そろそろSSH/Telnetを離れて自動化したい
netopscoding
 
リーダになったら大切にしたい4つの要素
リーダになったら大切にしたい4つの要素リーダになったら大切にしたい4つの要素
リーダになったら大切にしたい4つの要素
Kunimitsu Masuda
 
2015.6.5 EMC主催OpenStackセミナー - 日本仮想化技術様講演スライド
2015.6.5 EMC主催OpenStackセミナー - 日本仮想化技術様講演スライド2015.6.5 EMC主催OpenStackセミナー - 日本仮想化技術様講演スライド
2015.6.5 EMC主催OpenStackセミナー - 日本仮想化技術様講演スライド
EMC Japan
 
OpenContrailのソースコードを探検しよう!
OpenContrailのソースコードを探検しよう!OpenContrailのソースコードを探検しよう!
OpenContrailのソースコードを探検しよう!
Takashi Sogabe
 

Viewers also liked (20)

見えないモノを見ようとしてSNMP MIBを覗き込んだ
見えないモノを見ようとしてSNMP MIBを覗き込んだ見えないモノを見ようとしてSNMP MIBを覗き込んだ
見えないモノを見ようとしてSNMP MIBを覗き込んだ
 
Pc基礎講座マニュアル(前期)
Pc基礎講座マニュアル(前期)Pc基礎講座マニュアル(前期)
Pc基礎講座マニュアル(前期)
 
『これからはじめるプログラミング基礎の基礎』 のエッセンス
『これからはじめるプログラミング基礎の基礎』 のエッセンス『これからはじめるプログラミング基礎の基礎』 のエッセンス
『これからはじめるプログラミング基礎の基礎』 のエッセンス
 
Unix1
Unix1Unix1
Unix1
 
20130928 JAWS Festa Kansai 2013 SonicGarden流devops
20130928 JAWS Festa Kansai 2013 SonicGarden流devops20130928 JAWS Festa Kansai 2013 SonicGarden流devops
20130928 JAWS Festa Kansai 2013 SonicGarden流devops
 
はじめてのハッカソンVol.7(2015 1-17)
はじめてのハッカソンVol.7(2015 1-17)はじめてのハッカソンVol.7(2015 1-17)
はじめてのハッカソンVol.7(2015 1-17)
 
ネットワーク講習
ネットワーク講習ネットワーク講習
ネットワーク講習
 
【Interop Tokyo 2015】 DC 2: Cisco ACI とファイアウォール&ロード バランサ連携
【Interop Tokyo 2015】 DC 2: Cisco ACI とファイアウォール&ロード バランサ連携【Interop Tokyo 2015】 DC 2: Cisco ACI とファイアウォール&ロード バランサ連携
【Interop Tokyo 2015】 DC 2: Cisco ACI とファイアウォール&ロード バランサ連携
 
wakamonog6 ルーティングチュートリアル 〜サービスの成長とネットワークの変遷〜
wakamonog6 ルーティングチュートリアル 〜サービスの成長とネットワークの変遷〜wakamonog6 ルーティングチュートリアル 〜サービスの成長とネットワークの変遷〜
wakamonog6 ルーティングチュートリアル 〜サービスの成長とネットワークの変遷〜
 
クラウドがシステム運用を変革させる
クラウドがシステム運用を変革させるクラウドがシステム運用を変革させる
クラウドがシステム運用を変革させる
 
2014-10-27 #ssmjp 腹を割って話そう (運用xセキュリティ)
2014-10-27 #ssmjp 腹を割って話そう (運用xセキュリティ)2014-10-27 #ssmjp 腹を割って話そう (運用xセキュリティ)
2014-10-27 #ssmjp 腹を割って話そう (運用xセキュリティ)
 
第1回プログラミング大学in福岡
第1回プログラミング大学in福岡第1回プログラミング大学in福岡
第1回プログラミング大学in福岡
 
OSの歴史
OSの歴史OSの歴史
OSの歴史
 
講座Linux入門・サーバOSとしてのLinux
講座Linux入門・サーバOSとしてのLinux講座Linux入門・サーバOSとしてのLinux
講座Linux入門・サーバOSとしてのLinux
 
Mk network programmability-03
Mk network programmability-03Mk network programmability-03
Mk network programmability-03
 
Unix 基礎
Unix 基礎Unix 基礎
Unix 基礎
 
そろそろSSH/Telnetを離れて自動化したい
そろそろSSH/Telnetを離れて自動化したいそろそろSSH/Telnetを離れて自動化したい
そろそろSSH/Telnetを離れて自動化したい
 
リーダになったら大切にしたい4つの要素
リーダになったら大切にしたい4つの要素リーダになったら大切にしたい4つの要素
リーダになったら大切にしたい4つの要素
 
2015.6.5 EMC主催OpenStackセミナー - 日本仮想化技術様講演スライド
2015.6.5 EMC主催OpenStackセミナー - 日本仮想化技術様講演スライド2015.6.5 EMC主催OpenStackセミナー - 日本仮想化技術様講演スライド
2015.6.5 EMC主催OpenStackセミナー - 日本仮想化技術様講演スライド
 
OpenContrailのソースコードを探検しよう!
OpenContrailのソースコードを探検しよう!OpenContrailのソースコードを探検しよう!
OpenContrailのソースコードを探検しよう!
 

Similar to TDD を自分の道具にしよう

Sue445 Style TDD #atest_hack
Sue445 Style TDD #atest_hackSue445 Style TDD #atest_hack
Sue445 Style TDD #atest_hack
Go Sueyoshi (a.k.a sue445)
 
XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」
XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」
XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」
Shuji Morisaki
 
#NagoyaTesting アジャイルなテストの見積りと計画づくり
#NagoyaTesting アジャイルなテストの見積りと計画づくり #NagoyaTesting アジャイルなテストの見積りと計画づくり
#NagoyaTesting アジャイルなテストの見積りと計画づくり kyon mm
 
アジャイルなテストの見積もりと計画作り
アジャイルなテストの見積もりと計画作りアジャイルなテストの見積もりと計画作り
アジャイルなテストの見積もりと計画作り
kyon mm
 
仕様七変化
仕様七変化仕様七変化
仕様七変化
galluda
 
大規模ソフトウェア開発とテストの経験について
大規模ソフトウェア開発とテストの経験について大規模ソフトウェア開発とテストの経験について
大規模ソフトウェア開発とテストの経験について
Rakuten Group, Inc.
 
GCSアジャイル開発を使ったゲームの作り方
 GCSアジャイル開発を使ったゲームの作り方 GCSアジャイル開発を使ったゲームの作り方
GCSアジャイル開発を使ったゲームの作り方
Hiroyuki Tanaka
 
2015/10/14 JJUGナイトセミナー「テスト駆動開発ここが聞きたい」
2015/10/14 JJUGナイトセミナー「テスト駆動開発ここが聞きたい」2015/10/14 JJUGナイトセミナー「テスト駆動開発ここが聞きたい」
2015/10/14 JJUGナイトセミナー「テスト駆動開発ここが聞きたい」
Hiroyuki Ohnaka
 
テストを分類してみよう!
テストを分類してみよう!テストを分類してみよう!
テストを分類してみよう!
Kenji Okumura
 
CodeZineAcademy TDD実践講座PR資料
CodeZineAcademy TDD実践講座PR資料CodeZineAcademy TDD実践講座PR資料
CodeZineAcademy TDD実践講座PR資料
Yasui Tsutomu
 
Scrum,Test,Metrics #sgt2016
Scrum,Test,Metrics #sgt2016Scrum,Test,Metrics #sgt2016
Scrum,Test,Metrics #sgt2016
kyon mm
 
分散開発チームによるAgile開発実践 ~いろいろハマった!よかった
分散開発チームによるAgile開発実践 ~いろいろハマった!よかった分散開発チームによるAgile開発実践 ~いろいろハマった!よかった
分散開発チームによるAgile開発実践 ~いろいろハマった!よかった
Makoto Iguchi
 
ソフトウェア開発の現場風景
ソフトウェア開発の現場風景ソフトウェア開発の現場風景
ソフトウェア開発の現場風景
Koichi ITO
 
TDDはじめる前に
TDDはじめる前にTDDはじめる前に
TDDはじめる前に
Yasui Tsutomu
 
JaSST'15 Tokyo 初心者向けチュートリアル -初心者からの脱出!-
JaSST'15 Tokyo 初心者向けチュートリアル -初心者からの脱出!-JaSST'15 Tokyo 初心者向けチュートリアル -初心者からの脱出!-
JaSST'15 Tokyo 初心者向けチュートリアル -初心者からの脱出!-
崇 山﨑
 
ソースコードの品質向上のための効果的で効率的なコードレビュー
ソースコードの品質向上のための効果的で効率的なコードレビューソースコードの品質向上のための効果的で効率的なコードレビュー
ソースコードの品質向上のための効果的で効率的なコードレビューMoriharu Ohzu
 
テスト勉強会よしおか100311 1
テスト勉強会よしおか100311 1テスト勉強会よしおか100311 1
テスト勉強会よしおか100311 1
Hiro Yoshioka
 
TDDBC osaka 2012/06/02
TDDBC osaka 2012/06/02TDDBC osaka 2012/06/02
TDDBC osaka 2012/06/02Hiro Yoshioka
 
テストとリファクタリングに関する深い方法論 #wewlc_jp
テストとリファクタリングに関する深い方法論 #wewlc_jpテストとリファクタリングに関する深い方法論 #wewlc_jp
テストとリファクタリングに関する深い方法論 #wewlc_jp
kyon mm
 

Similar to TDD を自分の道具にしよう (20)

Sue445 Style TDD #atest_hack
Sue445 Style TDD #atest_hackSue445 Style TDD #atest_hack
Sue445 Style TDD #atest_hack
 
XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」
XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」
XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」
 
#NagoyaTesting アジャイルなテストの見積りと計画づくり
#NagoyaTesting アジャイルなテストの見積りと計画づくり #NagoyaTesting アジャイルなテストの見積りと計画づくり
#NagoyaTesting アジャイルなテストの見積りと計画づくり
 
アジャイルなテストの見積もりと計画作り
アジャイルなテストの見積もりと計画作りアジャイルなテストの見積もりと計画作り
アジャイルなテストの見積もりと計画作り
 
仕様七変化
仕様七変化仕様七変化
仕様七変化
 
大規模ソフトウェア開発とテストの経験について
大規模ソフトウェア開発とテストの経験について大規模ソフトウェア開発とテストの経験について
大規模ソフトウェア開発とテストの経験について
 
GCSアジャイル開発を使ったゲームの作り方
 GCSアジャイル開発を使ったゲームの作り方 GCSアジャイル開発を使ったゲームの作り方
GCSアジャイル開発を使ったゲームの作り方
 
2015/10/14 JJUGナイトセミナー「テスト駆動開発ここが聞きたい」
2015/10/14 JJUGナイトセミナー「テスト駆動開発ここが聞きたい」2015/10/14 JJUGナイトセミナー「テスト駆動開発ここが聞きたい」
2015/10/14 JJUGナイトセミナー「テスト駆動開発ここが聞きたい」
 
テストを分類してみよう!
テストを分類してみよう!テストを分類してみよう!
テストを分類してみよう!
 
CodeZineAcademy TDD実践講座PR資料
CodeZineAcademy TDD実践講座PR資料CodeZineAcademy TDD実践講座PR資料
CodeZineAcademy TDD実践講座PR資料
 
Scrum,Test,Metrics #sgt2016
Scrum,Test,Metrics #sgt2016Scrum,Test,Metrics #sgt2016
Scrum,Test,Metrics #sgt2016
 
分散開発チームによるAgile開発実践 ~いろいろハマった!よかった
分散開発チームによるAgile開発実践 ~いろいろハマった!よかった分散開発チームによるAgile開発実践 ~いろいろハマった!よかった
分散開発チームによるAgile開発実践 ~いろいろハマった!よかった
 
ソフトウェア開発の現場風景
ソフトウェア開発の現場風景ソフトウェア開発の現場風景
ソフトウェア開発の現場風景
 
TDDはじめる前に
TDDはじめる前にTDDはじめる前に
TDDはじめる前に
 
JaSST'15 Tokyo 初心者向けチュートリアル -初心者からの脱出!-
JaSST'15 Tokyo 初心者向けチュートリアル -初心者からの脱出!-JaSST'15 Tokyo 初心者向けチュートリアル -初心者からの脱出!-
JaSST'15 Tokyo 初心者向けチュートリアル -初心者からの脱出!-
 
ソースコードの品質向上のための効果的で効率的なコードレビュー
ソースコードの品質向上のための効果的で効率的なコードレビューソースコードの品質向上のための効果的で効率的なコードレビュー
ソースコードの品質向上のための効果的で効率的なコードレビュー
 
テスト勉強会よしおか100311 1
テスト勉強会よしおか100311 1テスト勉強会よしおか100311 1
テスト勉強会よしおか100311 1
 
TDDBC osaka 2012/06/02
TDDBC osaka 2012/06/02TDDBC osaka 2012/06/02
TDDBC osaka 2012/06/02
 
テストとリファクタリングに関する深い方法論 #wewlc_jp
テストとリファクタリングに関する深い方法論 #wewlc_jpテストとリファクタリングに関する深い方法論 #wewlc_jp
テストとリファクタリングに関する深い方法論 #wewlc_jp
 
java-ja TDD 2nd
java-ja TDD 2ndjava-ja TDD 2nd
java-ja TDD 2nd
 

TDD を自分の道具にしよう