More Related Content
More from Kazuhiro Sera (20)
テストの運用について #m3dev
- 3. テストの運用でありがちな問題
・Jenkins の job が数日、数週間、数ヶ月壊れたまま放置されている。
・テスト運用がタスクとして想定されておらず、特定の誰かのモチベーショ
ン依存になってしまっている。Jenkins 大臣を役割として明確にする。
・失敗したテストを直そうとしたが、何を何のために assertしているか す
ぎて、どう直すべきなのかがわからない。テストを書くスキルの問題。
・既存のテストに過度な環境依存や実装への密結合があって、前提が覆った
瞬間、大量のテストがゴミになった。テストを書くスキルの問題。
・テストの実行がだんだん遅くなってきた。
- 4. なぜあなたのテストが遅いのか
・例えば RSpec のテストコード実行はそもそもが遅い。Spork とか Spring
とかで頑張っている人?
・モックで覆い隠された世界のテストは基本的に実行速い。でも本当にそれ
だけで十分なの?問題。結合レベルのテストも自動化したいというニー
ズ。
・embedded なサーバを起動して HTTP リクエストを投げる、重いクエリを
実行する、大量に処理する、手順の複雑なエラーパターン再現、アレな
データ構造で fixture なんて・・など Real World Testing は時間がかかる要
因が多い
・0.5 sec * 600 = 300 sec、0.3 sec * 1,000 = 300 sec と考えれば、件数が増
えてくれば程度の差はあれど問題になっていくことが分かる。