我々はなぜテストを書くのか

Why we write test codes

概要

とある新卒研修のお昼の小噺にて。

プロフィールやお問い合わせはこちらからどうぞ!

スライドの内容

  1. 及部敬雄 (@TAKAKING22) 我々はなぜテストコードを書くのか?
  2. なぜテストを書いているんですか? • #今日の小噺 チャンネルに書く
  3. なぜテストを書くのか 人によってさまざまな回答が来る 一番多いのは「やらなければならないから」
  4. “テストのないコードは悪いコードである。どれだけ うまく書かれているかは関係ない。” “テストがあれば、検証しながらコードの動きを素早 く変更することができる。テストがなければ、コード が良くなっているのか悪くなっているのかが本当にわ からない。” Michael Feathers レガシーコード改善ガイド
  5. “「動作するきれいなコード」。
 Ron Jeffriesのこの簡潔な言葉が、TDD (テスト駆動開発)のゴールだ。動作するき れいなコードはあらゆる意味で価値があ る。” Kent Beck テスト駆動開発
  6. “次に意味の希薄化ですね。
 『Test-Driven Development by Example』の 出版から15年経ち、テストコードを書く人はすごく増 えました。” @t_wada 希薄化したTDD、プロダクトの成長のために必要なものは?『健全なビジネスの継続的成長のためには健全なコードが必要だ』対談 (6)
  7. “テストコードがあるという生活は普通のものになっ ている。そうすると、なぜテストコード書くのかと か、本来こういうテストコードを書きたかったんだけ どとか、こういうテストを書くべきなんだけどみたい な議論はだいぶ土俵から外れてしまって、テストは書 かなければならないので書く、みたいな感じになって しまった。” @t_wada 希薄化したTDD、プロダクトの成長のために必要なものは?『健全なビジネスの継続的成長のためには健全なコードが必要だ』対談 (6)
  8. “つまり(TDDは)権利じゃなくて義務になっちゃっ ているんですね。今の若者にとってテストというの は、やらなきゃいけない、まさに「テスト」みたいに 義務化されてしまったもので、自分たちの不安を取り 除くためにテストコードを書いているんじゃなくて、 やれと言われているからしょうがなくやっている。内 発的じゃないんですよ。” @t_wada 希薄化したTDD、プロダクトの成長のために必要なものは?『健全なビジネスの継続的成長のためには健全なコードが必要だ』対談 (6)
  9. “How deep are you unit tests ?” ある日stack overflowに投稿された質問 ユニットテストはどれくらい深くやっていますか?
  10. “I get paid for code that works, 
 not for
  11. “リファクタリングが射程に入ってないテストコード になっちゃっている。ソフトウェアの内部の質は、テ ストコードを書いても基本的に変わらない。リファク タリングしないと内部の質は上がらないのに、リファ クタリングを行うという発想がそもそも無くなっちゃ っている。テストコードは増えるし、テストカバレッ ジは増えるんだけど、ソフトウェアの設計自体は全然 良くなっていないという結果になってしまう。「私は こういうふうにコードを書きましたというような、こ ういう仕事をしました」という証明のためだけのテス
  12. @m_seki “テストでは品質は上がらないですよ。テストはあく までも品質をあげるきっかけ。品質をあげるのはプロ グラミングです。これは大昔からそう。”
  13. テストコードのメンテナンスコスト 理想 現実
  14. Purpose Alignment Model 差別化 決定的 誰が気にするの? 維持する パートナー 差別化 投資せよ!
  15. Purpose Alignment Model 差別化 決定的 誰が気にするの? 維持する パートナー 差別化 投資せよ!
  16. 有限の時間 膨大なテストケース
  17. それぞれの”テストコード”がある 人によって時によって言ってることが違うように聞こえる なぜテストを書くのか なんのテストを書くのか どこまでテストを書くのか そもそもテストコードを書くのか書かないのか
  18. まさにここっぽい!
  19. 答えがないことへの取り組み方 いろんな人の話を聞くのは大切だけど誰も正解は知らない 自分たちの正解は自分たちで探し求めていくもの 迷った経験、考えた時間、試した回数はきっと価値がある 繰り返しながら少しずついい方向に持っていく 一度良いと思ったものも時間や状況の変化で変わるので
 常にアップデートする
  20. Photo by Aaron Burden on Unsplash
  21. 今日からなんのためにテストを書きますか? • #今日の小噺 チャンネルに書く

サイト内を検索