要約
- LLM(Large Language Models)には、正確なユニットテストを作成する能力がないという重要な弱点がある。
- ChatGPTとCopilotは、簡単なアルゴリズムのための正しいコード生成には成功するが、ユニットテストの生成では性能が著しく低下する。
- 自動テスト生成はソフトウェア開発でのAIの主要な用途の1つであり、多くの開発者がそれを使用しているが、最近の研究ではその品質が問題視されている。
- AIがテストを作成することで、必要なコンテキストや特定の要件、コードベースの微妙なニュアンスを理解できないため、適切なテストが不足している可能性がある。
- AIにコードがどのように失敗する可能性があるかを特定するように尋ねることは、AIのより良い活用法であると開発者は述べている。
- AIによるテスト生成は信頼性に疑問符を投げかけ、生成されたテストはすべての重要なシナリオをカバーしない可能性があるため、開発者の判断が重要である。
考察
AIがテストを生成することで、テストの品質や信頼性に影響を与える可能性があることが明らかになっています。AIはコンテキストや要件を理解する能力に制約があり、現在のコードの振る舞いを検証するテストを生成する傾向があるため、開発者の判断や追加のデバッグが必要とされます。AIの活用には慎重なアプローチが求められる一方、AIモデルにより多くのコンテキストを提供することで、生成されるコードやテストの品質を向上させることが可能であることが示唆されています。
元記事: https://analyticsindiamag.com/developers-corner/why-cant-ai-tools-get-programming-tests-right/