狠狠撸

狠狠撸Share a Scribd company logo
『闯鲍苍颈迟実践入门』
     写経?実践会 in 横浜 #2
              2013/01/12(土) at 横浜タネマキ




                   1
13年1月13日日曜日                             1
横浜タネマキなう! ?#junitbook




              2
13年1月13日日曜日               2
横浜タネマキ




                3
13年1月13日日曜日            3
横浜タネマキ




                4
13年1月13日日曜日            4
闯鲍苍颈迟実践入门
                                   書籍名:
                                   闯鲍苍颈迟実践入门 ~体系的に学ぶユニットテストの技法
                                   出版社:技術評論社
                                   発売日:2012/11/21
                                   ボリューム:480ページ
                                   著者:渡辺 修司(TwitterID:@shuji_w6e)




  Javaのテスティングフレームワークとして事実上のデファクトスタンダードの地位を占めているJUnitは、
  なにぶん長い歴史を持っていますので、触れたことのある人は膨大な数に上ります。
  しかし、日本語のまとまった情報は意外と少なく、本家JUnitが進化するに従って経年劣化を
  起こしてしまっているというのが現状です。


  そのような状況が変わります。渡辺さんの「JUnit便り」が札幌から全国へ届く日がやってきたのです。


  テスト駆動開発者?和田卓人?(※書籍「推薦のことば」より一部抜粋)

                               5
13年1月13日日曜日                                                         5
アイスブレイク
         ?書籍を持って来た?
         ?書籍を読んで来た?
         ?書籍の写経を済ませた?
         ?TDDを普段から実践している?
         ?TDDBC(TDD Boot Camp)に参加した事がある?
         ?今日はJava(JUnit)? Groovy(Spock)?
         ?自己紹介(名前, 意気込みなど一言)




                       6
13年1月13日日曜日                                6
タイムテーブル
        13:00 開演
        13:15 書籍の写経?実践?ディスカッション
              ※書籍第4章~第10章の書籍内容に沿って全員で

        16:30 演習
          ※TDDBC大阪のお題に挑戦/書籍問題演習に挑戦など各自自由に

        18:00 成果発表
        18:30 ふりかえり、次回予定打ち合わせ
        19:00 撤収



                              7
13年1月13日日曜日                                 7
本日の対象范囲
         Part2 JUnitの機能と拡張
         第4章 アサーション
         第5章 テストランナー
         第6章 テストのコンテキスト
         第7章 テストフィクスチャ
         第8章 パラメータ化テスト
         第9章 ルール
         第10章 カテゴリ化テスト



                     8
13年1月13日日曜日                  8
写経
        実践
        ディスカッション

              http://www.slideshare.net/t_wada/the-only-one-big-thing-every-programmer-should-know
              https://twitter.com/t_wada/status/9000231741
                                9
              http://www.flickr.com/photos/86921622@N00/281632021/

13年1月13日日曜日                                                                                          9
第4章 アサーション
                     - 値を検証する仕組み -

         4-1.   Assertによる値の比較検証
         4-2.   Matcher APIによるアサーションの特徴
         4-3.   Matcher APIの使用
         4-4.   カスタムMatcherの作成




                           10
13年1月13日日曜日                               10
第5章 テストランナー
                - テスト実行方法の制御 -

         5-1. コマンドラインからのJUnitの実行
         5-2. テストランナーとは?
         5-3. JUnitが提供するテストランナー




                       11
13年1月13日日曜日                        11
第6章 テストのコンテキスト
                    - テストケースの構造化 -

         6-1.   テストのコンテキストとは?
         6-2.   テストケースの整理
         6-3.   コンテキストのパターン
         6-4.   テストクラスを横断する共通処理




                          12
13年1月13日日曜日                          12
第7章 テストフィクスチャ
              - テストデータや前提条件のセットアップ -

         7-1. テストフィクスチャとは?
         7-2. フィクスチャのセットアップパターン




                        13
13年1月13日日曜日                            13
第8章 パラメータ化テスト
                 - テストケースとテストデータの分離 -

         8-1.   テストデータの選択
         8-2.   入力値と期待値のパラメータ化
         8-3.   組み合わせテスト
         8-4.   パラメータ化テストの問題




                          14
13年1月13日日曜日                             14
第9章 ルール
                  - テストクラスを拡張する仕組み -

         9-1.   ルールとは?
         9-2.   JUnitが提供するルール
         9-3.   カスタムルールの作成
         9-4.   RuleChainによるルールの連鎖
         9-5.   ClassRuleによるテストクラス単位での
                ルールの適用




                           15
13年1月13日日曜日                              15
第10章 カテゴリ化テスト
                   - テストケースのグループ化 -

         10-1.   スローテスト問題
         10-2.   カテゴリ化テスト
         10-3.   カテゴリ化テストのパターン
         10-4.   ビルドツールによるカテゴリ化テスト




                          16
13年1月13日日曜日                           16
演习:
    ?TDDBC大阪3.0課題
    『自動販売機』
    ?書籍Part5 演習問題
    ?その他
    ※好きなのを選ぼう!

               17
13年1月13日日曜日         17
演习:
    お題『自動販売機』
     同日(1/12)に行われているTDDBC大阪3.0での
     お題『自動販売機』にチャレンジ。
     http://devtesting.jp/tddbc/
     http://devtesting.jp/tddbc/?TDDBC大阪2.0/課題
     http://devtesting.jp/tddbc/?TDDBC仙台02/課題用語集




                                   18
13年1月13日日曜日                                        18
演习:
    書籍Part5 演習問題
     第18章 ベーシックなテスト
      状態を持たないメソッドのテスト/例外を送出するメソッドのテスト/副作用を持つメソッドのテスト
     ?同値クラスに対するテスト/void型を戻り値とするメソッドのテスト/マルチスレッドのテスト
     第19章 アサーションとフィクスチャ
      リストのアサーション/JavaBeansのアサーション/複数行テストのアサーション
     ?境界値のテスト/フィクスチャを用いたパラメータ化テスト/組み合わせテスト




                                19
13年1月13日日曜日                                            19
次回(#3)予定:
              対象範囲
                      第11章 ?テストダブル
                      -‐?? ?テスタビリティと、モック/スタブによるテスト ?-‐??

              開催?日時   2013/02/02(?土) ?15:00?~19:00

              開催場所    横浜タネマキ

              開催?人数   10?~15?人程度度(最?大20?人まで)

              開催内容    書籍内容+αを想定
       ※『JUnit実践?入?門』写経?実践会 ?in ?横浜 ?#3 ?-‐?? ?connpass
        ? ?http://connpass.com/event/1668/
                                      20
13年1月13日日曜日                                                20
ふりかえり




              21
13年1月13日日曜日        21
撤収!




              22
13年1月13日日曜日        22

More Related Content

『闯鲍苍颈迟実践入门』写経?実践会 in 横浜 #2

  • 1. 『闯鲍苍颈迟実践入门』 写経?実践会 in 横浜 #2 2013/01/12(土) at 横浜タネマキ 1 13年1月13日日曜日 1
  • 2. 横浜タネマキなう! ?#junitbook 2 13年1月13日日曜日 2
  • 3. 横浜タネマキ 3 13年1月13日日曜日 3
  • 4. 横浜タネマキ 4 13年1月13日日曜日 4
  • 5. 闯鲍苍颈迟実践入门 書籍名: 闯鲍苍颈迟実践入门 ~体系的に学ぶユニットテストの技法 出版社:技術評論社 発売日:2012/11/21 ボリューム:480ページ 著者:渡辺 修司(TwitterID:@shuji_w6e) Javaのテスティングフレームワークとして事実上のデファクトスタンダードの地位を占めているJUnitは、 なにぶん長い歴史を持っていますので、触れたことのある人は膨大な数に上ります。 しかし、日本語のまとまった情報は意外と少なく、本家JUnitが進化するに従って経年劣化を 起こしてしまっているというのが現状です。 そのような状況が変わります。渡辺さんの「JUnit便り」が札幌から全国へ届く日がやってきたのです。 テスト駆動開発者?和田卓人?(※書籍「推薦のことば」より一部抜粋) 5 13年1月13日日曜日 5
  • 6. アイスブレイク ?書籍を持って来た? ?書籍を読んで来た? ?書籍の写経を済ませた? ?TDDを普段から実践している? ?TDDBC(TDD Boot Camp)に参加した事がある? ?今日はJava(JUnit)? Groovy(Spock)? ?自己紹介(名前, 意気込みなど一言) 6 13年1月13日日曜日 6
  • 7. タイムテーブル 13:00 開演 13:15 書籍の写経?実践?ディスカッション ※書籍第4章~第10章の書籍内容に沿って全員で 16:30 演習 ※TDDBC大阪のお題に挑戦/書籍問題演習に挑戦など各自自由に 18:00 成果発表 18:30 ふりかえり、次回予定打ち合わせ 19:00 撤収 7 13年1月13日日曜日 7
  • 8. 本日の対象范囲 Part2 JUnitの機能と拡張 第4章 アサーション 第5章 テストランナー 第6章 テストのコンテキスト 第7章 テストフィクスチャ 第8章 パラメータ化テスト 第9章 ルール 第10章 カテゴリ化テスト 8 13年1月13日日曜日 8
  • 9. 写経 実践 ディスカッション http://www.slideshare.net/t_wada/the-only-one-big-thing-every-programmer-should-know https://twitter.com/t_wada/status/9000231741 9 http://www.flickr.com/photos/86921622@N00/281632021/ 13年1月13日日曜日 9
  • 10. 第4章 アサーション - 値を検証する仕組み - 4-1. Assertによる値の比較検証 4-2. Matcher APIによるアサーションの特徴 4-3. Matcher APIの使用 4-4. カスタムMatcherの作成 10 13年1月13日日曜日 10
  • 11. 第5章 テストランナー - テスト実行方法の制御 - 5-1. コマンドラインからのJUnitの実行 5-2. テストランナーとは? 5-3. JUnitが提供するテストランナー 11 13年1月13日日曜日 11
  • 12. 第6章 テストのコンテキスト - テストケースの構造化 - 6-1. テストのコンテキストとは? 6-2. テストケースの整理 6-3. コンテキストのパターン 6-4. テストクラスを横断する共通処理 12 13年1月13日日曜日 12
  • 13. 第7章 テストフィクスチャ - テストデータや前提条件のセットアップ - 7-1. テストフィクスチャとは? 7-2. フィクスチャのセットアップパターン 13 13年1月13日日曜日 13
  • 14. 第8章 パラメータ化テスト - テストケースとテストデータの分離 - 8-1. テストデータの選択 8-2. 入力値と期待値のパラメータ化 8-3. 組み合わせテスト 8-4. パラメータ化テストの問題 14 13年1月13日日曜日 14
  • 15. 第9章 ルール - テストクラスを拡張する仕組み - 9-1. ルールとは? 9-2. JUnitが提供するルール 9-3. カスタムルールの作成 9-4. RuleChainによるルールの連鎖 9-5. ClassRuleによるテストクラス単位での ルールの適用 15 13年1月13日日曜日 15
  • 16. 第10章 カテゴリ化テスト - テストケースのグループ化 - 10-1. スローテスト問題 10-2. カテゴリ化テスト 10-3. カテゴリ化テストのパターン 10-4. ビルドツールによるカテゴリ化テスト 16 13年1月13日日曜日 16
  • 17. 演习: ?TDDBC大阪3.0課題 『自動販売機』 ?書籍Part5 演習問題 ?その他 ※好きなのを選ぼう! 17 13年1月13日日曜日 17
  • 18. 演习: お題『自動販売機』 同日(1/12)に行われているTDDBC大阪3.0での お題『自動販売機』にチャレンジ。 http://devtesting.jp/tddbc/ http://devtesting.jp/tddbc/?TDDBC大阪2.0/課題 http://devtesting.jp/tddbc/?TDDBC仙台02/課題用語集 18 13年1月13日日曜日 18
  • 19. 演习: 書籍Part5 演習問題 第18章 ベーシックなテスト 状態を持たないメソッドのテスト/例外を送出するメソッドのテスト/副作用を持つメソッドのテスト ?同値クラスに対するテスト/void型を戻り値とするメソッドのテスト/マルチスレッドのテスト 第19章 アサーションとフィクスチャ リストのアサーション/JavaBeansのアサーション/複数行テストのアサーション ?境界値のテスト/フィクスチャを用いたパラメータ化テスト/組み合わせテスト 19 13年1月13日日曜日 19
  • 20. 次回(#3)予定: 対象範囲 第11章 ?テストダブル -‐?? ?テスタビリティと、モック/スタブによるテスト ?-‐?? 開催?日時 2013/02/02(?土) ?15:00?~19:00 開催場所 横浜タネマキ 開催?人数 10?~15?人程度度(最?大20?人まで) 開催内容 書籍内容+αを想定 ※『JUnit実践?入?門』写経?実践会 ?in ?横浜 ?#3 ?-‐?? ?connpass ? ?http://connpass.com/event/1668/ 20 13年1月13日日曜日 20
  • 21. ふりかえり 21 13年1月13日日曜日 21
  • 22. 撤収! 22 13年1月13日日曜日 22