AI 編碼代理實際上會寫測試嗎? 測試對於軟體的正確性和可維護性至關重要。隨著自主代理越來越多地提交拉取請求,了解它們的測試行為變得至關重要。 這項新研究分析了 AIDev 數據集,以研究代理生成的拉取請求中的測試包含模式。 他們檢查了測試出現的頻率、在 PR 生命週期中何時引入測試,以及包含測試的 PR 與不包含測試的 PR 之間的差異。 研究結果揭示了有趣的模式。隨著時間的推移,包含測試的 PR 在各代理中變得越來越普遍,這表明測試行為有所改善。但這些 PR 通常比不包含測試的 PR 更大,且完成所需的時間更長。 無論測試是否包含,合併率基本保持相似。這引發了關於審核者是否重視代理生成的測試,或僅僅不懲罰其缺失的問題。 這項工作揭示了不同代理之間的顯著變化。一些代理的測試採用率高於其他代理。包含測試的 PR 中測試代碼與生產代碼的平衡也因代理而異。 這表明測試能力在代理編碼工具中並不是均勻發展的。有些工具在遵循測試慣例方面表現更好。 隨著公司採用 AI 編碼代理,了解它們的測試行為對於代碼質量至關重要。跳過測試或編寫不充分測試的代理會產生技術負債。這一實證基礎有助於識別哪些代理符合良好的軟體工程實踐,以及在哪些方面需要改進。 論文: 在我們的學院學習如何構建有效的 AI 代理: