試用例:從提示詞設(shè)計(jì)到Excel落地全流程)
登錄功能大概是測(cè)試圈里最看不起、又最寫(xiě)不完的功能。你說(shuō)簡(jiǎn)單吧賬號(hào)密碼輸對(duì)點(diǎn)一下登錄就完事了但真要讓一個(gè)同學(xué)把用例寫(xiě)到能過(guò)評(píng)審?fù)镆徽臁A鞒?、異常流程、密碼錯(cuò)誤、賬號(hào)鎖定、驗(yàn)證碼過(guò)期、多次失敗、異地登錄、弱密碼、SQL注入、XSS攻擊……列到后面自己都想吐。我前陣子接了一個(gè)登錄模塊優(yōu)化的需求當(dāng)天下午就要用例評(píng)審實(shí)在不想從空白Excel開(kāi)始敲就試著用文心一言跑了一遍結(jié)果5分鐘拿到一份60多條用例的初稿再審一遍補(bǔ)上業(yè)務(wù)規(guī)則半小時(shí)內(nèi)直接交出去。這篇文章就把這套AI測(cè)試實(shí)操方法完整拆給你提示詞怎么設(shè)計(jì)、AI生成結(jié)果怎么審、Excel模板怎么落地以及那些我踩過(guò)之后才知道的坑。不管你用的是文心一言還是其他大模型思路都是通用的。適合正在做功能測(cè)試的同學(xué)也適合想用AI給團(tuán)隊(duì)提效的測(cè)試負(fù)責(zé)人。1. 為什么寫(xiě)登錄用例這種小事也要用AI1.1 你真的了解登錄用例要覆蓋多少維度嗎很多人對(duì)登錄用例的認(rèn)知停留在輸入賬號(hào)密碼點(diǎn)登錄但真正上線過(guò)的項(xiàng)目都知道一個(gè)登錄框背后牽扯的測(cè)試維度遠(yuǎn)超想象。功能層面要覆蓋正常登錄、密碼錯(cuò)誤、賬號(hào)不存在、賬號(hào)鎖定、驗(yàn)證碼失效、記住密碼、退出登錄、Session過(guò)期安全層面要覆蓋暴力破解、SQL注入、XSS腳本、密碼傳輸加密、驗(yàn)證碼繞過(guò)兼容層面要覆蓋不同瀏覽器、不同操作系統(tǒng)、不同分辨率性能層面要考慮并發(fā)登錄、接口響應(yīng)時(shí)間。再加上現(xiàn)在的系統(tǒng)普遍支持掃碼登錄、短信驗(yàn)證碼登錄、第三方OAuth登錄登錄這個(gè)小功能真正展開(kāi)寫(xiě)一百條用例一點(diǎn)都不夸張。我在實(shí)際項(xiàng)目里見(jiàn)過(guò)太多以為寫(xiě)完了上線就出事故的情況。比如驗(yàn)證碼邏輯沒(méi)覆蓋、多次失敗鎖定策略沒(méi)驗(yàn)證、找回密碼后舊Session沒(méi)有失效這些問(wèn)題一旦漏到生產(chǎn)環(huán)境輕則被安全團(tuán)隊(duì)通報(bào)重則影響用戶賬號(hào)安全。所以登錄用例不是不需要寫(xiě)全而是太容易靠個(gè)人經(jīng)驗(yàn)漏寫(xiě)。AI在這里最大的價(jià)值就是像一個(gè)讀過(guò)幾百個(gè)登錄模塊用例的助手幫你把通用維度先鋪滿剩下的才是你基于項(xiàng)目實(shí)際情況去調(diào)整的部分。1.2 AI寫(xiě)用例的本質(zhì)檢索與組織而不是創(chuàng)造我剛開(kāi)始嘗試AI寫(xiě)用例的時(shí)候也犯過(guò)一個(gè)理解錯(cuò)誤——以為AI能完全替代測(cè)試工程師的思考把需求丟進(jìn)去就能產(chǎn)出可直接執(zhí)行的交付物。用了幾次之后才想明白AI在寫(xiě)用例這件事上干的活本質(zhì)上是檢索與組織不是創(chuàng)造。它做的是把你給出的功能需求映射到一個(gè)龐大的、經(jīng)過(guò)訓(xùn)練的測(cè)試用例知識(shí)庫(kù)上然后按照你要求的格式把相關(guān)內(nèi)容組織出來(lái)。這跟搜索引擎有點(diǎn)像只不過(guò)它是用自然語(yǔ)言跟你對(duì)話輸出的是結(jié)構(gòu)化的可用文本。這意味著兩件事第一你給的信息越具體AI輸出越可用——你只寫(xiě)測(cè)試登錄它就只能給你一堆教科書(shū)式的通用用例你寫(xiě)清楚系統(tǒng)有哪些登錄方式、鎖定規(guī)則、驗(yàn)證碼策略它就能按你的業(yè)務(wù)規(guī)則生成有針對(duì)性的用例。第二AI沒(méi)有你是否漏了需求的判斷力——需求文檔里沒(méi)提的東西它不會(huì)幫你強(qiáng)行補(bǔ)上它只會(huì)按你喂的料去鋪。想明白這一點(diǎn)之后我不再把AI當(dāng)獨(dú)立測(cè)試設(shè)計(jì)師而是當(dāng)初稿生成器靈感補(bǔ)充器。人工負(fù)責(zé)業(yè)務(wù)規(guī)則梳理和最終驗(yàn)收AI負(fù)責(zé)把那些大家都會(huì)測(cè)、但又特別耗時(shí)的基礎(chǔ)場(chǎng)景快速鋪出來(lái)。這種分工方式讓我實(shí)際寫(xiě)用例的時(shí)間壓縮了至少一半而且漏測(cè)率反而降了因?yàn)锳I鋪底的覆蓋面比單靠個(gè)人記憶更穩(wěn)定。1.3 為什么選文心一言而不是其他工具市面上的大模型產(chǎn)品很多我之所以在實(shí)操里用文心一言來(lái)演示不是因?yàn)閯e的模型不行而是它在做中文測(cè)試用例生成這件事上有幾個(gè)讓我覺(jué)得順手的點(diǎn)。第一是中文理解穩(wěn)定。測(cè)試用例里經(jīng)常出現(xiàn)請(qǐng)輸入11位手機(jī)號(hào)密碼由8-20位字母和數(shù)字組成這類描述文心一言對(duì)中文語(yǔ)境的解析能力比較扎實(shí)生成出來(lái)的用例描述基本不需要大改。第二是低門(mén)檻注冊(cè)就能用不需要考慮網(wǎng)絡(luò)、部署這些問(wèn)題對(duì)絕大多數(shù)測(cè)試同學(xué)來(lái)說(shuō)是最快能上手體驗(yàn)AI提效的路徑。第三是支持多輪對(duì)話修改。我先讓它生成一版然后繼續(xù)追問(wèn)把移動(dòng)端的場(chǎng)景補(bǔ)上優(yōu)先級(jí)重新調(diào)一下把用例編號(hào)改成LOGIN_CN這種格式它都能基于上文繼續(xù)優(yōu)化而不是每次重新生成。當(dāng)然如果你團(tuán)隊(duì)已經(jīng)在用其他大模型的API或者公司要求數(shù)據(jù)不能出內(nèi)網(wǎng)那用私有化部署的模型也是可以的。核心思路是一樣的區(qū)別只在工具本身。這篇文章里的提示詞模板、審查方法、Excel模板都可以直接平移到任何大模型產(chǎn)品上使用。2. 5分鐘搞定提示詞怎么設(shè)計(jì)才能讓AI輸出可用用例2.1 一個(gè)能開(kāi)箱即用的登錄用例提示詞模板直接來(lái)干貨。這個(gè)模板是我在實(shí)際項(xiàng)目里反復(fù)調(diào)整過(guò)好幾版之后定下來(lái)的把它復(fù)制到文心一言對(duì)話框里把被測(cè)功能需求部分替換成你自己系統(tǒng)的真實(shí)規(guī)則回車(chē)就能得到一份可以直接進(jìn)入人工審查的用例初稿。你是一位有10年經(jīng)驗(yàn)的資深測(cè)試工程師擅長(zhǎng)Web端和App端功能測(cè)試。 現(xiàn)在需要為【登錄模塊】編寫(xiě)一份完整的測(cè)試用例集被測(cè)系統(tǒng)的登錄功能需求如下 1. 用戶使用已注冊(cè)的郵箱/手機(jī)號(hào)和密碼登錄。 2. 登錄成功后跳轉(zhuǎn)到首頁(yè)右上角顯示用戶名。 3. 密碼錯(cuò)誤時(shí)提示用戶名或密碼錯(cuò)誤連續(xù)5次錯(cuò)誤鎖定賬號(hào)30分鐘。 4. 支持記住密碼勾選后下次自動(dòng)填充。 5. 支持短信驗(yàn)證碼登錄驗(yàn)證碼有效期5分鐘60秒后可重新發(fā)送。 6. 未注冊(cè)的賬號(hào)登錄時(shí)提示賬號(hào)不存在請(qǐng)先注冊(cè)。 請(qǐng)基于以上需求編寫(xiě)一份覆蓋完整的登錄功能測(cè)試用例集并滿足以下要求 1. 覆蓋正常流程、異常流程、邊界值、安全、兼容性、易用性幾個(gè)維度。 2. 輸出格式為Markdown表格字段包含用例編號(hào)、用例名稱、前置條件、測(cè)試步驟、測(cè)試數(shù)據(jù)、預(yù)期結(jié)果、優(yōu)先級(jí)、用例類型。 3. 用例編號(hào)使用LOGIN_CN、LOGIN_EX、LOGIN_SEC等前綴。 4. 對(duì)高風(fēng)險(xiǎn)、高優(yōu)先級(jí)用例用高標(biāo)注。 5. 如果需求描述不足以覆蓋某個(gè)場(chǎng)景請(qǐng)基于通用登錄系統(tǒng)的常見(jiàn)做法做合理補(bǔ)充并在該用例備注欄說(shuō)明AI補(bǔ)充。這個(gè)模板看起來(lái)不復(fù)雜但我見(jiàn)過(guò)很多人寫(xiě)提示詞只寫(xiě)一句幫我寫(xiě)登錄功能的測(cè)試用例然后抱怨AI輸出太水。區(qū)別就在于后面那一大段關(guān)于角色、需求、輸出格式、編號(hào)規(guī)則、兜底策略的約束才是讓AI從教科書(shū)模式切換到可交付模式的關(guān)鍵。2.2 為什么提示詞要這樣寫(xiě)五個(gè)要素逐個(gè)拆先看角色定義。我給AI設(shè)定了一個(gè)有10年經(jīng)驗(yàn)的資深測(cè)試工程師的角色。這個(gè)設(shè)置不是玄學(xué)而是因?yàn)榇竽P驮谟?xùn)練時(shí)見(jiàn)過(guò)海量不同身份視角的表達(dá)給它一個(gè)明確的角色相當(dāng)于幫它鎖定輸出的語(yǔ)氣、深度和關(guān)注點(diǎn)。你讓它以資深測(cè)試工程師身份寫(xiě)用例它輸出時(shí)會(huì)更關(guān)注邊界、異常、安全維度你讓它以產(chǎn)品經(jīng)理身份寫(xiě)它可能會(huì)更關(guān)注用戶場(chǎng)景和流程合理性。這個(gè)差異化在使用中是非常明顯的。功能需求要素是整個(gè)提示詞的核心。我建議把需求逐條編號(hào)列出來(lái)而不是用一大段文字描述。編號(hào)的好處有三點(diǎn)第一AI更容易逐條對(duì)齊不會(huì)漏掉某一條第二你后續(xù)追問(wèn)第3條那種場(chǎng)景再多補(bǔ)幾個(gè)用例時(shí)AI能準(zhǔn)確知道你指的是哪一條第三強(qiáng)制你自己先把需求梳理清楚——這一步的價(jià)值后面還會(huì)提到。覆蓋維度和輸出字段兩個(gè)要素解決的是格式問(wèn)題。我見(jiàn)過(guò)太多AI生成結(jié)果沒(méi)有編號(hào)、沒(méi)有優(yōu)先級(jí)、預(yù)期結(jié)果寫(xiě)得含糊其辭直接導(dǎo)致后期還要人工返工。你在一開(kāi)始就把字段名定死把維度點(diǎn)齊AI輸出就能直接進(jìn)入表格流程省掉大量整理時(shí)間。最后說(shuō)兜底策略。這一條是我自己加的也是我覺(jué)得最實(shí)用的一條。AI在處理信息不完整的需求時(shí)有一種默認(rèn)傾向是會(huì)停下來(lái)反問(wèn)請(qǐng)?zhí)峁└嘈畔?。但如果真讓它反?wèn)你就得一輪一輪對(duì)話5分鐘根本搞不定。所以我在提示詞里明確告訴它信息不足時(shí)基于通用做法做合理補(bǔ)充并在備注欄說(shuō)明AI補(bǔ)充。這樣它既能給出完整輸出又保留了標(biāo)記讓你后面審查時(shí)能快速識(shí)別哪些內(nèi)容是需要特別核對(duì)的。3. 實(shí)操演示文心一言生成登錄用例的全過(guò)程拆解3.1 現(xiàn)場(chǎng)操作從提出需求到拿到60條用例把上面那段提示詞復(fù)制進(jìn)文心一言的輸入框點(diǎn)擊發(fā)送之后你會(huì)看到它開(kāi)始逐字生成Markdown表格。整個(gè)過(guò)程大概在30秒到1分鐘之間取決于當(dāng)前服務(wù)的繁忙程度。生成完之后我找到了頁(yè)面上復(fù)制Markdown的按鈕直接把結(jié)果粘到了本地一個(gè).md文件里然后通過(guò)Excel的數(shù)據(jù)-從文本/CSV導(dǎo)入功能快速把Markdown表格轉(zhuǎn)成了真正的Excel表。這一步很多人不知道實(shí)際上比手動(dòng)復(fù)制粘貼每一個(gè)單元格要快非常多。第一版生成出來(lái)的用例大約有60條我數(shù)了一下覆蓋了賬號(hào)密碼登錄、驗(yàn)證碼登錄、記住密碼、密碼找回、鎖定與解鎖、Session會(huì)話、兼容性、安全性等八大類。從覆蓋面上看AI做得確實(shí)比多數(shù)新人更全面比如它自動(dòng)補(bǔ)了密碼使用弱口令時(shí)系統(tǒng)是否攔截鎖定時(shí)間到期后能否正常登錄清除瀏覽器緩存后記住密碼是否失效這類我個(gè)人都未必第一時(shí)間想到的場(chǎng)景。但這個(gè)初稿也不是完美無(wú)缺。仔細(xì)看你會(huì)發(fā)現(xiàn)部分預(yù)期結(jié)果寫(xiě)得比較籠統(tǒng)比如有一句系統(tǒng)應(yīng)正確校驗(yàn)驗(yàn)證碼這種描述放到Excel里是沒(méi)法直接執(zhí)行的必須改寫(xiě)成系統(tǒng)應(yīng)在驗(yàn)證碼錯(cuò)誤時(shí)提示驗(yàn)證碼錯(cuò)誤并清空驗(yàn)證碼輸入框。還有一部分AI補(bǔ)充的測(cè)試數(shù)據(jù)是編造的比如用戶名為A123456的賬號(hào)實(shí)際測(cè)試環(huán)境里根本沒(méi)有這個(gè)賬號(hào)需要替換成真實(shí)數(shù)據(jù)。這些就需要進(jìn)入下一步人工審查去處理。3.2 人工審查把80分的AI初稿改成95分拿到AI初稿之后我一般會(huì)做一輪15分鐘左右的人工審查分三步走。第一步是逐條對(duì)照核心業(yè)務(wù)規(guī)則。我會(huì)把需求文檔里的每一條關(guān)鍵規(guī)則拿出來(lái)跟AI生成的用例逐一比對(duì)。比對(duì)的目的是找出AI理解偏差的地方比如需求里寫(xiě)的是密碼錯(cuò)誤5次鎖定賬號(hào)但AI生成了密碼錯(cuò)誤5次后賬號(hào)永久鎖定雖然只是兩個(gè)字的差異測(cè)試結(jié)果會(huì)完全不同。這一步必須要人工來(lái)做因?yàn)锳I并不知道你系統(tǒng)的真實(shí)行為到底是什么。第二步是把測(cè)試數(shù)據(jù)從AI編造的換成真實(shí)可用的。這一步容易被忽視但直接影響用例能否被執(zhí)行。我會(huì)把用戶名:test001、密碼:Test12345這類占位數(shù)據(jù)替換成測(cè)試環(huán)境里真實(shí)存在的賬號(hào)并且把賬號(hào)類型標(biāo)注清楚比如已注冊(cè)普通用戶已鎖定用戶未注冊(cè)手機(jī)號(hào)。很多測(cè)試同學(xué)在寫(xiě)用例時(shí)也會(huì)忽略這一點(diǎn)結(jié)果執(zhí)行的時(shí)候才發(fā)現(xiàn)賬號(hào)不存在又得臨時(shí)找人創(chuàng)建效率非常低。第三步是重新排優(yōu)先級(jí)。AI給出的優(yōu)先級(jí)判斷往往偏通用它會(huì)把所有安全相關(guān)用例都標(biāo)成高但實(shí)際項(xiàng)目中登錄接口的防暴力破解可能比注冊(cè)流程的邊界值更緊急這個(gè)輕重緩急只有了解當(dāng)前迭代重點(diǎn)和線上風(fēng)險(xiǎn)的人才判斷得了。我會(huì)把當(dāng)前版本重點(diǎn)改造的功能相關(guān)用例全部提升優(yōu)先級(jí)把AI默認(rèn)高但實(shí)際影響面小的用例降為中或低保證回歸測(cè)試時(shí)先跑最關(guān)鍵的部分。這一輪審查做完AI初稿基本就從看起來(lái)全變成了真正能執(zhí)行。我自己算過(guò)一筆賬同樣一份登錄用例以前從空白Excel開(kāi)始寫(xiě)加上整理格式怎么也要3個(gè)小時(shí)現(xiàn)在這套流程AI生成5分鐘人工審查15分鐘總計(jì)不到半個(gè)小時(shí)而且覆蓋面更全、格式更規(guī)范。4. 把AI結(jié)果落到Excel模板字段、下拉、高亮一次配齊4.1 測(cè)試用例Excel模板的字段設(shè)計(jì)AI生成的是Markdown表格要落到團(tuán)隊(duì)協(xié)作用的Excel里字段還需要再擴(kuò)展一下。我自己的模板里會(huì)放這些列字段名填寫(xiě)說(shuō)明示例用例編號(hào)模塊前綴_類型_三位序號(hào)LOGIN_CN_001所屬模塊被測(cè)功能模塊登錄用例名稱一句話描述驗(yàn)證點(diǎn)正確賬號(hào)密碼登錄成功前置條件用例執(zhí)行前需要滿足的狀態(tài)賬號(hào)test已注冊(cè)且未被鎖定測(cè)試步驟數(shù)字編號(hào)列出操作步驟1.進(jìn)入登錄頁(yè) 2.輸入賬號(hào) 3.點(diǎn)擊登錄測(cè)試數(shù)據(jù)步驟中使用的輸入值郵箱:testexample.com 密碼:Test12345預(yù)期結(jié)果可斷言的系統(tǒng)表現(xiàn)登錄成功跳轉(zhuǎn)首頁(yè)右上角顯示用戶名優(yōu)先級(jí)高/中/低控制執(zhí)行順序高用例類型功能/UI/安全/性能/兼容性功能執(zhí)行結(jié)果未執(zhí)行/通過(guò)/失敗/阻塞通過(guò)執(zhí)行人實(shí)際執(zhí)行用例的人張三備注補(bǔ)充說(shuō)明或關(guān)聯(lián)缺陷ID關(guān)聯(lián)BUG-1024字段設(shè)計(jì)有幾個(gè)細(xì)節(jié)值得注意。首先是預(yù)期結(jié)果這列我在模板里明確要求填寫(xiě)可斷言的描述也就是能明確判斷成功還是失敗而不是系統(tǒng)應(yīng)正確處理這種廢話。其次是所屬模塊和用例編號(hào)要分開(kāi)因?yàn)楹罄m(xù)做用例統(tǒng)計(jì)和篩選時(shí)按模塊分組看用例分布是非常高頻的需求。最后是執(zhí)行結(jié)果狀態(tài)建議和團(tuán)隊(duì)的測(cè)試管理系統(tǒng)保持一致不要自己發(fā)明一套名詞否則后續(xù)統(tǒng)計(jì)口徑對(duì)不上。4.2 幾個(gè)能提升填表效率的Excel小技巧模板字段定好了再說(shuō)幾個(gè)我實(shí)際用下來(lái)覺(jué)得特別好用的Excel功能能讓這套模板從表格變成半自動(dòng)化工件。第一個(gè)是數(shù)據(jù)驗(yàn)證下拉菜單。選中優(yōu)先級(jí)列整列點(diǎn)擊數(shù)據(jù)驗(yàn)證允許條件選序列來(lái)源填高,中,低確定。這樣填表時(shí)直接點(diǎn)下拉選擇不用每次手敲。同理用例類型列來(lái)源填功能,UI,安全,性能,兼容性,異常執(zhí)行結(jié)果列來(lái)源填未執(zhí)行,通過(guò),失敗,阻塞。這個(gè)操作一分鐘就能完成但能讓全組的人填表口徑保持統(tǒng)一不會(huì)出現(xiàn)高優(yōu)先級(jí)高混著寫(xiě)的情況。第二個(gè)是條件格式高亮。點(diǎn)擊開(kāi)始-條件格式-新建規(guī)則選擇使用公式確定要設(shè)置格式的單元格公式填$J2失敗然后設(shè)置一個(gè)淺紅色填充。這里的$J2假設(shè)執(zhí)行結(jié)果在J列如果你的模板列順序不同需要按實(shí)際列號(hào)改。設(shè)置完之后失敗的行會(huì)自動(dòng)標(biāo)紅整個(gè)測(cè)試周期的通過(guò)情況一眼就能掃出來(lái)。我再加了一個(gè)規(guī)則$J2阻塞標(biāo)黃色失敗和阻塞在視覺(jué)上直接分開(kāi)。第三個(gè)是凍結(jié)首行加自動(dòng)篩選。視圖-凍結(jié)窗格-凍結(jié)首行然后CtrlShiftL開(kāi)啟自動(dòng)篩選。做完整理的時(shí)候我會(huì)按優(yōu)先級(jí)篩選出所有高優(yōu)先級(jí)用例再按用例類型篩出安全維度單獨(dú)拉出來(lái)做一輪專項(xiàng)確認(rèn)非常方便。第四個(gè)是關(guān)于用例編號(hào)的一個(gè)小技巧。如果用例數(shù)量一多手動(dòng)改編號(hào)很容易出錯(cuò)??梢栽谟美幪?hào)列使用公式CONCAT(LOGIN_CN_,TEXT(ROW()-1,000))這樣往下填充的時(shí)候編號(hào)會(huì)自動(dòng)生成。第一行表頭占了一行所以ROW()要減1。當(dāng)前面的行被刪除時(shí)編號(hào)也會(huì)自動(dòng)更新不會(huì)再出現(xiàn)斷號(hào)的情況。需要批量導(dǎo)入禪道或其他管理系統(tǒng)時(shí)直接把這一列復(fù)制成值再導(dǎo)出即可。5. 翻車(chē)現(xiàn)場(chǎng)匯總AI生成用例最常見(jiàn)的6個(gè)坑5.1 六大高頻翻車(chē)場(chǎng)景與排查方案我自己前前后后用AI寫(xiě)了十幾個(gè)模塊的測(cè)試用例踩過(guò)的坑不少。這里整理一個(gè)速查表按現(xiàn)象-根因-解決方案的方式列出來(lái)你對(duì)照著就能避坑?,F(xiàn)象根因解決方案生成的用例太泛泛像教科書(shū)模板提示詞沒(méi)有提供具體業(yè)務(wù)規(guī)則把需求逐條編號(hào)寫(xiě)進(jìn)提示詞越具體越好漏了短信驗(yàn)證碼/圖形驗(yàn)證碼場(chǎng)景AI不知道你的登錄包含驗(yàn)證碼在功能需求描述里單獨(dú)列出包含驗(yàn)證碼登錄測(cè)試數(shù)據(jù)是編造的AI沒(méi)有真實(shí)環(huán)境數(shù)據(jù)人工替換為真實(shí)賬號(hào)并標(biāo)注賬號(hào)類型預(yù)期結(jié)果描述含糊無(wú)法執(zhí)行提示詞沒(méi)要求可斷言追加預(yù)期結(jié)果必須可判斷成功或失敗業(yè)務(wù)規(guī)則理解錯(cuò)誤規(guī)則本身復(fù)雜且描述不清抽取核心規(guī)則用必須強(qiáng)調(diào)單獨(dú)成段多輪對(duì)話后忘掉之前的約束上下文被后續(xù)內(nèi)容干擾重要約束在每次追加問(wèn)題時(shí)重復(fù)發(fā)送一遍展開(kāi)說(shuō)幾個(gè)我印象最深的。測(cè)試數(shù)據(jù)是編造的這個(gè)坑第一次用AI生成用例時(shí)最容易踩。AI生成的測(cè)試數(shù)據(jù)看起來(lái)有模有樣比如用戶名:zhangsan、密碼:Abc123456但等你真正執(zhí)行的時(shí)候才發(fā)現(xiàn)測(cè)試環(huán)境里根本沒(méi)有這個(gè)賬號(hào)還得去找開(kāi)發(fā)創(chuàng)建數(shù)據(jù)白白浪費(fèi)半天?,F(xiàn)在我收到AI輸出后會(huì)第一時(shí)間掃一遍測(cè)試數(shù)據(jù)列凡是編造的數(shù)據(jù)全部替換成測(cè)試環(huán)境真實(shí)存在的賬號(hào)或者統(tǒng)一寫(xiě)成預(yù)置賬號(hào):test_01然后單獨(dú)在旁邊標(biāo)注。預(yù)期結(jié)果含糊也是個(gè)高頻問(wèn)題。AI初稿里經(jīng)常出現(xiàn)系統(tǒng)應(yīng)正確反饋或者頁(yè)面表現(xiàn)正常這類描述這種用例發(fā)到測(cè)試執(zhí)行人手里根本沒(méi)法判斷到底算通過(guò)還是失敗。我試過(guò)在提示詞里直接加一句預(yù)期結(jié)果必須是可以明確判斷成功或失敗的客觀描述禁止使用正確正常等模糊詞匯加了這句話之后輸出質(zhì)量明顯提升了一個(gè)檔次。多輪對(duì)話后忘掉約束是我在讓AI補(bǔ)用例時(shí)遇到的。我先讓它生成了一版然后讓它再補(bǔ)充移動(dòng)端場(chǎng)景的用例結(jié)果它補(bǔ)充的用例里用例編號(hào)格式、優(yōu)先級(jí)標(biāo)注方式全都變了跟第一版完全對(duì)不上。后來(lái)我每次追加需求都會(huì)把用例編號(hào)格式仍然使用LOGIN_CN這種前綴這類關(guān)鍵約束重新發(fā)一遍問(wèn)題就解決了。5.2 AI生成內(nèi)容進(jìn)入評(píng)審前的檢查清單結(jié)合這些翻車(chē)經(jīng)驗(yàn)我總結(jié)了一份AI生成用例評(píng)審前檢查清單每次用AI生成完用例后我都會(huì)過(guò)一遍保證交到評(píng)審會(huì)上的內(nèi)容經(jīng)得起問(wèn)。第一項(xiàng)逐條比對(duì)核心業(yè)務(wù)規(guī)則。這塊強(qiáng)調(diào)的是需求里明確的規(guī)則用例里必須有對(duì)應(yīng)覆蓋比如連續(xù)5次錯(cuò)誤鎖定賬號(hào)30分鐘這條必須能看到對(duì)應(yīng)的成功路徑和失敗路徑用例甚至鎖定時(shí)長(zhǎng)邊界值也算上。第二項(xiàng)檢查AI補(bǔ)充標(biāo)記的用例是否合理。我在提示詞里要求AI把自己補(bǔ)充的內(nèi)容打上標(biāo)記拿到結(jié)果后我會(huì)重點(diǎn)看這些標(biāo)記。如果內(nèi)容是通用的業(yè)界實(shí)踐比如登錄接口應(yīng)使用HTTPS傳輸我就保留如果明顯不符合我們系統(tǒng)的設(shè)計(jì)比如支持指紋登錄而我們根本沒(méi)做指紋登錄我會(huì)直接刪掉或改寫(xiě)。第三項(xiàng)確認(rèn)測(cè)試數(shù)據(jù)和預(yù)期結(jié)果都可執(zhí)行。這一點(diǎn)前面提過(guò)但值得再?gòu)?qiáng)調(diào)因?yàn)樵u(píng)審會(huì)上被問(wèn)最多的就是這條用例怎么執(zhí)行預(yù)期結(jié)果是什么標(biāo)準(zhǔn)。把這兩列打磨清楚用例評(píng)審?fù)ㄟ^(guò)率會(huì)高很多。第四項(xiàng)檢查編號(hào)和格式是否統(tǒng)一。批量生成的用例編號(hào)前綴、優(yōu)先級(jí)大小寫(xiě)、用例類型用詞都要保持全表一致否則后面做統(tǒng)計(jì)和追溯時(shí)非常痛苦。6. 登錄只是一個(gè)開(kāi)始AI測(cè)試還能怎么玩6.1 從用例生成到自動(dòng)化腳本AI測(cè)試的進(jìn)階玩法登錄用例的AI生成其實(shí)只是AI測(cè)試這件事很小的一塊。我嘗試下來(lái)覺(jué)得下面幾個(gè)方向同樣值得測(cè)試團(tuán)隊(duì)關(guān)注。第一個(gè)是AI輔助生成自動(dòng)化測(cè)試腳本。既然Excel里已經(jīng)有了步驟明確的測(cè)試用例那能不能讓AI把這些自然語(yǔ)言步驟直接翻譯成自動(dòng)化腳本我試驗(yàn)過(guò)把一條1.進(jìn)入登錄頁(yè) 2.輸入用戶名 3.輸入密碼 4.點(diǎn)擊登錄 5.驗(yàn)證跳轉(zhuǎn)首頁(yè)的用例丟給AI讓它生成一段Selenium腳本它能給出一個(gè)八九不離十的版本你只需要把元素定位符改成自己項(xiàng)目里的真實(shí)選擇器。對(duì)于剛上手自動(dòng)化測(cè)試的團(tuán)隊(duì)這個(gè)能力能顯著降低寫(xiě)腳本的啟動(dòng)成本。現(xiàn)在很多AI自動(dòng)化測(cè)試工具也在做錄制自然語(yǔ)言操作生成腳本的路子方向基本一致。第二個(gè)是AI輔助缺陷分析。測(cè)試執(zhí)行過(guò)程中失敗用例會(huì)留下一堆日志和截圖。我把日志關(guān)鍵信息和界面截圖描述喂給AI讓它基于經(jīng)驗(yàn)給出失敗可能的原因它往往能指出一些我忽略的線索比如接口返回500之前有一個(gè)超時(shí)重試的日志懷疑是服務(wù)端連接池配置問(wèn)題這類推測(cè)。雖然它不能替代真正的開(kāi)發(fā)排查但能幫我縮小定位范圍節(jié)省不少時(shí)間。第三個(gè)是AI變異測(cè)試。這個(gè)方向偏研究一些核心思路是讓AI對(duì)被測(cè)代碼做小改動(dòng)生成一堆變異體然后跑一遍現(xiàn)有測(cè)試集看測(cè)試用例能不能把這些變異體測(cè)出來(lái)。如果某個(gè)變異體沒(méi)被測(cè)試用例殺死說(shuō)明測(cè)試集存在漏洞。這個(gè)玩法評(píng)估的是你的測(cè)試用例本身的質(zhì)量跟AI生成用例配合起來(lái)能比較科學(xué)地衡量測(cè)試覆蓋率到底夠不夠。第四個(gè)是AI在安全測(cè)試領(lǐng)域的應(yīng)用比如輔助滲透測(cè)試和漏洞探測(cè)。AI可以根據(jù)你描述的系統(tǒng)類型和接口信息生成探測(cè)用的輸入樣例、構(gòu)造異常請(qǐng)求、甚至給出攻擊鏈路建議。它在這個(gè)領(lǐng)域的定位是輔助而不是全自動(dòng)因?yàn)榘踩珳y(cè)試的誤報(bào)率本來(lái)就高最終判斷還是需要專業(yè)的測(cè)試人員來(lái)做。6.2 測(cè)試工程師和AI協(xié)作的邊界在哪里說(shuō)到最后我特別想說(shuō)一說(shuō)我對(duì)AI會(huì)取代測(cè)試工程師嗎這個(gè)問(wèn)題的看法。我自己用了大半年AI輔助測(cè)試最直觀的感受是AI改變的不是要不要做測(cè)試而是怎么做測(cè)試。那些重復(fù)的、規(guī)則清晰的、依賴知識(shí)面鋪底的測(cè)試工作AI確實(shí)能干得又快又多。比如登錄用例生成、基礎(chǔ)回歸用例整理、通用格式的格式化輸出這些都是AI的優(yōu)勢(shì)區(qū)間。但真正涉及復(fù)雜業(yè)務(wù)流程的鏈路設(shè)計(jì)、需要結(jié)合用戶場(chǎng)景做主觀體驗(yàn)判斷、需要在多個(gè)需求之間權(quán)衡測(cè)試優(yōu)先級(jí)、需要跟開(kāi)發(fā)產(chǎn)品溝通確認(rèn)需求意圖的事情AI目前還遠(yuǎn)遠(yuǎn)替代不了人。它沒(méi)有對(duì)業(yè)務(wù)的理解沒(méi)有對(duì)用戶痛點(diǎn)的感知更沒(méi)有這個(gè)功能上線出問(wèn)題影響有多大的風(fēng)險(xiǎn)判斷力。所以我的建議是測(cè)試工程師不妨把AI當(dāng)成一個(gè)永遠(yuǎn)精力充沛、知識(shí)面很廣但不懂業(yè)務(wù)的小助手。你負(fù)責(zé)告訴它業(yè)務(wù)規(guī)則和重點(diǎn)它負(fù)責(zé)快速鋪底和查漏補(bǔ)缺你來(lái)做最終的決策和收口。這種協(xié)作方式下你花在基礎(chǔ)工作上的時(shí)間會(huì)大大減少省下來(lái)的精力正好可以投入到更高價(jià)值的業(yè)務(wù)測(cè)試設(shè)計(jì)和質(zhì)量策略上。對(duì)個(gè)人發(fā)展來(lái)說(shuō)這反而是個(gè)提升空間更大的機(jī)會(huì)窗口。我個(gè)人現(xiàn)在的工作習(xí)慣是接到任何測(cè)試任務(wù)第一步不是打開(kāi)Excel而是先花5到10分鐘把業(yè)務(wù)規(guī)則梳理成一條條可驗(yàn)證的描述然后丟給AI生成初稿。這個(gè)過(guò)程本身就會(huì)倒逼我把需求想清楚——如果我自己都說(shuō)不清規(guī)則AI生出來(lái)的東西一定沒(méi)法用。所以別把AI當(dāng)成偷懶神器把它當(dāng)成一面強(qiáng)制你想清楚需求的鏡子效果會(huì)好得多。