Successfully reported this slideshow.
Your SlideShare is downloading. ×

社内テストファースト勉強会

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad

Check these out next

1 of 22 Ad

More Related Content

Slideshows for you (12)

Similar to 社内テストファースト勉強会 (20)

Advertisement

More from Go Sueyoshi (a.k.a sue445) (20)

Recently uploaded (20)

Advertisement

社内テストファースト勉強会

  1. 1. Copyright Drecom Co., Ltd. All Rights Reserved. 社内テストファースト勉強会 2015/01/15 @sue445
  2. 2. Copyright Drecom Co., Ltd. All Rights Reserved. sue445 @ドリコム ● ツール、ライブラリ、課金周り、サーバサイド全般 ○ ドリコムを支える中間ポイントシステム - くりにっ き http://sue445.hatenablog. com/entry/2014/12/01/000000 ● PO (Precure Ojisan) ● RubyKaja 2014 自己紹介
  3. 3. Copyright Drecom Co., Ltd. All Rights Reserved. ワタシハ テスト チョットデキル https://suzuri.jp/sue445/62900/t-shirt/s/brightgreen
  4. 4. Copyright Drecom Co., Ltd. All Rights Reserved. ● テストの分類 ● テスト駆動開発(Test Driven Development)とは ● テストファーストとは ● テストファースト、自動テストを導入するという事について ● テストを書くべきところ、そうでないところ ● 僕がテストファーストをする理由 Agenda
  5. 5. Copyright Drecom Co., Ltd. All Rights Reserved. http://www.slideshare.net/t_wada/the-spirit-of-tdd/14 テストの分類
  6. 6. Copyright Drecom Co., Ltd. All Rights Reserved. http://www.slideshare.net/t_wada/the-spirit-of-tdd/14 テストの分類 開発者視点でのテスト ・ユニットテスト:プログラムの正しい 振る舞いをコードで示す
  7. 7. Copyright Drecom Co., Ltd. All Rights Reserved. http://www.slideshare.net/t_wada/the-spirit-of-tdd/14 テストの分類 顧客(弊社だとPOやディレクターな ど)が望んでいる機能を満たしている かのテスト
  8. 8. Copyright Drecom Co., Ltd. All Rights Reserved. http://www.slideshare.net/t_wada/the-spirit-of-tdd/14 テストの分類 ・開発者も顧客も想定していないよう なバグ ・セキュリティ(XSS, SQLインジェク ションなど) ・パフォーマンス(クソクエリ、レスポン スが遅いとか) ・チートの穴 を防ぐ
  9. 9. Copyright Drecom Co., Ltd. All Rights Reserved. http://www.slideshare.net/t_wada/the-spirit-of-tdd/14 テストの分類 今日話すのは主にこれ
  10. 10. Copyright Drecom Co., Ltd. All Rights Reserved. http://www.slideshare.net/t_wada/the-spirit-of-tdd/26 テスト駆動開発(Test Driven Development)とは
  11. 11. Copyright Drecom Co., Ltd. All Rights Reserved. http://www.slideshare.net/t_wada/the-spirit-of-tdd/27 テスト駆動開発(Test Driven Development)とは
  12. 12. Copyright Drecom Co., Ltd. All Rights Reserved. ● プロダクトコードを書くよりも前にテストコード を書くこと ● TDD ≒ テストファースト ○ RedとGreenを細かいサイクルで回してい れば後にテスト書いてもTDD。(だと思う) ○ 卵が先か鶏が先かの些細な違い ○ 後からテストを書いてもいいじゃない、人 間だもの テストファーストとは
  13. 13. Copyright Drecom Co., Ltd. All Rights Reserved. ● テストファースト、自動テストを導入するという 事について(@社内勉強会) ○ http://www.slideshare.net/KyonMm/ss- 41785717 詳しいこと
  14. 14. Copyright Drecom Co., Ltd. All Rights Reserved. 全てのコードにテストを書く必要はない ● 半年以上メンテする必要があるコードはテストコードが必須 ○ 半年以上前の自分は他人 ● 逆に言えば使い捨てのコードに対しては不要(重要度による が) ○ 使うのが1回だけだとテストコードを書くコストの方がでか くなるので割に合わない ○ 経験上半年くらいで最初に書いたテストの元がとれるよう になる ● 機械でチェックするのが困難なものは不要(というか無理) ○ デザイン崩れとか目で見ないと分からない ● どこから書くか迷ったら書きやすいところから書く ○ Model, Utility テストを書くべきところ、そうでないところ
  15. 15. Copyright Drecom Co., Ltd. All Rights Reserved. 僕がテストファーストをする理由
  16. 16. Copyright Drecom Co., Ltd. All Rights Reserved. 楽をするため
  17. 17. Copyright Drecom Co., Ltd. All Rights Reserved. テストを書くことを前提としていないコードに対して後から無理矢 理テストを注入する方が難しい(と思う) ● 例:テストが一切無いレガシーコードのリファクタリング ○ 規模が大きな既存のプロダクトコードをなるべく変更しな いようにピンポイントにテストコードだけ書くのは難しい ○ 爆弾処理なみの慎重さが要求される ● 後からテストを書く方が難しいので先にテストを書く ○ →簡単なので楽をできる テストを先に書く方が楽
  18. 18. Copyright Drecom Co., Ltd. All Rights Reserved. テストコードを先に書くことで、何を作りたいかを明確にできる ● テストコードを書く時には「入力(引数)」「出力(戻り値)」「処 理の概要」が決まってないと書けない ○ ある意味設計と変わらない ○ 実装する前に設計することを自分自身に強いる ● テストコードを書いてると PullRequest や MergeRequest で どこまで考慮して実装してるのかをレビュアーに伝えやすく なる ● 認識の齟齬で後から大きく手戻りするくらいならテストファー ストを通して設計をしっかり固めた方が楽 テストコードは動く仕様書
  19. 19. Copyright Drecom Co., Ltd. All Rights Reserved. ● TDDしてれば自然と(カバレッジだけなら)網羅性の高いテス トは書ける ○ 「カバレッジが高いこと」と「意味のあるテスト」をしてるか は別問題 ● ある程度ユニットテストが整備されていると常にリグレッション (再帰)テストを流せるので、凡ミスがすぐ見つかる ○ 常日頃から命綱を編んでおく ○ 何かあってから命綱を編むのは手遅れ ● テストが多いとCIもやりやすくなる ○ Jenkins動かすにしてもテストが少ないと効果は薄い ● TDDだけで全部の問題は解決できない ○ TDDそのものよりもその副産物の方が重要 TDDは銀の弾丸ではない
  20. 20. Copyright Drecom Co., Ltd. All Rights Reserved. ● テストファースト、自動テストを導入するという事について(@ 社内勉強会) ○ http://www.slideshare.net/KyonMm/ss-41785717 ● テストとリファクタリングに関する深い方法論 #wewlc_jp ○ http://www.slideshare.net/KyonMm/wewlcjp/32 ● 「いまさら聞けないTDD/BDD超入門」最新記事一覧 - ITmedia Keywords ○ http://www.atmarkit.co.jp/ait/kw/tdd_bdd.html 参考URL
  21. 21. Copyright Drecom Co., Ltd. All Rights Reserved. ● 基本から学ぶソフトウェアテスト ○ http://www.amazon.co.jp/dp/4822281132 ● 知識ゼロから学ぶソフトウェアテスト 【改訂版】 ○ http://www.amazon.co.jp/dp/4798130605 ● ソフトウェアテスト293の鉄則 ○ http://www.amazon.co.jp/dp/482228154X ● ソフトウェアテスト技法ドリル―テスト設計の考え方と実際 ○ http://www.amazon.co.jp/dp/4817193603 参考書籍
  22. 22. Copyright Drecom Co., Ltd. All Rights Reserved. ● TDD のこころ @ OSH2014 ○ http://www.slideshare.net/t_wada/osh2014-sprit- of-tdd ○ 47枚目以降にユースケース毎のおすすめ書籍が載って る ● ソフトウェアテストの書籍まとめ 2013 #SWTestAdvent — う さぎ組 ○ http://kyon-mm.bitbucket. org/blog/html/2013/12/27/swtest_books.html 参考書籍

×