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