軟件測(cè)試是保障質(zhì)量的關(guān)鍵環(huán)節(jié),但測(cè)試用例設(shè)計(jì)耗時(shí)、覆蓋分析繁瑣、自動(dòng)化腳本維護(hù)成本高等問(wèn)題,一直困擾著測(cè)試團(tuán)隊(duì)。大語(yǔ)言模型的出現(xiàn),為測(cè)試工作提供了一種新的輔助手段。這里從幾個(gè)實(shí)踐角度,聊聊AI如何在測(cè)試流程中發(fā)揮作用。
一、提示工程:讓AI理解測(cè)試需求
大模型不是測(cè)試專家,它需要清晰的指令才能輸出有價(jià)值的內(nèi)容。提示工程的核心,就是寫(xiě)好給模型的“問(wèn)題”。
一個(gè)好的測(cè)試相關(guān)提示,通常包含幾個(gè)要素:角色設(shè)定(你是一名資深測(cè)試工程師)、任務(wù)描述(根據(jù)以下需求規(guī)格說(shuō)明設(shè)計(jì)測(cè)試用例)、輸入內(nèi)容(粘貼需求原文)、輸出格式(表格形式列出用例編號(hào)、前置條件、測(cè)試步驟、預(yù)期結(jié)果)、約束條件(覆蓋正常場(chǎng)景和異常場(chǎng)景,不少于10條)。
實(shí)踐中發(fā)現(xiàn),用結(jié)構(gòu)化提示(如分點(diǎn)列出要求)比自然語(yǔ)言描述效果更好。同時(shí),給模型提供幾個(gè)示例(few-shot)可以大幅提升輸出質(zhì)量。
二、需求分析:從文本到測(cè)試項(xiàng)
測(cè)試工作的起點(diǎn)是需求分析。傳統(tǒng)方法是人工閱讀需求文檔,提取功能點(diǎn),識(shí)別業(yè)務(wù)規(guī)則,轉(zhuǎn)化為測(cè)試項(xiàng)。這個(gè)過(guò)程耗時(shí)且容易遺漏邊界條件。
用大模型輔助時(shí),可以這樣操作:將軟件需求規(guī)格說(shuō)明(SRS)分段輸入模型,要求它提取每個(gè)功能點(diǎn)的測(cè)試項(xiàng)。例如,對(duì)于“用戶登錄功能”,模型可以輸出:正常登錄、密碼錯(cuò)誤、用戶名不存在、賬戶鎖定、密碼超限次嘗試、空輸入、特殊字符注入等測(cè)試項(xiàng)。
關(guān)鍵在于,模型輸出的測(cè)試項(xiàng)需要人工審核和補(bǔ)充。模型擅長(zhǎng)列舉常見(jiàn)場(chǎng)景,但對(duì)領(lǐng)域特定的業(yè)務(wù)規(guī)則可能不熟悉,需要測(cè)試人員結(jié)合業(yè)務(wù)知識(shí)完善。
三、測(cè)試設(shè)計(jì):用例生成與覆蓋優(yōu)化
測(cè)試設(shè)計(jì)階段,AI可以幫助生成測(cè)試用例、推薦覆蓋路徑、輔助GUI測(cè)試設(shè)計(jì)。
用例生成:將測(cè)試項(xiàng)輸入模型,要求它生成詳細(xì)的測(cè)試用例。例如,對(duì)于“密碼錯(cuò)誤”這一測(cè)試項(xiàng),模型可以輸出:前置條件(用戶已注冊(cè)且未鎖定)、步驟(輸入正確用戶名、錯(cuò)誤密碼)、預(yù)期結(jié)果(提示密碼錯(cuò)誤,登錄失?。?duì)于涉及多步驟業(yè)務(wù)流程的用例,模型可以生成完整的操作路徑。
覆蓋優(yōu)化:對(duì)于代碼覆蓋,模型可以分析未被測(cè)試覆蓋的代碼路徑,推薦需要補(bǔ)充的測(cè)試場(chǎng)景。這需要將代碼結(jié)構(gòu)(如調(diào)用關(guān)系、分支條件)輸入模型,模型可以識(shí)別出哪些邏輯分支可能被遺漏。
GUI測(cè)試設(shè)計(jì):模型可以根據(jù)界面原型或控件描述,生成界面交互的測(cè)試場(chǎng)景,如輸入校驗(yàn)、窗口跳轉(zhuǎn)、數(shù)據(jù)聯(lián)動(dòng)等。
四、測(cè)試執(zhí)行:腳本生成與環(huán)境構(gòu)建
AI在測(cè)試執(zhí)行環(huán)節(jié)的價(jià)值,主要體現(xiàn)在自動(dòng)化腳本生成和環(huán)境搭建上。
腳本生成:對(duì)于UI自動(dòng)化(如Selenium)、接口自動(dòng)化(如Postman/Requests)、單元測(cè)試(如JUnit),模型可以根據(jù)測(cè)試用例生成代碼框架。關(guān)鍵在于提示中要明確技術(shù)棧(如Python+pytest+requests)、框架結(jié)構(gòu)、數(shù)據(jù)驅(qū)動(dòng)方式。模型輸出的腳本通常需要人工調(diào)整,但可以節(jié)省從零編寫(xiě)的時(shí)間。
環(huán)境搭建:模型可以生成測(cè)試環(huán)境的配置文件(如Docker Compose)、數(shù)據(jù)初始化腳本、樁模塊代碼。對(duì)于依賴外部服務(wù)的測(cè)試,模型可以模擬接口返回?cái)?shù)據(jù),幫助搭建隔離的測(cè)試環(huán)境。
五、應(yīng)用案例:幾個(gè)典型場(chǎng)景
單元測(cè)試:將函數(shù)代碼輸入模型,要求生成對(duì)應(yīng)的單元測(cè)試用例。模型可以覆蓋正常路徑、邊界值、異常輸入,并生成斷言。對(duì)于復(fù)雜的算法函數(shù),模型能理解邏輯并設(shè)計(jì)測(cè)試點(diǎn)。
系統(tǒng)測(cè)試:針對(duì)完整業(yè)務(wù)流程,模型可以根據(jù)需求文檔設(shè)計(jì)端到端測(cè)試場(chǎng)景。例如,電商系統(tǒng)的下單流程,模型可以生成正常下單、庫(kù)存不足、優(yōu)惠券失效、支付超時(shí)等多個(gè)場(chǎng)景,并描述操作步驟和預(yù)期結(jié)果。
回歸測(cè)試:當(dāng)代碼變更時(shí),模型可以分析變更影響范圍,推薦需要回歸的測(cè)試用例集。將變更說(shuō)明和現(xiàn)有用例列表輸入模型,模型可以篩選出可能受影響的用例。
性能與可靠性:模型可以幫助設(shè)計(jì)性能測(cè)試場(chǎng)景(如并發(fā)用戶數(shù)、思考時(shí)間、負(fù)載模型)和可靠性測(cè)試場(chǎng)景(如異常注入、資源耗盡、故障恢復(fù))。
六、邊界與局限
AI輔助測(cè)試不是能的,有幾個(gè)邊界需要清楚。
需求質(zhì)量決定輸出質(zhì)量:如果需求本身模糊不清,模型生成的測(cè)試項(xiàng)和用例也難以準(zhǔn)確。AI輔助的前提是需求文檔足夠清晰。
需要人工審核:模型可能遺漏領(lǐng)域特定的業(yè)務(wù)規(guī)則,可能生成不符合實(shí)際系統(tǒng)的操作路徑,需要測(cè)試人員逐條審核和修正。
不適合復(fù)雜邏輯:對(duì)于涉及多系統(tǒng)交互、復(fù)雜狀態(tài)機(jī)、實(shí)時(shí)性要求的測(cè)試場(chǎng)景,模型的理解能力有限,還是需要人工設(shè)計(jì)。
數(shù)據(jù)敏感問(wèn)題:將需求文檔、代碼片段輸入模型時(shí),需注意信息安全,敏感信息不宜上傳。
結(jié)語(yǔ)
AI輔助軟件測(cè)試的價(jià)值,不在于替代測(cè)試工程師,而在于將測(cè)試人員從重復(fù)性、模式化的工作中解放出來(lái),讓他們更專注于復(fù)雜場(chǎng)景設(shè)計(jì)、風(fēng)險(xiǎn)評(píng)估、質(zhì)量策略等創(chuàng)造性工作。提示工程、需求分析、用例生成、腳本輔助、覆蓋優(yōu)化,這些環(huán)節(jié)都可以逐步引入AI工具,關(guān)鍵是找到適合自己團(tuán)隊(duì)的工作流。工程師高培覺(jué)得測(cè)試的本質(zhì)沒(méi)有變,變的只是工具箱里多了幾件新工具。
審核編輯 黃宇
-
AI
+關(guān)注
關(guān)注
91文章
40274瀏覽量
301874 -
軟件測(cè)試
+關(guān)注
關(guān)注
2文章
251瀏覽量
20332
發(fā)布評(píng)論請(qǐng)先 登錄
AI輔助編程設(shè)計(jì)之道:從Spec到Code工程實(shí)踐
軟通動(dòng)力ASDM AI優(yōu)先軟件研發(fā)流水線助力軟件工程發(fā)展
使用NORDIC AI的好處
嵌入式軟件單元測(cè)試中AI自動(dòng)化與人工檢查的協(xié)同機(jī)制研究:基于專業(yè)工具的實(shí)證分析
軟件定義的硬件輔助驗(yàn)證如何助力AI芯片開(kāi)發(fā)
融合AI的OpenHarmony應(yīng)用軟件開(kāi)發(fā):ai學(xué)習(xí)自律輔助軟件
HarmonyOSAI編程DevEco AI輔助編程工具
HarmonyOS AI輔助編程工具(CodeGenie)概述
實(shí)驗(yàn)室電池測(cè)試:大家更關(guān)注哪些動(dòng)態(tài)性能指標(biāo)?聊聊測(cè)試設(shè)備的幾個(gè)關(guān)鍵點(diǎn)
大家都在用什么AI軟件?有沒(méi)有好用的免費(fèi)的AI軟件推薦一下?
華為全新升級(jí)AI輔助開(kāi)發(fā)能力
智能路徑調(diào)度:AI驅(qū)動(dòng)負(fù)載均衡的異常路徑治理實(shí)踐
AI輔助軟件測(cè)試:幾個(gè)關(guān)鍵路徑
評(píng)論