Upload
takuto-wada
View
1.416
Download
0
Embed Size (px)
DESCRIPTION
Lightning talks at Sapporo RubyKaigi 02. Dec 5, 2009
Citation preview
そろそろカバレッジについて一言いっておくかアンド ・ なう
和田 卓人 (a.k.a id:t-wada or @t_wada)Dec 5, 2009 @SapporoRubyKaigi 02
& Taisho.rb
名前 和田 卓人 (わだ たくと)
blog id:t-wada
twitter @t_wada
github twada
自己紹介
提供 / 宣伝
よろしくおねがいします
RubyConf09
Orthodoxy
Agenda
1. TDDを殺すもの2. たちむかう3. 展望4. (可能なら)デモ
注意:答えはありません
1. TDDを殺すもの2. たちむかう3. 展望4. (可能なら)デモ
Slow Tests
TDDと黄金の回転
きれい
汚い
(すぐには)動かない 動作する
Red
Green
Refactoring
回転速度が落ちたら…
緩やかな死
1. TDDを殺すもの2. たちむかう3. 展望4. (可能なら)デモ
Slow Tests の原因1. DB 等を使っている2. 一般的すぎるフィクスチャ3. 非同期テスト4. テストが多すぎる
1,2,3 は別の機会に
増え続けるテストと戦わなければならない
一度に実行するテストを減らす
Sub Suite自前でサブセット
をつくる
taggingcategorizationannotation
RSpec 2.0
テストの数自体を減らす
展望へ
1. TDDを殺すもの2. たちむかう3. 展望4. (可能なら)デモ
テストはモレなく、ダブりなく
重複したテストの検知
テストとコードの関係を明らかにする
そこでカバレッジ
しかし…これまでのカバレッジ= 管理的な側面が強い
俺たちのためのカバレッジが必要なんだよ!!
提案 :micro
coverage
これまでのカバレッジ= コードベース全体で
測定
micro coverage =小さい単位でのカバレッジ測定
リファクタリングを後押しするカバレッジ
産学共同研究
カバレッジに基づく重複テスト解析
乞うご期待
1. TDDを殺すもの2. たちむかう3. 展望4. (可能なら)デモ
ruby1.9coverage.so
require "coverage"Coverage.startrequire "foo"p Coverage.result# => {"foo.rb"=>[1, 1, 10, nil, nil, 1, 1]}
ご清聴ありがとうございました