• Like
効果の低いテストの話
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

効果の低いテストの話

  • 536 views
Uploaded on

なごやかJava ゆるふわテストツール編で、時間があれば発表しようと思っていた資料です。

なごやかJava ゆるふわテストツール編で、時間があれば発表しようと思っていた資料です。

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
536
On Slideshare
0
From Embeds
0
Number of Embeds
4

Actions

Shares
Downloads
0
Comments
0
Likes
2

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. 効果の低いテストの話 bleis-tift January 11, 2015
  • 2. 自己紹介 id:bleis-tift / @bleis なごやではたらくゆるふわ Fer 最近の Java はわからない人 言語仕様であればそれなりに
  • 3. テストの目的 バグを見つけること 極論、「バグを見つけること」に寄与しないので あれば、自動化なんてしなくてもいい (もちろん、手動でやる意味もない) 極論ですよ?
  • 4. テストの目的を突き詰めていくと 結果から見ると、「バグを見つけたテスト」 だけあればよかった  個の独立したバグを見つけるために、 個の テストで見つけられた場合が最も効率が良い 結果論なので実現不可能 だけど、これに近づける努力はする バグが「ありそう」な場所をテストするとか そういうの 境界値分析とか
  • 5. テストの「自動化」とは? テストケース考えたり、テストケースを実装 したりは通常「手動」 一般的には、テストの「実行」を自動化 する話 実行しか自動化しないということは・・・ 変更に対して、壊していないことの確認が主 バグを見つけに行くためのテストというよりは、 バグが飛び込んでくるのを待ち構えるための テストにした方がいい
  • 6. テストの実行の自動化の目的は バグを「待ち構える」テストを 何回も実行すること → テストケース数はある一定以上減らせない
  • 7. テスト自動化の注意事項 テストを自動実行することを目的にしない カバレッジを上げることを目的にしない バグを見つけるという目的を忘れない 自動テストを書くなら、効果の高いテストを書く ようにする。言い換えると、 「効果の低いテストは書かないようにする」
  • 8. 効果の低いテストの例 getter/setter のテスト 設定系のテスト モック酔い (TDD のアンチパターンより) に 陥っているテスト などなど
  • 9. getter/setterのテスト getter/setter はテストが書きやすく、 数が稼げる テストの目的に数とか関係ない getter/setter にバグが入り込む可能性とは そもそも、getter/setter が OOP 的には よろしくない 求めるな、命じよ
  • 10. 設定系のテスト 設定項目 1 つ 1 つに対して、設定ファイルに 設定した値が取れるかどうか確認 テストの数が稼げ(ry 設定ファイルを変更したらテスト落ちる 設定を変更してもコードを直さなくていいよう にするために設定ファイルに分離したのでは?
  • 11. モック酔いに陥っているテスト モックの返す値をテスト それ、使っているモックライブラリのテスト をしているのですか? システムの振る舞いをテストしたかったはず そこでバグが出ても、それはモックライブラリ のバグであり、テストしたいシステムのバグで はない
  • 12. まとめ 効果の高いテストを書こう 効果の低いテストを書かないことから はじめよう テストの目的を見失わないようにしよう
  • 13. おわり