tktechblog

日々の開発学習の進捗確認とテクノロジーに関して考えたことをまとめます(ブロックチェーン学習中)

2018_2_23テストに関して

TDDのサイクル

  1. 次の目標を考える
  2. その目標を示すテストを書く
  3. そのテストを実行して失敗させる(Red)
  4. 目的のコードを書く
  5. 2で書いたテストを成功させる(Green)
  6. テストが通るママでリファクタリングを行う(Refactor)
  7. 1-6を繰り返す

リファクタリングがあとでやるtodoリストにいきがち

どう行った順番でテストメソッドを書くか

TDDのスキル

  • 問題を小さく分割する
  • 歩幅を調節する
    • テスト→仮実装→三角測量→実装(テストのテストをやる場合。)
    • テスト→仮実装→実装
    • テスト→明白な実装
  • テストの構造化とリファクタリング(テストの抽象度を同質化させて係数を可能な限り減らしていく。)

初期で考えること。

  • メソッド名
  • クラス名
  • 変数
  • mutation testing
  • 三角測量:トライアングルテスト。他の数字で試す。
  • 明白な実装
  • Todoリストがないと後任の人がイメージできない。仕様がイメージできるようなテストコードを書いておく。

  • 参考 https://dev.classmethod.jp/study_meeting/read/what-tdd/