微軟開源跨語言單元測試代理:內部評測完成率達92.1%高於原生Copilot

微軟.NET團隊開源一套跨語言單元測試代理,能先分析專案使用的程式語言、測試工具與既有測試流程,再自動產生並檢查單元測試。微軟以152項任務進行內部評測,該代理完成140項,完成率達92.1%,高於使用相同AI模型與提示內容的原生GitHub Copilot,其完成率為78.9%。

分析專案流程後產生單元測試

單元測試主要用於確認個別程式功能是否按照預期運作。代理收到測試要求後,會先檢視程式碼儲存庫,找出需要測試的程式、專案採用的測試工具,以及既有測試的存放位置與執行方式,再依照專案原有做法產生測試程式。

測試完成後,系統還會確認新增測試是否已納入專案原有的自動化測試流程,避免測試只能單獨執行,卻沒有真正成為專案檢查的一部分。

此外,代理會檢查指定情境的涵蓋情形、測試判定條件是否有效,以及完整專案的建置與測試結果。系統也會模擬對待測程式進行小幅修改,確認測試能在程式行為改變時找出問題,降低測試雖然通過、實際上卻未發揮檢查作用的情況。

模糊需求下的表現差距更明顯

微軟公布的結果顯示,專用代理與原生Copilot的差距,主要出現在指示不夠明確的任務。

  • 在89項較模糊的要求中,專用代理完成79項,完成率為88.8%;原生Copilot完成59項,完成率為66.3%。
  • 在63項指示詳細的任務中,雙方都完成61項。
  • 在15項要求針對特定程式碼修改補上測試的任務中,專用代理全數完成,原生Copilot則沒有完成任何一項。

支援多種程式語言

這套代理支援.NET、Python、TypeScript、JavaScript、Java、Go、Ruby、Rust、Swift、Kotlin、PowerShell及C++等語言,並會依各專案既有的測試方式產生內容。

不過,微軟指出專用代理並非在所有語言都優於原生Copilot。例如在10項PowerShell任務中,專用代理完成7項,原生Copilot完成8項。微軟也提醒,部分語言的測試樣本數量不大,因此提供的測試資料無法直接代表所有專案的實際表現。

可透過GitHub Copilot與VS Code使用

目前這套代理可透過GitHub Copilot命令列工具使用,也能在VS Code與VS Code Insiders透過仍處於預覽階段的外掛功能使用。微軟另表示,正在準備Visual Studio支援。

Related Articles

Stay Connected

0FansLike
0FollowersFollow
22,800SubscribersSubscribe
spot_img

Latest Articles