More Related Content
Similar to 2015/10/14 JJUGナイトセミナー「テスト駆動開発ここが聞きたい」 (20)
More from Hiroyuki Ohnaka (20)
2015/10/14 JJUGナイトセミナー「テスト駆動開発ここが聞きたい」
- 2. #ccc_r11
Copyright 2015 Hiroyuki Ohnaka
• 大中浩行(Ohnaka,Hiroyuki)
• TDD Base Camp
• グロースエクスパートナーズ(株)
• Twitter @setoazusa
• いきものがかり / miwa / ケラケラ
• Javaプログラマー兼インフラエンジニア
- 18. #ccc_r11
Copyright 2015 Hiroyuki Ohnaka
https://www.google.co.jp/search?q=%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E9%9A%9C%E5%AE%B3&ie=utf-
8&oe=utf-8&hl=ja#q=%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E9%9A%9C%E5%AE%B3&hl=ja&tbm=nws
- 25. #ccc_r11
Copyright 2015 Hiroyuki Ohnaka
「大抵の管理者は、真実を求めます。仮に彼らが、そう振る
舞っているように見えなくてもです。大抵の管理者は、よい
コードを求めます。仮にスケジュールに悩んでいたとしても
です。彼らはスケジュールと要件を守ることに必死かもしれ
ませんが、それは彼らの仕事なのですから仕方がありません。
あなたがそれに負けない熱意を持ってコードを
守ればよいのです。」
- 36. #ccc_r11
Copyright 2015 Hiroyuki Ohnaka
「TDD三原則」
• 失敗する単体テストのコードを書く前に、製品
のコードを書いてはいけない
• コンパイルが通り、適切に失敗する単体テスト
が通るまでは、次の単体テストを書いてはなら
ない
• 現在失敗する単体テストが通るまで、次の製品
コードを書いてはならない
Robert C. Martin(著)花井志生(訳) Clean Code アジャイルソフトウェア達人の技
- 40. #ccc_r11
Copyright 2015 Hiroyuki Ohnaka
テストを先に書くことはどんな意味があるのか
• テストに求められる機能は、成功するとGreenに
なり、そうでない時にRedになること
• テストファーストしてないテストは、「まず失
敗させる」ことができないため、テストとして
の信頼性がさがる
• 「失敗していないテストのカバレッジは50%し
かない」
- 47. #ccc_r11
Copyright 2015 Hiroyuki Ohnaka
• 大事なのは、システムをデリバリーするために、
どうステップを踏んでいくか
• テストファーストを導入できるなら、すればよ
い。
• そうでないとしても、ユニットテストより上位
レベルのテストの項目は先に作成するなど、テ
スト同士で補完していけば良い。
- 50. #ccc_r11
Copyright 2015 Hiroyuki Ohnaka
テスト駆動開発は、プログラム中の不安を管理
する方法である。ここで言う不安とは悪い意味
ではない。...(略)...道理にかなった不安、す
なわち「これは困難な問題だから最初から最後
までは分からない」という感覚である。
ー「テスト駆動開発入門」から
- 54. #ccc_r11
Copyright 2015 Hiroyuki Ohnaka
私たちプログラマの手を止めるものは何でしょうか。私は
「不安」だと思っています。「もしかしたら」という感情で
すね。「もしかしたら,自分の書いているコードは間違って
いるかもしれない」「もしかしたら,ライブラリの使い方が
正しくないかもしれない…」。(略)
だから,これから書くコードに対して,if文があるだろうな
とか,ループがあるとか,正規表現使わなきゃいけないなと
か,そういった自分自身に対する不安,これから書くことに
対する不安に対して,テストを書いていきます。
「[動画で解説]和田卓人の“テスト駆動開発”講座 第10回 テストの最小単位は不安」
http://gihyo.jp/dev/serial/01/tdd/0010
- 59. #ccc_r11
Copyright 2015 Hiroyuki Ohnaka
「どんなチームであっても、スムーズに作業す
ることが欠かせない。たとえば、ソフトウェア
開発者は定期的に声を掛けあい、インター
フェースを調整しあい、ビルドを行い、テスト
をしなければならない。」
「組織パターン」から(強調部発表者)
- 63. #ccc_r11
Copyright 2015 Hiroyuki Ohnaka
その結果としての「テスト」へのネガティブなイメージ
http://realtime.search.yahoo.co.jp/search?fr=top_ga1_sa&ei=utf-
8&p=%E5%8D%98%E4%BD%93%E3%83%86%E3%82%B9%E3%83%88
- 65. #ccc_r11
Copyright 2015 Hiroyuki Ohnaka
開発者と品質保証の相互信頼の再構築
• 開発者テストのレベルで「開発者の思ったと
おりに動く」ことが保証されているから、品
質保証のテストは品質の検証に注力できる
• 品質保証や受入のテストが後詰めとして控え
ているから、開発者テストはプログラムの中
の勘所を押さえることに注力できる
- 73. #ccc_r11
Copyright 2015 Hiroyuki Ohnaka
「その場に居続けるには全力で走り続けなければ
ならない」
「グズな国じゃの!ここではだね、同じ場所に
とどまるだけで、もう必死で走らなきゃいけな
いんだよ。そしてどっかよそに行くつもりなら、
せめてその倍の速さで走らないとね!」
Lewis Carroll(著) 山形浩生(訳) 「鏡の国のアリス」
http://www.genpaku.org/alice02/alice02j.html