在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

關于大模型在軟件測試領域應用的全面綜述

vliwulianw ? 來源:軟件質量報道 ? 2024-01-18 09:33 ? 次閱讀

大模型(LLM)由于其卓越的自然語言理解、推理等能力,已經被應用于各種場景,取得了前所未有的效果。

類似的,軟件測試領域也受益于其強大的能力,能夠幫助生成逼真且多樣化測試輸入、模擬各種異常、加速缺陷的發現,提升測試效率和軟件質量。

來自中國科學院軟件研究所、澳大利亞Monash大學、加拿大York大學的研究團隊收集了截止到2023年10月30日發表的102篇相關論文并分別從軟件測試和大模型視角進行了全面分析,總結出一篇關于大模型在軟件測試領域應用的全面綜述。

c0bee602-b542-11ee-8b88-92fbcf53809c.png

研究發現一覽圖是這樣的(兩個不同視角:測試、LLM):

c0eed97a-b542-11ee-8b88-92fbcf53809c.png

詳細內容我們接著往下看。

從軟件測試的視角來看

首先,研究人員從軟件測試的角度進行了分析,并將收集到的研究工作按照測試任務進行組織。

如下圖所示,大模型的應用主要集中在軟件測試生命周期的后段,用于測試用例準備(包括單元測試用例生成、測試預言生成、系統級測試輸入生成)、測試報告分析、程序調試和修復等任務。然而,在測試生命周期的早期任務(如測試需求、測試計劃等)上,目前還沒有使用大語言模型的相關工作。

c103989c-b542-11ee-8b88-92fbcf53809c.png

進一步地,研究人員還對大模型在各種軟件測試任務上的應用進行了詳細分析。

以單元測試用例生成為例,單元測試用例生成任務主要涉及為獨立的軟件或組件單元編寫測試用例,以確保它們的正確性。傳統的基于搜索、約束或隨機的生成技術存在著測試用例覆蓋率弱或可讀性差的問題。

引入LLM后,相對于傳統方法,大模型不僅能夠更好地理解領域知識以生成更準確的測試用例,而且還可以理解軟件項目和代碼上下文的信息,從而生成更全面的測試用例。

對于系統級測試輸入,模糊測試作為常用技術,主要圍繞著生成無效、意外或隨機的測試輸入來達到測試的目的,研究人員也詳細分析了大模型如何改進傳統模糊測試技術。

例如有研究提出通用模糊測試框架Fuzz4All、ChatFuzz等,也有研究專注于特定軟件開發基于大模型的模糊測試技術,包括深度學習庫、編譯器、求解器、移動應用、信息物理系統等。

這些研究的一個關注重點是生成多樣化的測試輸入,以實現更高的覆蓋率,通常通過將變異技術與基于大模型的生成相結合來實現;另一個關注重點是生成可以更早觸發錯誤的測試輸入,常見做法是收集歷史上觸發錯誤的程序來對大模型進行微調或將其作為演示程序在查詢大模型時使用。

論文中對于各種研究的技術思路有更為詳細地介紹和比較。

從大模型的視角來看

隨后,研究人員再從大模型的視角出發,分析了軟件測試任務中選用的大模型,并進一步介紹了如何讓大模型適應測試任務,包括提示工程技術、大模型的輸入以及與傳統測試技術的結合使用。

在所選用的大模型方面,如下圖所示,最常用的前三種大模型分別是ChatGPT、Codex和CodeT5。后兩種是專門在多種編程語言的代碼語料庫上訓練得到的大模型,能夠根據自然語言描述生成完整的代碼片段,因此非常適合涉及源代碼的測試任務,如測試用例生成、缺陷修復。

此外,雖然已經有14個研究使用GPT-4(排名第四),但是GPT-4作為一種多模態大模型,研究人員表示尚未發現相關研究探索軟件測試任務中利用其圖像相關功能(例如UI截圖、編程演示),這值得在未來研究中探索。(編者注:其實是可以的,編者曾做過相關的實驗)

c11601da-b542-11ee-8b88-92fbcf53809c.png

在如何調整大模型行為以勝任軟件測試任務方面,主要有預訓練或微調和提示工程兩種技術手段。

如下圖所示,有38項研究使用了預訓練或微調模式以微調大模型的行為,而64項研究則使用了提示工程來引導大模型達到預期的結果。

提示工程技術的主要優勢在于無需更新模型權重也能讓大模型適應特定領域和任務,并強化大模型的理解和推理能力,目前已經采用的技術包括零樣本或少樣本學習、自我一致性、思維鏈、自動提示等技術。

c122fa34-b542-11ee-8b88-92fbcf53809c.png

此外,研究人員發現有35項研究在運用大模型之上,還結合了傳統測試技術,包括變異測試、差分測試、程序分析、統計分析等,以取得更好的測試有效性和覆蓋率。

雖然大模型在各種任務中表現出巨大的潛力,但仍然存在一些局限性,如難以理解和處理復雜的程序結構。

因此,將大模型與其他技術結合起來,以最大程度地發揮它們的優勢和避免劣勢,從而在特定情況下實現更好的結果,例如生成更多樣化和復雜的代碼,更好地模擬真實場景。

c13d08fc-b542-11ee-8b88-92fbcf53809c.png

用大模型找Bug還有哪些挑戰?

過去兩年中,利用大模型進行軟件測試已經有了很多成功的實踐。然而,研究人員指出它仍處于早期發展階段,還有許多挑戰和未解決問題需要探索。

挑戰1:實現高覆蓋率的挑戰

探索被測試軟件的多樣行為以實現高覆蓋率始終是軟件測試的重要關注點。大模型直接實現所需的多樣性仍然具有很大挑戰,例如單元測試用例生成中,在SF110數據集上,行覆蓋率僅為2%,分支覆蓋率僅為1%。

在系統測試輸入生成方面,對于面向深度學習庫的模糊測試,TensorFlow的API覆蓋率為66%(2215/3316)。已有工作通常將變異測試與大模型結合使用,以生成更多樣化的輸出。

其他潛在的研究方向涉及利用測試相關的數據來訓練或微調能夠理解測試特性的專用大模型,可以理解測試要求,自主地生成多樣化的輸出。

挑戰2:測試預言的挑戰

測試預言問題一直是各種測試應用面臨的挑戰,已有工作常見做法是將其轉化為更容易獲取的形式,通常通過差分測試來實現或僅關注容易自動識別的測試預言(例如崩潰類錯誤),雖然取得了不錯效果,但僅適用于少數情況。

探索利用大模型解決其他類型的測試預言問題是非常有價值的。

例如,蛻變測試也是常用的緩解測試預言問題的技術,可以探索結合人機交互或領域知識自動產生蛻變關系,還可探索大模型自動生成基于蛻變關系的測試用例,覆蓋各類輸入。進一步,像GPT-4這樣的多模態大模型也為檢測用戶界面相關缺陷并輔助推導測試預言提供了可能性。

挑戰3:精準評估性能的挑戰

缺乏基準數據集和基于大模型技術潛在的數據泄漏問題給進行嚴格和全面的性能評估帶來了挑戰。研究人員通過檢查訓練大模型的數據源CodeSearchNet和BigQuery,發現Defect4J基準數據集中使用的四個代碼庫同時包含在CodeSearchNet中,并且整個Defects4J代碼庫都包含在BigQuery中。

因此,大模型在預訓練過程中已經見過現有的程序修復基準數據集,存在嚴重的數據泄露問題。所以,需要構建更專門和多樣化的基準數據集,并采取措施防止數據泄漏。

挑戰4:用于現實項目的挑戰

由于對數據隱私的關注,在考慮實際應用時,大多數軟件組織傾向于避免使用商用大模型,更愿意采用開源的大模型,并使用組織特定的數據進行訓練或微調。

此外,一些公司還考慮到計算能力的限制或關注能源消耗等,傾向于采用中等規模的模型。在這樣的現實條件下,要達到與已有研究工作中報告的類似性能是非常具有挑戰的。例如,在廣泛使用的QuixBugs數據集中,40個Python錯誤中有39個能夠自動修復,40個Java錯誤中有34個能夠自動修復。

然而,當涉及到從Stack Overflow收集的深度學習程序(代表實際的編碼實踐)時,72個Python錯誤中僅有16個能夠自動修復。如何更關注現實需求研發相應的技術才能更利于技術落地和實際應用。

大模型也帶來了研究機遇

利用大模型進行軟件測試也帶來了許多研究機遇,對于軟件測試領域的發展大有益處。

機遇1:利用大模型進行更多樣化的軟件測試任務和階段

在測試任務的初期階段,目前LLM還未得到有效應用(編者注:其實在早期,LLM更能發揮作用)。主要原因有兩方面:一是早期測試任務的主觀性,需要專家進行評估;二是早期階段缺乏開放數據資源,這限制了大模型的性能表現。

此外,如下圖所示,雖然大模型在單元測試和系統測試方面得到了廣泛應用,但在集成測試和驗收測試方面的應用相對較少。總之,如何充分利用大模型進行更多樣化的軟件測試任務和測試階段是一個值得深入研究的新方向。例如,在驗收測試方面,大模型可以與人類測試人員協同工作,以自動生成測試用例并評估測試覆蓋率。

c16b5b94-b542-11ee-8b88-92fbcf53809c.png

機遇2:將大模型應用于更廣泛的測試類型和軟件

一方面,雖然大模型在功能測試方面得到了廣泛應用,但在性能測試和可用性測試等其他方面應用較少,這可能是因為這些測試已有一些專門且讓人滿意的模型和工具。

但將大模型與這些工具相結合仍不失為一個潛在的研究方向,例如利用大模型整合性能測試工具,并模擬真實用戶行為來產生不同類型的工作負載。另一方面,如下圖所示,已經有研究在多種類型的軟件測試中成功應用了大模型,例如移動應用,深度學習庫、自動駕駛系統等。不僅能將現有技術遷移到其他類型的軟件上,也可以針對某類軟件的特性,研發針對性的技術。

c177cca8-b542-11ee-8b88-92fbcf53809c.png

機遇3:整合先進的提示工程技術

現有研究尚未充分挖掘大模型的潛力,如下圖所示,僅使用了五種最常見的提示工程技術。未來的研究應該探索更高級的提示工程技術(如圖中的思維樹、多模態思維鏈等),以更充分地發揮或增強大模型的理解和推理能力。

c194ffd0-b542-11ee-8b88-92fbcf53809c.png

機遇4:和傳統技術結合

目前關于大模型在解決軟件測試問題方面的能力還沒有明確的共識,有研究將大模型與傳統軟件測試技術相結合取得了很好的效果,這可能意味著大模型并非解決軟件測試問題的唯一靈丹妙藥。

考慮到已有許多成熟的軟件工程相關技術和工具,可以探索將大模型與傳統技術相結合(例如形式化驗證等尚未在已有研究中探索過的)、探索其他更先進的結合方式、以及與工具集成更好地發掘已有工具的潛力。







審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • GPT
    GPT
    +關注

    關注

    0

    文章

    354

    瀏覽量

    15373
  • 大模型
    +關注

    關注

    2

    文章

    2450

    瀏覽量

    2707
  • LLM
    LLM
    +關注

    關注

    0

    文章

    288

    瀏覽量

    335

原文標題:使用大模型進行軟件測試:調查、現狀和展望

文章出處:【微信號:軟件質量報道,微信公眾號:軟件質量報道】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    潤和軟件榮獲IDC測試自動化領域唯一推薦廠商

    近日,國際知名市場研究機構IDC發布《中國生成式人工智能技術與品牌推薦》報告,推薦了人工智能領域中表現突出的廠商。江蘇潤和軟件股份有限公司(簡稱“潤和軟件”)憑借AI技術和金融
    的頭像 發表于 12-24 10:47 ?153次閱讀

    【「大模型啟示錄」閱讀體驗】對大模型更深入的認知

    能在教育、設計、游戲、廣告等領域發揮如此重要的作用。這些內容讓我對大模型的潛力充滿了期待,也讓我對AI技術的未來充滿了好奇。 書中還提到了大模型與DevOps的結合,以及它們如何提高軟件
    發表于 12-20 15:46

    【「大模型啟示錄」閱讀體驗】如何在客服領域應用大模型

    客服領域是大模型落地場景中最多的,也是最容易實現的。本身客服領域的特點就是問答形式,大模型接入難度低。今天跟隨《大
    發表于 12-17 16:53

    高效大模型的推理綜述

    模型由于其各種任務中的出色表現而引起了廣泛的關注。然而,大模型推理的大量計算和內存需求對其資源受限場景的部署提出了挑戰。業內一直努力
    的頭像 發表于 11-15 11:45 ?383次閱讀
    高效大<b class='flag-5'>模型</b>的推理<b class='flag-5'>綜述</b>

    模型動態測試工具TPT的軟件集成與測試支持#Siumlink模型測試 #TPT

    模型
    北匯信息POLELINK
    發布于 :2024年11月07日 11:20:29

    AI大模型智能座艙軟件測試中的應用與思考

    隨著汽車智能化程度的不斷提高,傳統的車輛功能已經逐漸向復雜的軟件系統轉型。尤其智能座艙領域,從多屏交互到增強現實(AR)的廣泛應用,各類新技術層出不窮,這也使得軟件
    的頭像 發表于 10-28 16:49 ?284次閱讀
    AI大<b class='flag-5'>模型</b><b class='flag-5'>在</b>智能座艙<b class='flag-5'>軟件</b><b class='flag-5'>測試</b>中的應用與思考

    柔性測試技術的應用領域

    柔性測試技術是以多種相關技術為基礎,可滿足復雜、多樣化的測試測量需求的系統化技術。它的應用領域廣泛,涵蓋了多個重要行業,以下是關于柔性測試
    的頭像 發表于 10-08 18:03 ?501次閱讀

    軟件測試六大問 全面而深入的軟件測試行業解疑

    隨著科技的進步和大數據時代的到來,?軟件測試面臨著前所未有的挑戰和機遇。?在這篇文章中我們將深入討論軟件測試行業的發展前景、行業趨勢、薪資水平等,為讀者提供一次
    的頭像 發表于 07-30 10:28 ?284次閱讀

    摩爾線程與智譜AI完成大模型性能測試與適配

    近日,摩爾線程與智譜AI人工智能領域開展了一輪深入的合作,共同對GPU大模型進行了適配及性能測試。此次測試不僅涵蓋了大
    的頭像 發表于 06-14 16:40 ?1081次閱讀

    仿真測試軟件測試的區別

    在當今軟件開發和驗證的領域中,測試是保證軟件質量的關鍵環節。而在測試的眾多方法中,仿真測試
    的頭像 發表于 05-17 14:33 ?893次閱讀

    【大語言模型:原理與工程實踐】大語言模型的評測

    和安全性。行業模型的評測則針對特定領域的能力,整體能力的評測則從宏觀角度評估模型的通用性。基座模型的評測中,除了自回歸損失和困惑度等指標外
    發表于 05-07 17:12

    【大語言模型:原理與工程實踐】核心技術綜述

    我也不打算把網上相關的信息總結一下,這樣的話,工作量很大。 我主要看了-大語言模型基礎技術這節 大語言模型(Large Language Models,LLMs)的核心技術涵蓋了從模型
    發表于 05-05 10:56

    【大語言模型:原理與工程實踐】探索《大語言模型原理與工程實踐》

    全面認識,還提供了將這些模型應用于實際問題的實用指導。對于希望人工智能領域深入研究的讀者來說,這是一本不可多得的參考書籍。
    發表于 04-30 15:35

    谷歌模型軟件有哪些功能

    谷歌模型軟件通常指的是谷歌推出的一系列人工智能模型軟件工具,其中最具代表性的是Google Gemini。Google Gemini是谷歌DeepMind團隊開發的一款大型語言
    的頭像 發表于 03-01 16:20 ?656次閱讀

    谷歌模型軟件有哪些好用的

    谷歌模型軟件的好用程度可能因個人需求和技能水平而異,但以下是一些廣受歡迎的谷歌模型軟件,它們各自的領域
    的頭像 發表于 02-29 18:17 ?1059次閱讀
    主站蜘蛛池模板: 草草影院ccyy国产日本欧美| 性欧美大战久久久久久久久| 午夜精品福利在线| 久久美女免费视频| 天天操夜夜做| 亚洲免费网站在线观看| 久久精品乱子伦免费| 亚洲 欧美 91| 色噜噜久久| 2022欧美高清中文字幕在线看| 午夜视频在线观看一区| 性xxxx奶大欧美高清| 亚洲精品456人成在线| 久久夜色精品国产亚洲| 日本特级黄录像片| 狠狠色噜噜综合社区| 美女张开大腿让男人桶| 手机看片国产免费永久| 久久婷婷人人澡人人爱91| 免费一级网站| 久久午夜神器| 亚洲干综合| 岛国午夜| www.91大神| 日本一线a视频免费观看| 天天干在线影院| 很黄很污小说| 精品卡1卡2卡三卡免费网站视频| 在线观看s色| hd性欧美| 你懂的视频在线看| 黄网观看| 四虎最新影院| 亚洲 欧美 校园| 激情五月社区| 国产美女主播在线| 69xxxx欧美老师| 美女视频黄视大全视频免费网址| 狠狠操天天操视频| 瑟瑟久久| 六月丁香综合网|