91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

3天內(nèi)不再提示

關(guān)于大模型在軟件測試領域應用的全面綜述

vliwulianw ? 來源:軟件質(zhì)量報道 ? 2024-01-18 09:33 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

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

詳細內(nèi)容我們接著往下看。

從軟件測試的視角來看

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

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

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

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

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

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

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

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

這些研究的一個關(guān)注重點是生成多樣化的測試輸入,以實現(xiàn)更高的覆蓋率,通常通過將變異技術(shù)與基于大模型的生成相結(jié)合來實現(xiàn);另一個關(guān)注重點是生成可以更早觸發(fā)錯誤的測試輸入,常見做法是收集歷史上觸發(fā)錯誤的程序來對大模型進行微調(diào)或?qū)⑵渥鳛檠菔境绦蛟诓樵兇竽P蜁r使用。

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

從大模型的視角來看

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

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

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

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

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

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

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

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

此外,研究人員發(fā)現(xiàn)有35項研究在運用大模型之上,還結(jié)合了傳統(tǒng)測試技術(shù),包括變異測試、差分測試、程序分析、統(tǒng)計分析等,以取得更好的測試有效性和覆蓋率。

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

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

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

用大模型找Bug還有哪些挑戰(zhàn)?

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

挑戰(zhàn)1:實現(xiàn)高覆蓋率的挑戰(zhàn)

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

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

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

挑戰(zhàn)2:測試預言的挑戰(zhàn)

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

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

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

挑戰(zhàn)3:精準評估性能的挑戰(zhàn)

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

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

挑戰(zhàn)4:用于現(xiàn)實項目的挑戰(zhàn)

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

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

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

大模型也帶來了研究機遇

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

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

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

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

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

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

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

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

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

機遇3:整合先進的提示工程技術(shù)

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

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

機遇4:和傳統(tǒng)技術(shù)結(jié)合

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

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







審核編輯:劉清

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

    關(guān)注

    0

    文章

    368

    瀏覽量

    16882
  • 大模型
    +關(guān)注

    關(guān)注

    2

    文章

    3651

    瀏覽量

    5191
  • LLM
    LLM
    +關(guān)注

    關(guān)注

    1

    文章

    346

    瀏覽量

    1336

原文標題:使用大模型進行軟件測試:調(diào)查、現(xiàn)狀和展望

文章出處:【微信號:軟件質(zhì)量報道,微信公眾號:軟件質(zhì)量報道】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    C語言單元測試嵌入式軟件開發(fā)中的作用及專業(yè)工具的應用

    方面: ?早期缺陷發(fā)現(xiàn)****?:單元測試可以開發(fā)早期發(fā)現(xiàn)代碼中的邏輯錯誤和邊界條件問題,降低后期修復成本 ?硬件交互驗證****?:嵌入式軟件通常需要直接與硬件交互,單元測試可以驗
    發(fā)表于 12-18 11:46

    如何在模型環(huán)測試中高效進行故障注入測試

    汽車測試領域,模型測試階段進行故障注入,是保障汽車安全性、可靠性的關(guān)鍵手段。如何提高故障注入測試
    的頭像 發(fā)表于 12-10 13:51 ?1230次閱讀
    如何在<b class='flag-5'>模型</b><b class='flag-5'>在</b>環(huán)<b class='flag-5'>測試</b>中高效進行故障注入<b class='flag-5'>測試</b>

    探索RISC-V機器人領域的潛力

    : 參照大賽其他帖子,嘗試了使用K1的AI加速單元運行一些輕量級神經(jīng)網(wǎng)絡模型(如圖像分類),推理速度令人滿意,展現(xiàn)了其邊緣AI應用上的潛力。 ? UEFI開發(fā)環(huán)境: 論壇中也有關(guān)于UEFI固件開發(fā)
    發(fā)表于 12-03 14:40

    嵌入軟件單元測試全面研究與實踐

    引言 嵌入軟件單元測試是確保嵌入式系統(tǒng)質(zhì)量和可靠性的關(guān)鍵環(huán)節(jié)。嵌入式系統(tǒng)廣泛應用于汽車電子、工業(yè)控制、醫(yī)療設備等關(guān)鍵領域,其軟件直接操控硬件,任何微小的錯誤都可能導致嚴重后果。單元
    的頭像 發(fā)表于 12-01 14:31 ?547次閱讀

    以下嵌入式軟件設計模型中,屬于數(shù)據(jù)流模型的是,哪里有設計模型的介紹?

    以下嵌入式軟件設計模型中,屬于數(shù)據(jù)流模型的是()。A. CCSB. CSPC. FSMD. Petri Net
    發(fā)表于 11-24 15:55

    無人機電磁兼容測試系統(tǒng)軟件全面解析

    無人機電磁兼容測試系統(tǒng)軟件全面解析
    的頭像 發(fā)表于 09-12 15:18 ?675次閱讀
    無人機電磁兼容<b class='flag-5'>測試</b>系統(tǒng)<b class='flag-5'>軟件</b><b class='flag-5'>全面</b>解析

    上??匕玻夯?b class='flag-5'>模型測試用例生成

    在當今復雜多變的軟件開發(fā)環(huán)境中,軟件系統(tǒng)的規(guī)模和復雜度不斷攀升,傳統(tǒng)測試方法面臨著諸多挑戰(zhàn)。如何高效、準確地生成測試用例,以確保軟件系統(tǒng)的質(zhì)
    的頭像 發(fā)表于 08-28 14:30 ?856次閱讀
    上??匕玻夯?b class='flag-5'>模型</b>的<b class='flag-5'>測試</b>用例生成

    電源控制器MCU硬件環(huán)(HIL)測試方案

    。 方案基于 CPU+FPGA 架構(gòu),可實現(xiàn)納秒級實時仿真,特別適合電源拓撲的精確模擬。其圖形化建模界面和無需編譯的特性大幅降低了技術(shù)門檻,使工程師能夠快速搭建各類電源系統(tǒng)模型并開展全面測試。 二
    發(fā)表于 08-20 18:31

    國產(chǎn)電源模塊測試軟件功能應用全面解析

    應用方面進行全面解析。 電源測試系統(tǒng) 核心功能解析: 多類型電源全面測試支持? 納米軟件電源測試
    的頭像 發(fā)表于 08-01 11:51 ?966次閱讀
    國產(chǎn)電源模塊<b class='flag-5'>測試</b><b class='flag-5'>軟件</b>功能應用<b class='flag-5'>全面</b>解析

    模型捉蟲行家MV:致力全流程模型動態(tài)測試

    隨著基于模型設計(MBD)開發(fā)量的增長,其對應的測試需求也顯著提升。此前,《您的模型診斷專家MI:助力把好模型質(zhì)量關(guān)》一文中詳述了
    的頭像 發(fā)表于 07-09 16:37 ?885次閱讀
    <b class='flag-5'>模型</b>捉蟲行家MV:致力全流程<b class='flag-5'>模型</b>動態(tài)<b class='flag-5'>測試</b>

    【案例集錦】功率放大器傳感器測試領域研究中的應用

    關(guān)于傳感器相關(guān)測試現(xiàn)代工業(yè)與科研領域,傳感器作為獲取外界信息的關(guān)鍵設備,其性能測試至關(guān)重要。功率放大器作為傳感器相關(guān)
    的頭像 發(fā)表于 06-26 18:46 ?1825次閱讀
    【案例集錦】功率放大器<b class='flag-5'>在</b>傳感器<b class='flag-5'>測試</b><b class='flag-5'>領域</b>研究中的應用

    關(guān)于AI工廠三階段模型

    轉(zhuǎn)型計劃將AI技術(shù)深度融入智慧制造、智慧電動車與智慧城市三大領域,標志著鴻海從傳統(tǒng)制造向智能化、平臺化的全面升級。關(guān)于AIFactory,此次發(fā)布AI工廠三階段模型,從
    的頭像 發(fā)表于 05-20 23:26 ?1385次閱讀
    <b class='flag-5'>關(guān)于</b>AI工廠三階段<b class='flag-5'>模型</b>

    淺談驅(qū)動板的軟件測試

    綜上所述,驅(qū)動板的軟件測試是確保驅(qū)動板產(chǎn)品質(zhì)量和可靠性的重要環(huán)節(jié)。通過對驅(qū)動板進行全面、系統(tǒng)的軟件測試,可以發(fā)現(xiàn)并修復潛在的問題和缺陷,提高
    的頭像 發(fā)表于 03-24 16:12 ?1014次閱讀

    浪潮軟件率先推出政務服務大模型,重塑全場景應用

    濟南2025年3月12日?/美通社/ -- DeepSeek爆火加速了政務服務行業(yè)全面擁抱AI的步伐,全國各地紛紛加速推進大模型政務服務領域的探索與創(chuàng)新。作為數(shù)字政府
    的頭像 發(fā)表于 03-14 18:18 ?864次閱讀
    浪潮<b class='flag-5'>軟件</b>率先推出政務服務大<b class='flag-5'>模型</b>,重塑全場景應用

    無橋PFC變換器綜述

    拓撲的發(fā)展歷程進行了全面綜述,并將無橋 PFC 變換器拓撲合成方案分為三大類,分別進行了詳細介紹。最后,給出了無橋變換器拓撲的發(fā)展方向。 關(guān)鍵詞:無橋 PFC 變換器;雙極性增益;Boost 變換器
    發(fā)表于 03-13 13:50