SlideShare a Scribd company logo
1 of 22
Download to read offline
『JUnit実践入門』
     写経・実践会 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
JUnit実践入門
                                   書籍名:
                                   JUnit実践入門 ~体系的に学ぶユニットテストの技法
                                   出版社:技術評論社
                                   発売日: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

What's hot

Chainer meetup
Chainer meetupChainer meetup
Chainer meetupkikusu
 
イマドキのUbuntu活用法
イマドキのUbuntu活用法イマドキのUbuntu活用法
イマドキのUbuntu活用法Hiroshi Chonan
 
We are OSS Communities: Introduction of Start Python Club
We are OSS Communities: Introduction of Start Python ClubWe are OSS Communities: Introduction of Start Python Club
We are OSS Communities: Introduction of Start Python ClubTakeshi Akutsu
 
リリースされたばかりの『Ubuntu 16.04LTS』のすべて
リリースされたばかりの『Ubuntu 16.04LTS』のすべてリリースされたばかりの『Ubuntu 16.04LTS』のすべて
リリースされたばかりの『Ubuntu 16.04LTS』のすべてHiroshi Chonan
 
Effective Python 第2版をオンライン読書会で。
Effective Python 第2版をオンライン読書会で。Effective Python 第2版をオンライン読書会で。
Effective Python 第2版をオンライン読書会で。KyutatsuNishiura
 
プロ生ちゃんをひろっちゃう!
プロ生ちゃんをひろっちゃう!プロ生ちゃんをひろっちゃう!
プロ生ちゃんをひろっちゃう!Kouji Matsui
 
Ubuntuの最新情報 / Ubuntu 15.10 Wily Werewolf
Ubuntuの最新情報 / Ubuntu 15.10 Wily WerewolfUbuntuの最新情報 / Ubuntu 15.10 Wily Werewolf
Ubuntuの最新情報 / Ubuntu 15.10 Wily WerewolfHiroshi Chonan
 
プログラミング学習とScratch raspi python
プログラミング学習とScratch raspi pythonプログラミング学習とScratch raspi python
プログラミング学習とScratch raspi pythonYoshitaka Shiono
 
jTthree V3 technical preview
jTthree V3 technical previewjTthree V3 technical preview
jTthree V3 technical previewMasaki Yamamoto
 
ret2libcとpopretで初等的BOF攻撃
ret2libcとpopretで初等的BOF攻撃ret2libcとpopretで初等的BOF攻撃
ret2libcとpopretで初等的BOF攻撃monochrojazz
 
Pythonのプロファイリング
PythonのプロファイリングPythonのプロファイリング
Pythonのプロファイリングysakaguchi
 

What's hot (20)

Chainer meetup
Chainer meetupChainer meetup
Chainer meetup
 
mruby for embedded systems
mruby for embedded systemsmruby for embedded systems
mruby for embedded systems
 
CgiSecure
CgiSecureCgiSecure
CgiSecure
 
イマドキのUbuntu活用法
イマドキのUbuntu活用法イマドキのUbuntu活用法
イマドキのUbuntu活用法
 
We are OSS Communities: Introduction of Start Python Club
We are OSS Communities: Introduction of Start Python ClubWe are OSS Communities: Introduction of Start Python Club
We are OSS Communities: Introduction of Start Python Club
 
リリースされたばかりの『Ubuntu 16.04LTS』のすべて
リリースされたばかりの『Ubuntu 16.04LTS』のすべてリリースされたばかりの『Ubuntu 16.04LTS』のすべて
リリースされたばかりの『Ubuntu 16.04LTS』のすべて
 
S28 t0 introduction
S28 t0 introductionS28 t0 introduction
S28 t0 introduction
 
S15 t0 introduction
S15 t0 introductionS15 t0 introduction
S15 t0 introduction
 
Effective Python 第2版をオンライン読書会で。
Effective Python 第2版をオンライン読書会で。Effective Python 第2版をオンライン読書会で。
Effective Python 第2版をオンライン読書会で。
 
プロ生ちゃんをひろっちゃう!
プロ生ちゃんをひろっちゃう!プロ生ちゃんをひろっちゃう!
プロ生ちゃんをひろっちゃう!
 
Ubuntuの最新情報 / Ubuntu 15.10 Wily Werewolf
Ubuntuの最新情報 / Ubuntu 15.10 Wily WerewolfUbuntuの最新情報 / Ubuntu 15.10 Wily Werewolf
Ubuntuの最新情報 / Ubuntu 15.10 Wily Werewolf
 
プログラミング学習とScratch raspi python
プログラミング学習とScratch raspi pythonプログラミング学習とScratch raspi python
プログラミング学習とScratch raspi python
 
jTthree V3 technical preview
jTthree V3 technical previewjTthree V3 technical preview
jTthree V3 technical preview
 
Introduction
IntroductionIntroduction
Introduction
 
S01 t0 orientation
S01 t0 orientationS01 t0 orientation
S01 t0 orientation
 
ret2libcとpopretで初等的BOF攻撃
ret2libcとpopretで初等的BOF攻撃ret2libcとpopretで初等的BOF攻撃
ret2libcとpopretで初等的BOF攻撃
 
S03 t0 get_started
S03 t0 get_startedS03 t0 get_started
S03 t0 get_started
 
S05_T0_orientation
S05_T0_orientationS05_T0_orientation
S05_T0_orientation
 
Pythonのプロファイリング
PythonのプロファイリングPythonのプロファイリング
Pythonのプロファイリング
 
S06 t0 orientation
S06 t0 orientationS06 t0 orientation
S06 t0 orientation
 

Viewers also liked

Devlove2012 どうしたら良いシステムが作れるのか
Devlove2012 どうしたら良いシステムが作れるのかDevlove2012 どうしたら良いシステムが作れるのか
Devlove2012 どうしたら良いシステムが作れるのかYusuke Suzuki
 
20141125やる気のスイッチを押す方法
20141125やる気のスイッチを押す方法20141125やる気のスイッチを押す方法
20141125やる気のスイッチを押す方法kishitaku
 
プログラミング(プログラムの書き方)基礎
プログラミング(プログラムの書き方)基礎プログラミング(プログラムの書き方)基礎
プログラミング(プログラムの書き方)基礎galluda
 
デブサミ2013の明後日な楽しみ方
デブサミ2013の明後日な楽しみ方デブサミ2013の明後日な楽しみ方
デブサミ2013の明後日な楽しみ方陽一 滝川
 
小さな幸せの集め方ForDevLOVE
小さな幸せの集め方ForDevLOVE小さな幸せの集め方ForDevLOVE
小さな幸せの集め方ForDevLOVEYuji Tomiyama
 
アジャイルツアー2010 アジャイルコンサルタントの秘密
アジャイルツアー2010 アジャイルコンサルタントの秘密アジャイルツアー2010 アジャイルコンサルタントの秘密
アジャイルツアー2010 アジャイルコンサルタントの秘密tuyoshiushio
 
ひとくち勉強会②_メモを考える
ひとくち勉強会②_メモを考えるひとくち勉強会②_メモを考える
ひとくち勉強会②_メモを考える2G _KSK
 
20150716 pcスキルコース2 あなたのメール作成時間を半減させます
20150716 pcスキルコース2 あなたのメール作成時間を半減させます20150716 pcスキルコース2 あなたのメール作成時間を半減させます
20150716 pcスキルコース2 あなたのメール作成時間を半減させますkishitaku
 
パワポ作成外注のすすめ ドキュメントプラス
パワポ作成外注のすすめ ドキュメントプラスパワポ作成外注のすすめ ドキュメントプラス
パワポ作成外注のすすめ ドキュメントプラスKenji Tamada
 
社長の時間の使い方のメモ
社長の時間の使い方のメモ社長の時間の使い方のメモ
社長の時間の使い方のメモyanagi1982
 
勉強会カンファレンス2011、企業と勉強会
勉強会カンファレンス2011、企業と勉強会勉強会カンファレンス2011、企業と勉強会
勉強会カンファレンス2011、企業と勉強会Hiro Yoshioka
 
「Railsでやろう」にまつわる話
「Railsでやろう」にまつわる話「Railsでやろう」にまつわる話
「Railsでやろう」にまつわる話Hiromu Shioya
 
たのしい宿題発表会 〜慣れない言語で車輪の再開発しよう〜
たのしい宿題発表会 〜慣れない言語で車輪の再開発しよう〜たのしい宿題発表会 〜慣れない言語で車輪の再開発しよう〜
たのしい宿題発表会 〜慣れない言語で車輪の再開発しよう〜Hiromu Shioya
 
AbstractFactory 抽象的な工場
AbstractFactory 抽象的な工場AbstractFactory 抽象的な工場
AbstractFactory 抽象的な工場Hiromu Shioya
 
パタン・ランゲージからプロジェクト・ランゲージへ Part1
パタン・ランゲージからプロジェクト・ランゲージへ Part1パタン・ランゲージからプロジェクト・ランゲージへ Part1
パタン・ランゲージからプロジェクト・ランゲージへ Part1Takeshi Kakeda
 
リーンスタートアップを実践してのこれまでとこれから
リーンスタートアップを実践してのこれまでとこれからリーンスタートアップを実践してのこれまでとこれから
リーンスタートアップを実践してのこれまでとこれからYoshihito Kuranuki
 
第1回アジャイルサムライ読書会 島根道場
第1回アジャイルサムライ読書会 島根道場第1回アジャイルサムライ読書会 島根道場
第1回アジャイルサムライ読書会 島根道場Yosuke Ubata
 

Viewers also liked (20)

Devlove2012 どうしたら良いシステムが作れるのか
Devlove2012 どうしたら良いシステムが作れるのかDevlove2012 どうしたら良いシステムが作れるのか
Devlove2012 どうしたら良いシステムが作れるのか
 
20141125やる気のスイッチを押す方法
20141125やる気のスイッチを押す方法20141125やる気のスイッチを押す方法
20141125やる気のスイッチを押す方法
 
プログラミング(プログラムの書き方)基礎
プログラミング(プログラムの書き方)基礎プログラミング(プログラムの書き方)基礎
プログラミング(プログラムの書き方)基礎
 
デブサミ2013の明後日な楽しみ方
デブサミ2013の明後日な楽しみ方デブサミ2013の明後日な楽しみ方
デブサミ2013の明後日な楽しみ方
 
小さな幸せの集め方ForDevLOVE
小さな幸せの集め方ForDevLOVE小さな幸せの集め方ForDevLOVE
小さな幸せの集め方ForDevLOVE
 
アジャイルツアー2010 アジャイルコンサルタントの秘密
アジャイルツアー2010 アジャイルコンサルタントの秘密アジャイルツアー2010 アジャイルコンサルタントの秘密
アジャイルツアー2010 アジャイルコンサルタントの秘密
 
ひとくち勉強会②_メモを考える
ひとくち勉強会②_メモを考えるひとくち勉強会②_メモを考える
ひとくち勉強会②_メモを考える
 
20150716 pcスキルコース2 あなたのメール作成時間を半減させます
20150716 pcスキルコース2 あなたのメール作成時間を半減させます20150716 pcスキルコース2 あなたのメール作成時間を半減させます
20150716 pcスキルコース2 あなたのメール作成時間を半減させます
 
パワポ作成外注のすすめ ドキュメントプラス
パワポ作成外注のすすめ ドキュメントプラスパワポ作成外注のすすめ ドキュメントプラス
パワポ作成外注のすすめ ドキュメントプラス
 
社長の時間の使い方のメモ
社長の時間の使い方のメモ社長の時間の使い方のメモ
社長の時間の使い方のメモ
 
勉強会カンファレンス2011、企業と勉強会
勉強会カンファレンス2011、企業と勉強会勉強会カンファレンス2011、企業と勉強会
勉強会カンファレンス2011、企業と勉強会
 
「Railsでやろう」にまつわる話
「Railsでやろう」にまつわる話「Railsでやろう」にまつわる話
「Railsでやろう」にまつわる話
 
たのしい宿題発表会 〜慣れない言語で車輪の再開発しよう〜
たのしい宿題発表会 〜慣れない言語で車輪の再開発しよう〜たのしい宿題発表会 〜慣れない言語で車輪の再開発しよう〜
たのしい宿題発表会 〜慣れない言語で車輪の再開発しよう〜
 
AbstractFactory 抽象的な工場
AbstractFactory 抽象的な工場AbstractFactory 抽象的な工場
AbstractFactory 抽象的な工場
 
20120605 アジャイルサムライ読書会第7回
20120605 アジャイルサムライ読書会第7回20120605 アジャイルサムライ読書会第7回
20120605 アジャイルサムライ読書会第7回
 
パタン・ランゲージからプロジェクト・ランゲージへ Part1
パタン・ランゲージからプロジェクト・ランゲージへ Part1パタン・ランゲージからプロジェクト・ランゲージへ Part1
パタン・ランゲージからプロジェクト・ランゲージへ Part1
 
20120508 アジャイルサムライ読書会 第3回
20120508 アジャイルサムライ読書会 第3回20120508 アジャイルサムライ読書会 第3回
20120508 アジャイルサムライ読書会 第3回
 
20120522 アジャイルサムライ読書会第5回
20120522 アジャイルサムライ読書会第5回20120522 アジャイルサムライ読書会第5回
20120522 アジャイルサムライ読書会第5回
 
リーンスタートアップを実践してのこれまでとこれから
リーンスタートアップを実践してのこれまでとこれからリーンスタートアップを実践してのこれまでとこれから
リーンスタートアップを実践してのこれまでとこれから
 
第1回アジャイルサムライ読書会 島根道場
第1回アジャイルサムライ読書会 島根道場第1回アジャイルサムライ読書会 島根道場
第1回アジャイルサムライ読書会 島根道場
 

Similar to 『JUnit実践入門』写経・実践会 in 横浜 #2

GUI Test is (not) necessary
GUI Test is (not) necessaryGUI Test is (not) necessary
GUI Test is (not) necessaryHiroshi Maekawa
 
はじめてのテスト技法
はじめてのテスト技法はじめてのテスト技法
はじめてのテスト技法Tatsuya Saito
 
テストフィクスチャTips(主にCoreData) #potatotips
テストフィクスチャTips(主にCoreData) #potatotipsテストフィクスチャTips(主にCoreData) #potatotips
テストフィクスチャTips(主にCoreData) #potatotipsKoji Hasegawa
 
コンポーネントテストで開発効率を上げよう
コンポーネントテストで開発効率を上げようコンポーネントテストで開発効率を上げよう
コンポーネントテストで開発効率を上げようMatsuoka Hiromitsu
 
コミュニケーションスキルを重視したソフトウェア技術者教育手法の研究
コミュニケーションスキルを重視したソフトウェア技術者教育手法の研究コミュニケーションスキルを重視したソフトウェア技術者教育手法の研究
コミュニケーションスキルを重視したソフトウェア技術者教育手法の研究Yuichiro Saito
 
20101001-Introduction-to-Developer-Testing-With-Ruby
20101001-Introduction-to-Developer-Testing-With-Ruby20101001-Introduction-to-Developer-Testing-With-Ruby
20101001-Introduction-to-Developer-Testing-With-RubyKoji SHIMADA
 
ワンクリックデプロイ 〜いつまで手でデプロイしてるんですか〜 #devsumiA
ワンクリックデプロイ 〜いつまで手でデプロイしてるんですか〜 #devsumiAワンクリックデプロイ 〜いつまで手でデプロイしてるんですか〜 #devsumiA
ワンクリックデプロイ 〜いつまで手でデプロイしてるんですか〜 #devsumiARyutaro YOSHIBA
 
【未発表】Backbone.jsとJavaEE7でWebアプリを作ろう!(第1回) 〜GETで一覧編〜
【未発表】Backbone.jsとJavaEE7でWebアプリを作ろう!(第1回) 〜GETで一覧編〜【未発表】Backbone.jsとJavaEE7でWebアプリを作ろう!(第1回) 〜GETで一覧編〜
【未発表】Backbone.jsとJavaEE7でWebアプリを作ろう!(第1回) 〜GETで一覧編〜Toshio Ehara
 
Java one 2013 sf 報告会lt
Java one 2013 sf 報告会ltJava one 2013 sf 報告会lt
Java one 2013 sf 報告会lttorutk
 
自動テストへの道のり
自動テストへの道のり自動テストへの道のり
自動テストへの道のりEiji Yokota
 
テスト駆動開発のはじめ方
テスト駆動開発のはじめ方テスト駆動開発のはじめ方
テスト駆動開発のはじめ方Shuji Watanabe
 
WACATE 2010夏 ゆもつよ講演スライド
WACATE 2010夏 ゆもつよ講演スライドWACATE 2010夏 ゆもつよ講演スライド
WACATE 2010夏 ゆもつよ講演スライドTsuyoshi Yumoto
 
Scikit learnで学ぶ機械学習入門
Scikit learnで学ぶ機械学習入門Scikit learnで学ぶ機械学習入門
Scikit learnで学ぶ機械学習入門Takami Sato
 
「Selenium実践入門」で学ぶテスト自動化の世界
「Selenium実践入門」で学ぶテスト自動化の世界「Selenium実践入門」で学ぶテスト自動化の世界
「Selenium実践入門」で学ぶテスト自動化の世界Nozomi Ito
 
上級ユーザビリティテスト手法
上級ユーザビリティテスト手法上級ユーザビリティテスト手法
上級ユーザビリティテスト手法Tarumoto Tetsuya
 
xUnit Test Patterns - Chapter16
xUnit Test Patterns - Chapter16xUnit Test Patterns - Chapter16
xUnit Test Patterns - Chapter16Takuto Wada
 
20161218 selenium study4
20161218 selenium study420161218 selenium study4
20161218 selenium study4Naoya Kojima
 

Similar to 『JUnit実践入門』写経・実践会 in 横浜 #2 (20)

TDD一連の流れ
TDD一連の流れTDD一連の流れ
TDD一連の流れ
 
GUI Test is (not) necessary
GUI Test is (not) necessaryGUI Test is (not) necessary
GUI Test is (not) necessary
 
はじめてのテスト技法
はじめてのテスト技法はじめてのテスト技法
はじめてのテスト技法
 
Scala conf2013
Scala conf2013Scala conf2013
Scala conf2013
 
テストフィクスチャTips(主にCoreData) #potatotips
テストフィクスチャTips(主にCoreData) #potatotipsテストフィクスチャTips(主にCoreData) #potatotips
テストフィクスチャTips(主にCoreData) #potatotips
 
コンポーネントテストで開発効率を上げよう
コンポーネントテストで開発効率を上げようコンポーネントテストで開発効率を上げよう
コンポーネントテストで開発効率を上げよう
 
コミュニケーションスキルを重視したソフトウェア技術者教育手法の研究
コミュニケーションスキルを重視したソフトウェア技術者教育手法の研究コミュニケーションスキルを重視したソフトウェア技術者教育手法の研究
コミュニケーションスキルを重視したソフトウェア技術者教育手法の研究
 
20101001-Introduction-to-Developer-Testing-With-Ruby
20101001-Introduction-to-Developer-Testing-With-Ruby20101001-Introduction-to-Developer-Testing-With-Ruby
20101001-Introduction-to-Developer-Testing-With-Ruby
 
ワンクリックデプロイ 〜いつまで手でデプロイしてるんですか〜 #devsumiA
ワンクリックデプロイ 〜いつまで手でデプロイしてるんですか〜 #devsumiAワンクリックデプロイ 〜いつまで手でデプロイしてるんですか〜 #devsumiA
ワンクリックデプロイ 〜いつまで手でデプロイしてるんですか〜 #devsumiA
 
【未発表】Backbone.jsとJavaEE7でWebアプリを作ろう!(第1回) 〜GETで一覧編〜
【未発表】Backbone.jsとJavaEE7でWebアプリを作ろう!(第1回) 〜GETで一覧編〜【未発表】Backbone.jsとJavaEE7でWebアプリを作ろう!(第1回) 〜GETで一覧編〜
【未発表】Backbone.jsとJavaEE7でWebアプリを作ろう!(第1回) 〜GETで一覧編〜
 
Java one 2013 sf 報告会lt
Java one 2013 sf 報告会ltJava one 2013 sf 報告会lt
Java one 2013 sf 報告会lt
 
自動テストへの道のり
自動テストへの道のり自動テストへの道のり
自動テストへの道のり
 
テスト駆動開発のはじめ方
テスト駆動開発のはじめ方テスト駆動開発のはじめ方
テスト駆動開発のはじめ方
 
機械学習とJubatus
機械学習とJubatus機械学習とJubatus
機械学習とJubatus
 
WACATE 2010夏 ゆもつよ講演スライド
WACATE 2010夏 ゆもつよ講演スライドWACATE 2010夏 ゆもつよ講演スライド
WACATE 2010夏 ゆもつよ講演スライド
 
Scikit learnで学ぶ機械学習入門
Scikit learnで学ぶ機械学習入門Scikit learnで学ぶ機械学習入門
Scikit learnで学ぶ機械学習入門
 
「Selenium実践入門」で学ぶテスト自動化の世界
「Selenium実践入門」で学ぶテスト自動化の世界「Selenium実践入門」で学ぶテスト自動化の世界
「Selenium実践入門」で学ぶテスト自動化の世界
 
上級ユーザビリティテスト手法
上級ユーザビリティテスト手法上級ユーザビリティテスト手法
上級ユーザビリティテスト手法
 
xUnit Test Patterns - Chapter16
xUnit Test Patterns - Chapter16xUnit Test Patterns - Chapter16
xUnit Test Patterns - Chapter16
 
20161218 selenium study4
20161218 selenium study420161218 selenium study4
20161218 selenium study4
 

Recently uploaded

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.
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
新人研修 後半 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.
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 

Recently uploaded (7)

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デバイス
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 

『JUnit実践入門』写経・実践会 in 横浜 #2

  • 1. 『JUnit実践入門』 写経・実践会 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. JUnit実践入門 書籍名: JUnit実践入門 ~体系的に学ぶユニットテストの技法 出版社:技術評論社 発売日: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