SlideShare a Scribd company logo
DevLove 2012

 世界をすこしだけ
前に進めるということ
#devlove2012a

         グロースエクスパートナーズ(株)
                    和智 右桂
イノベーション?




  Ahchan and iPad http://www.flickr.com/photos/jetalone/4694268917/ by jetalone
JavaEE勉強会 所属             Yukei Wachi


 グロースエクスパートナーズ株式会社 勤務


      和智 右桂
 ネコ好き
               IT アーキテクト
                           @digitalsoul0124
 Digital Romanticism
         http://d.hatena.ne.jp/digitalsoul
                               Photo by @digitalsoul0124 All rights reserved.
エンタープライズと
現場へのこだわり
バランス

  開発      翻訳

       プレゼン
in Summer
マイルストーン




  Milestone http://www.flickr.com/photos/pluralzed/107713803/ by pluralzed
GOOSの価値は?
アジェンダ

•
テスト駆動開発の進化
•進化の正体
•すこしだけ、前に

                        スライド中で使用されている画像について、
     その著作権の全部または一部は、 クレジットに示した著者によって保留されています。

                        Photo by @digitalsoul0124 All rights reserved.
テスト駆動開発の
   進化
2002   2007
二重の
ループ
開発スタイルとしての
        完成

   何をどう作るのか?
フィードバックループ
リリース
       バックログ
               ペアプログラミング




          ユニットテスト

受け入れテスト
               日次ミーティング
フィーチャを差し込む




   Todd English's Olives http://www.flickr.com/photos/lwy/4925948800/ by LWY
オブジェクト指向観




 関連しあうオブジェクトの
          網の目
モック




  網の中のオブジェクトを
        テストする
内側の質/外側の質
受け入れテスト ユニットテスト

        システム



外側の質    内側の質
ウォーキングスケルトン
              USER
              ID     名前
              001    テスト太郎
 名前   テスト太郎




 すべてのコンポーネントを
   通過する最低限の実装
コードを書くことから
ソフトウェアを作ることへ
進化の正体
時代背景
2000




       http://www.extremeprogramming.org/map/code.html
2000-2005
フレームワークの充実



   http://fit.c2.com/   http://jbehave.org/reference/stable/index.html




 2002                          2003
2005-2010
ドキュメントの充実
2005   2007   2010
知の流れ
流れの中で
彼らは何をしたのか?




  Taylor Creek Fish http://www.flickr.com/photos/averain/2742705037/ by Averain
モックの
歩んだ道
1999               !
                 od
             Pe"
      ers!
    e!
 o G
N
2000                                                                       XP2000




Endo-Testing:
Unit Testing with Mock Objects.
                   Tim Mackinnon, Steve Freeman, Philip Craig




http://www.ccs.neu.edu/research/demeter/related-work/extreme-programming/MockObjectsFinal.PDF
モックの登場
ユニットテストはXPにとって本質的なプラ
クティスだが、コードがある程度複雑になる
と、個別にテストするのが難しくなる。
モックオブジェクトと呼ぶテクニックを
使って、ドメインコードをダミーと置き換
え、実際の機能をエミュレートしつつ、コー
ドのふるまいを検証する。
ソースコード
public void testCreationWithExistingClass() {
  myMockPackage.addContainedType(
     new MockType(EXISTING_CLASS_NAME));
  myMockWorkspace.addPackage(mockPackage);
  JUnitCreatorModel creatorModel =
    new JunitCreatorModel(myMockWorkspace,
PACKAGE_NAME);
  try {
     creatorModel.createTestCase(EXISTING_CLASS_NAME);
     fail("Should generate an exception for existing type");
  } catch (ClassExistsException ex) {
     assertEquals(EXISTING_CLASS_NAME, ex.getClassName());
  }
  myMockWorkspace.verify();
}
2004                                OOPSLA2004




Mock Roles, Not Objects
Steve Freeman, Nat Pryce, Tim Mackinnon, Joe Walnes




                                   http://jmock.org/oopsla2004.pdf
設計手法としての価値
以前は実装に集中しすぎていたが、最も大
切なのは、このテクニックにより、オブジェ
クト同士が演じるロールが強調されること
だ。
            - Tim Mackinnon



  http://www.mockobjects.com/2009/09/brief-history-of-mock-objects.html
インターフェイスの発見




  Endo-Testingでも見られた概念が
              より洗練されている
2006                    OOPSLA2006




Evolving an Embedded Domain-
Specific Language in Java
               Steve Freeman, Nat Pryce




                       http://jmock.org/oopsla2006.pdf
内部DSLとしての
jMock




   流れるようなインターフェイス
DSL本へ
ウォーキング
 スケルトン
   の
  起源
このパターンというか戦略を見つけたのは
1994年頃だった。1997年頃までに
Walking Skeletonという名前を
付けて、1999年にはIncremantal

Rearchitectureと相性がいいこと
がわかってきた。
                - Alistair Cockburn


           http://alistair.cockburn.us/Walking+skeleton
Spanning Application
             - Poppendiecks (2003)


Tracer Bullets
  - Dave Thomas & Andy Hunt (1999)
フィードバックの源泉




ウォーキング・スケルトンを基に
ビルド・テストデプロイの自動化
   River Ridge Trail by by Bruce McKay Yellow Snow Photography
        http://www.flickr.com/photos/brucemckay/5314508266/
継続的デリバリーへ
巨人の肩に乗る
ひとつずつ石を積む
すこしだけ、前に
進むべき道は
どこに見つかるだろう
実践し続けること
学び続けること




  20091204_Hermitage_library_002 http://www.flickr.com/photos/friarsbalsam/4609212148/ by Friar's Balsam
考え続けること




 thought http://www.flickr.com/photos/fresh_photo/3479598520/ by freshphoto
一歩ずつ、前に
足跡を残す
覚悟はいいか?
オレはできてる
ありがとうございました!
         Photo by @digitalsoul0124 All rights reserved.

More Related Content

世界をすこしだけ前に進めるということ