大規模軟件測試生成和測試完成基準測試
現有的代碼生成模型可以幫助改善許多常見的軟件任務,從代碼完成到缺陷預測。然而,現有的基準測試主要集中在代碼創作或代碼完成,而很少關注軟件測試,儘管良好的測試軟件與有效的錯誤檢測之間存在強烈的相關性。為了填補這一空白,我們創建並發布了TESTGENEVAL,這是一個大規模的基準測試,用於測量測試生成性能。TESTGENEVAL包含來自11個維護良好的Python存儲庫的1,210個代碼和測試文件對,涵蓋了初始測試編寫、測試套件完成和代碼覆蓋率提高。我們評估了幾種流行的模型,參數大小從7B到405B不等。我們的詳細分析突出了TESTGENEVAL對全面評估測試生成性能的貢獻。特別是,模型難以生成高覆蓋率的測試套件,最佳模型GPT-4o只達到35.2%的平均覆蓋率。這主要是由於模型難以推理執行,以及在處理複雜代碼路徑時經常出現斷言錯誤。