Upgrade to Pro — share decks privately, control downloads, hide ads and more …

tdd-hajime-no-ippo

eiji.ienaga
January 15, 2025
85

 tdd-hajime-no-ippo

eiji.ienaga

January 15, 2025
Tweet

Transcript

  1. 仕様を まとめる 関数の インター フェース 設計する 実装& テスト&リ ファクタす る

    何ができれば完成と言えるか 明瞭にするが難しい 一度に全てを見通して 計画通りつくるは難しい わかりやすい インタフェースと 実装の分離が難しい リファクタ余裕がなくなって 技術的負債がたまり、 ますますデバック地獄に 実態はエラーの連続で デバック地獄! 当初の設計では まずいにあとで気づく
  2. 既存バグを発見し 先に対応が必要と わかった テストケースX1 が抜けていること がわかった 外部ライブラリー エラーXに 出会った 実際に手を動かすことで当初の計画通り進まない

    と後から発見することもある (慌てないで。学んだことを生かして計画を更新し 続けるは、アジャイルの基本の型) 設計方針Aでは 実現できないこと がわかった 現状のままだと 機能修正が難しく 先にリファクタが必要とわかった 仕様を 誤解していたと わかった
  3. • 動画や実演を見て疑似体験する (事前視聴、今日) • 実際に手を動かして学ぶ(今日) ◦ 練習お題のリンク ▪ https://archive-devtesting-jp.github.io/tddbc/index_archive.html ▪

    例えば、FizzBuzz、 スタック、 ボウリングゲーム、整数の区間、ライフゲーム ◦ 同僚とならペアやモブなどを組んで相互に学び合う ◦ 自主練習なら生成AIとペアプロしながらTDDについて学んでみる ◦ やったことをふりかえり、自分でわからなかったこと整理し、生成AIや同僚に質問してみる • 実際の案件でテスト自動化=>テストファースト=>TDDに取り組む ◦ 後でまとめてテストでデバック地獄ではなくて、早めにこまめにテストに取り組む ◦ テストファーストを試してみる ◦ テスト駆動開発を試してみる ◦ やったことをふりかえり、自分でわからなかったこと整理し、生成AIや同僚に質問してみる • 書籍で落ち着いて学んで、実務に応用する ◦ 「リファクタリング (マーチン・ファウラー)」 チュートリアルを実際に手を動かして学ぶはおすすめ ◦ 「Clean Code アジャイルソフトウェア達人の技(ロバート・C. マーチン)」 ◦ 「テスト駆動開発 (ケント・ベック)」 • 研修やTDDに関連する社内外部コミュニティで学んで、実務に応用する ◦ TDDBC、Coderetreat、TDDワイワイ会、テスト駆動飲み会 etc… ベイビーステップでテスト駆動開発を学んで実務で使うには?