生成AIによるコーディングとテスト駆動開発をメインテーマに、アジャイルコーチのやっとむさんと対談した内容が記事になりました。何卒よろしくお願いします!
LLMはテストでは本当に使える/LLMだけでは物事の解釈ができないので、現実を分析・抽象化してモデル化システム化につなげる所は、まだまだ人手はかかりそう/デザインパターンのくだりは慧眼、確かにその通り
入力パラメータの型があれば変数への代入文を書いてくれるので本当に楽。モックは期待した動きをしない(ゴミデータでも動くコードになりがち)ことが多い気がする。まぁ私はモックとロジックは完全に切り離す派だが
“日本でTDDを広めようと20年、まず自動テストを書くこと自体に高いハードル。そのハードル「学習コスト」と「実装コスト」が、生成AIによって下がった。テスト設計を考える「道具」がある。AIに徹底的に聞こう”
とても良い記事。生成AIとテストについて書かれた話が少なかったので、つながった感がある。カバレッジ上げに使ってる。 ただ目下のところは、モック(minitest)の自動生成に弱いので学習データのが足りない感がある。
“基本的にはどんどん保守性が悪いものになっていくので、「保守性を維持する」という目的を指令に含めたい。それには「テスト駆動開発で」という指示がAIの暴走を防ぐガードレールとして有効になります。”
保守性について触れていて良い。
AIで作った雑スクリプトにAIにテストを書いてもらってるけど、あんま意味ないよなーと思いながらやってる。たぶん自分が理解してないから。
むしろテスト仕様書がプログラム生成のインプットになる可能性が高い。必然的にテストファーストになりそう。
言ってることはすごくわかるんだけど、適切なテストを組み込むのもやっぱりまだまだしんどいんだよねw
『品質保証の観点から「対象のシステムや仕様に対してどのような検証が必要か」を考える』『抽象と具象を行ったり来たりする作業』
t-wada
t-wadaさんの2025年7月時点でのコード生成現在地点。ちゃんと「何月」まで書いているところがいいね。テストを書かすことでテストへのハードルがすごく下がりコーディングエージェントでの開発効率もあがる。
テストが無いと何が起こるかというと、適当に変更してしまってシステムが壊れていく。
AIエージェント時代に、テスト駆動開発(TDD)は「ガードレール」になる ─ t_wada×やっとむ対談 - Agile Journey
生成AIによるコーディングとテスト駆動開発をメインテーマに、アジャイルコーチのやっとむさんと対談した内容が記事になりました。何卒よろしくお願いします!
LLMはテストでは本当に使える/LLMだけでは物事の解釈ができないので、現実を分析・抽象化してモデル化システム化につなげる所は、まだまだ人手はかかりそう/デザインパターンのくだりは慧眼、確かにその通り
入力パラメータの型があれば変数への代入文を書いてくれるので本当に楽。モックは期待した動きをしない(ゴミデータでも動くコードになりがち)ことが多い気がする。まぁ私はモックとロジックは完全に切り離す派だが
“日本でTDDを広めようと20年、まず自動テストを書くこと自体に高いハードル。そのハードル「学習コスト」と「実装コスト」が、生成AIによって下がった。テスト設計を考える「道具」がある。AIに徹底的に聞こう”
とても良い記事。生成AIとテストについて書かれた話が少なかったので、つながった感がある。カバレッジ上げに使ってる。 ただ目下のところは、モック(minitest)の自動生成に弱いので学習データのが足りない感がある。
“基本的にはどんどん保守性が悪いものになっていくので、「保守性を維持する」という目的を指令に含めたい。それには「テスト駆動開発で」という指示がAIの暴走を防ぐガードレールとして有効になります。”
保守性について触れていて良い。
AIで作った雑スクリプトにAIにテストを書いてもらってるけど、あんま意味ないよなーと思いながらやってる。たぶん自分が理解してないから。
むしろテスト仕様書がプログラム生成のインプットになる可能性が高い。必然的にテストファーストになりそう。
言ってることはすごくわかるんだけど、適切なテストを組み込むのもやっぱりまだまだしんどいんだよねw
『品質保証の観点から「対象のシステムや仕様に対してどのような検証が必要か」を考える』『抽象と具象を行ったり来たりする作業』
t-wada
t-wadaさんの2025年7月時点でのコード生成現在地点。ちゃんと「何月」まで書いているところがいいね。テストを書かすことでテストへのハードルがすごく下がりコーディングエージェントでの開発効率もあがる。
テストが無いと何が起こるかというと、適当に変更してしまってシステムが壊れていく。