Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Njug 20180414

1,044 views

Published on

NJUG発表資料

Published in: Engineering
  • Be the first to comment

  • Be the first to like this

Njug 20180414

  1. 1. テストコードの運用の話 2018/04/14 sh-ogawa
  2. 2. きょうの流れ 自己紹介 愛知に友達いねええ!! 宣伝 他コミュニティとか、会社とか? 本日の話題 テストコードの運用について考えるよ
  3. 3. 自己紹介 小川昌吾(VISOR inc.) ■東京生まれ・東京育ち ■妻と娘(6カ月)とウサギの3人と1匹 ■名古屋でWeb開発 ■ドラクエ10 ver.4中 SNSアカウント ■Twitter:@kroyeeg ■GitHub:sh-ogawa ■SlideShare:sh-ogawa ■はてブロ:sh-ogawa
  4. 4. 自己紹介 小川昌吾(VISOR inc.) ■東京生まれ・東京育ち ■妻と娘(6カ月)とウサギの3人と1匹 ■名古屋でWeb開発 ■ドラクエ10 ver.4中 SNSアカウント ■Twitter:@kroyeeg ■GitHub:sh-ogawa ■SlideShare:sh-ogawa ■はてブロ:sh-ogawa
  5. 5. 最近は時間さえあれば k8sってやつと 戯れてます。
  6. 6. k8sのプレイブック作った https://github.com/sh-ogawa/k8s- cluster-for-vagrant
  7. 7. 質問 しちゃいま~す
  8. 8. テストコード 書いてます?
  9. 9. わたし 今 実は書いたり 書かなかったりしてる 👨
  10. 10. 全く書いてない人、 書きましょう
  11. 11. 書いてる人 テストコードの 運用はできてます?
  12. 12. 今日はアンチパターン からテストコードの 運用を考えてみます
  13. 13. テストコードの (自分の身に起きた) 最悪な事例
  14. 14. 冪等性が保てない
  15. 15. 冪等性が保てない - DBをチームメンバーで共有
  16. 16. C0カバレッジ 100%義務付け 冪等性が保てない - DBをチームメンバーで共有
  17. 17. C0カバレッジ 100%義務付け - モック地獄になって 何のためのテストコードなの か判らない 冪等性が保てない - DBをチームメンバーで共有
  18. 18. メンテしない冪等性が保てない - DBをチームメンバーで共有 C0カバレッジ 100%義務付け - モック地獄になって 何のためのテストコードなの か判らない
  19. 19. メンテしない - 期間置くとテストコードが エラーになる 冪等性が保てない - DBをチームメンバーで共有 C0カバレッジ 100%義務付け - モック地獄になって 何のためのテストコードなの か判らない
  20. 20. テストコードの 運用の基本姿勢
  21. 21. いけてない部分 を潰す!
  22. 22. 冪等性を保つイライラさせない メンテする我が子のように面倒を見る 無理し過ぎない無駄な努力をさせない
  23. 23. 冪等性を保つイライラさせない ● DBはローカルPCに立てさせる ● メソッドの戻りをvoid以外にする ● 処理の中で状態を変えない
  24. 24. 無理し過ぎない無駄な努力をさせない ● 100%を目指す必要がそもそもない ● 100%は返って品質が下がる ● 85%程度で十分(らしい) ● カバレッジは変化に気付く方が重要
  25. 25. メンテする我が子のように面倒を見る ● 常に全体を自動テストする ● コミットしたら、プルリクしたら、など ● 自動で動くようにする、これ絶対 ● 結果は可視化する ● 赤くなったら即修正してコミットする
  26. 26. それ、 どうやるの?
  27. 27. それ、 どうやるの? 1つの例として 過去のスライドを引用・・・
  28. 28. この構成で良ければ 以下から環境は作れます ※トレーニング用リポジトリ https://github.com/sh-ogawa/config-management.git 使い方 https://qiita.com/sh-ogawa/items/401a89da868a233c87ab
  29. 29. この辺の運用の話は 以下にも書いてます マスタリングビルド職人 https://uga.gitbooks.io/mastering-builder/content/
  30. 30. 宣伝
  31. 31. https://elm-jp.connpass.com/event/82904/ 名古屋近辺の貸会議室でやります! 定員は増やせるので、どしどしお願いします!
  32. 32. 弊社では 一緒に働くエンジニアを 大絶賛募集中! https://www.visor.co.jp/
  33. 33. THANKS !

×