omuronの備忘録

個人的な備忘録

「TDDオンライン勉強会 #1」見る

ddd-community-jp.connpass.com

ハッシュタグ#tdd_online

TDD のサンプルって、Java が多いのは気のせいでしょうか? Go はテストコード書きやすいけど、久しくアプリケーションのコードを書いてない状況。 TDD を自分でする機会がなく、本や勉強会だけでは全然身につけることができません。

以下、メモ。

  • 自動テスト
    • テストコードなどの作成により、テストの一部を自動化する仕組み
  • TDD
    • テストコードを先に各進め方(レッド・グリーン・リファクタリング)で開発を進める開発スタイル
  • → TDD は自動テストを含むが、自動テストはTDDがなくても実施できる それぞれ解決したい課題は異なる

  • 自動テストが解決したい課題

    • 機能が増えるごとに、回帰テストの実行コストが増える
    • 増えた結果、必要なテストが実施されなくなり、バグが発生する
  • テストコードが積み上がっていくことで、回帰テストコストが引くにまま維持され、品質維持が用意に

  • 正しい挙動の定義がわからない

    • メインコードがこう動いているから、多分こういう仕様
  • テストコードに想定される挙動が記述される
  • ドキュメントと違って、古くならない

  • 十分なテストが書かれない

  • カバレッジは足りないことはわかるが、十分であることの根拠には使えない
    • → Clean と Works は自動テストだけでも頑張れば目指せるが TDD はその実現を加速する

和田さんが YouTube チャットに降臨してて補足を入れてたのが豪華だった...