sapporo rubykaigi01 twada lt

66
そろそろ カバレッジについて 一言いっておくか 和田 卓人 (a.k.a id:t-wada) Oct, 26, 2008 @SapporoRubyKaigi 01

Upload: takuto-wada

Post on 28-Nov-2014

6.626 views

Category:

Technology


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Sapporo RubyKaigi01 twada LT

そろそろカバレッジについて一言いっておくか

和田 卓人 (a.k.a id:t-wada)

Oct, 26, 2008 @SapporoRubyKaigi 01

Page 2: Sapporo RubyKaigi01 twada LT
Page 3: Sapporo RubyKaigi01 twada LT

続け!

Page 4: Sapporo RubyKaigi01 twada LT

と言った手前

Page 5: Sapporo RubyKaigi01 twada LT
Page 6: Sapporo RubyKaigi01 twada LT

来ちゃった♡

Page 7: Sapporo RubyKaigi01 twada LT

自己紹介名前: 和田 卓人 (わだ たくと)

メール: [email protected]

ブログ: http://d.hatena.ne.jp/t-wada

Twitter: t_wada

Wassr: twada

github: twada

Page 8: Sapporo RubyKaigi01 twada LT

自己紹介タワーズ・クエスト株式会社 プログラマ 兼 取締役社長

Page 9: Sapporo RubyKaigi01 twada LT

これまで書いたものWEB + DB PRESSvol.35 「実演! テスト駆動開発」vol.37 「実演! リファクタリング」vol.42 「現場で使えるREST」LifeHacks PRESSオープンソースマガジン(リレーコラム)他いろいろ

Page 10: Sapporo RubyKaigi01 twada LT

gihyoコラボ企画『[動画で解説]和田卓人の“テスト駆動開発”講座』http://gihyo.jp/dev/serial/01/tdd/全20回すべて動画付き解説ニコニコ動画でも見れます

WEB+DB過去記事の特設サイトや動画

Page 11: Sapporo RubyKaigi01 twada LT

デブサミ• デベロッパーテスティング・ライブ - 自信を持ってコードを書

くための心・技・体 -

• 【徹底討論】テストなんていらない?!-テストを、どこまでやるべきか?

• そしてデブサミ 2009 へ

• テストトラックのコンテンツ委員になりました

Page 12: Sapporo RubyKaigi01 twada LT

東京01のコードtwowaysql詳しくは github で

Page 13: Sapporo RubyKaigi01 twada LT

よろしくおねがいします

Page 14: Sapporo RubyKaigi01 twada LT

Agenda

Page 15: Sapporo RubyKaigi01 twada LT

2つの問題1つの提言1つの仮説

Page 16: Sapporo RubyKaigi01 twada LT

問題1

Page 17: Sapporo RubyKaigi01 twada LT

カバレッジの誤用

Page 18: Sapporo RubyKaigi01 twada LT

カバレッジ100% の悲しい話

Page 19: Sapporo RubyKaigi01 twada LT
Page 20: Sapporo RubyKaigi01 twada LT

QA の視点でも…

Page 21: Sapporo RubyKaigi01 twada LT

カバレッジはテストケースを減らすための指標なのに、増やすために使われている

Page 22: Sapporo RubyKaigi01 twada LT

数値のワナ

Page 23: Sapporo RubyKaigi01 twada LT

手段の目的化

Page 24: Sapporo RubyKaigi01 twada LT

問題2

Page 25: Sapporo RubyKaigi01 twada LT

テストのParadox

Page 26: Sapporo RubyKaigi01 twada LT

テストが増えるとリファクタリングが面倒くさくなる

Page 27: Sapporo RubyKaigi01 twada LT

コード変えたらテストが真っ赤

Page 28: Sapporo RubyKaigi01 twada LT

改名とかテスト直すの面倒くさいし

Page 29: Sapporo RubyKaigi01 twada LT

実装に依存しすぎ

Page 30: Sapporo RubyKaigi01 twada LT

テストがリファクタリング支えるんじゃなかったの?

Page 31: Sapporo RubyKaigi01 twada LT

なぜかテストが足枷に

Page 32: Sapporo RubyKaigi01 twada LT

このままではイカン

Page 33: Sapporo RubyKaigi01 twada LT

提言

Page 34: Sapporo RubyKaigi01 twada LT

テストの資産価値

Page 35: Sapporo RubyKaigi01 twada LT

攻め続けるためのテスト

Page 36: Sapporo RubyKaigi01 twada LT

なるべく実装に

依存しない

Page 37: Sapporo RubyKaigi01 twada LT

リファクタリングを支えるテストが

良いテスト

Page 38: Sapporo RubyKaigi01 twada LT

TDDと黄金の回転

きれい

汚い

(すぐには)動かない 動作する

Red

Green

Refactoring

Page 39: Sapporo RubyKaigi01 twada LT

テストの資産運用

Page 40: Sapporo RubyKaigi01 twada LT

役割と寿命

Page 41: Sapporo RubyKaigi01 twada LT

1.価値の低いテストの価値を高める

Page 42: Sapporo RubyKaigi01 twada LT

テストのリファクタリング

Page 43: Sapporo RubyKaigi01 twada LT

割愛今回はちょっと無理ぽ

Page 44: Sapporo RubyKaigi01 twada LT

2.価値の低いテストを捨て、高いテ

ストを残す

Page 45: Sapporo RubyKaigi01 twada LT

テストの間引き

Page 46: Sapporo RubyKaigi01 twada LT

テストを減らす

Page 47: Sapporo RubyKaigi01 twada LT

減らす?

Page 48: Sapporo RubyKaigi01 twada LT

そこでカバレッジ

Page 49: Sapporo RubyKaigi01 twada LT

仮説

Page 50: Sapporo RubyKaigi01 twada LT

AのカバレッジがBのカバレッジを内包するとき、テストB は消せる

Page 51: Sapporo RubyKaigi01 twada LT

道具を知り考えを知る

Page 52: Sapporo RubyKaigi01 twada LT

•rcov

•heckle

•flog

•saikuro

•kwala

Page 53: Sapporo RubyKaigi01 twada LT

道具に使われるなかれ

Page 54: Sapporo RubyKaigi01 twada LT

Feedback

Page 55: Sapporo RubyKaigi01 twada LT

感情

Page 56: Sapporo RubyKaigi01 twada LT

数値

Page 57: Sapporo RubyKaigi01 twada LT

手段としての数値

Page 58: Sapporo RubyKaigi01 twada LT

Rubyをキメると気持ちイイ

Page 59: Sapporo RubyKaigi01 twada LT

リファクタもキメると気持ちイイ

Page 60: Sapporo RubyKaigi01 twada LT

まとめ

Page 61: Sapporo RubyKaigi01 twada LT

TDDと黄金の回転

きれい

汚い

(すぐには)動かない 動作する

Red

Green

Refactoring

Page 62: Sapporo RubyKaigi01 twada LT

道具を知り考えを知る

Page 63: Sapporo RubyKaigi01 twada LT

右手に感情左手に数値

Page 64: Sapporo RubyKaigi01 twada LT

仮説から検証へ

Page 65: Sapporo RubyKaigi01 twada LT

Special Thanks•川西俊之さん(ブレスト感謝です)

•ペアプロで気づきをくれたひと•会場にお越し下さった皆様•ust & ニコ動 でご覧下さっている皆様

Page 66: Sapporo RubyKaigi01 twada LT

ご清聴ありがとうございました