過去兩周,國(guó)內(nèi)chatGPT概念股很瘋狂,不只是百度、訊飛,有些默默無(wú)聞且業(yè)績(jī)虧損的公司股價(jià)大漲,有1-2個(gè)公司連續(xù)7個(gè)漲停板,不可思議!
上周,因?yàn)槲④汢ing發(fā)布新版,chatGPT熱度大增。世界不斷被ChatGPT及其應(yīng)用所震驚,每天都有很多人在他們各自的行業(yè)發(fā)布ChatGPT的應(yīng)用程序,從營(yíng)銷、文案、銷售、運(yùn)營(yíng)等等。
當(dāng)我們考慮將ChatGPT用于軟件測(cè)試時(shí),大家的意見很不一樣。
我們并不懷疑它對(duì)軟件測(cè)試社區(qū)的好處,同時(shí),我們也意識(shí)到盲目接受像chatGPT這樣機(jī)器人的每一個(gè)輸出,也會(huì)相當(dāng)危險(xiǎn)。在最樂觀的情況下,它是一個(gè)很好的啟發(fā)式工具,雖然從本質(zhì)上看,啟發(fā)式不是基于規(guī)則的邏輯推理來(lái)輸出結(jié)果,其結(jié)果是不可靠的。由于ChatGPT的輸出嚴(yán)重依賴于提示(prompts),它在很大程度上依賴于軟件測(cè)試人員給出提示的技巧。
經(jīng)過幾天研究,并和其他專家交流,ChatGPT在軟件測(cè)試中的應(yīng)用,概括起來(lái)有七種不同方式。
1. 測(cè)試想法生成器
ChatGPT技術(shù)歸為AIGC(人工智能產(chǎn)生內(nèi)容),所以我們首先想到 ChatGPT在我們的提示下,生成我們需要的測(cè)試想法,幫助我們擴(kuò)展或優(yōu)化測(cè)試思路、測(cè)試場(chǎng)景、測(cè)試數(shù)據(jù)等。如果ChatGPT可以根據(jù)我們的提示給出一組初始的測(cè)試想法,也可以檢查我們準(zhǔn)備的測(cè)試想法(如測(cè)試項(xiàng)、場(chǎng)景)清單,這不是很好嗎?是的,它能做到。
例如 在 與機(jī)器人chatGPT聊聊軟件測(cè)試的熱門話題 就有這樣一個(gè)例子:
這里,讓我們?cè)跈C(jī)票預(yù)訂網(wǎng)站上針對(duì) “預(yù)訂往返機(jī)票” 功能測(cè)試嘗試一下。
在我們?cè)儐朇hatGPT之前,有幾個(gè)簡(jiǎn)單的想法:
在From 和To 中均有效的城市
自動(dòng)完成/自動(dòng)建議
機(jī)場(chǎng)代碼和拼寫的驗(yàn)證
搜索結(jié)果的驗(yàn)證(計(jì)數(shù)、準(zhǔn)確性、速度、排序顯示、分頁(yè)……)
允許多種組合 (同一日期-不同日期、旅客人數(shù)和艙位、票價(jià)類型等)
與API匹配,跨平臺(tái)一致性
錯(cuò)誤消息(我在輸入下一個(gè)句子后添加了這個(gè))
現(xiàn)在,讓我們向ChatGPT詢問帶有盡可能詳細(xì)提示的測(cè)試思路
(詢問chatGPT如何測(cè)試這個(gè)功能)
根據(jù)輸出,它似乎更專注于這個(gè)想法——允許多種組合 (相同的日期-不同的日期,乘客類型和數(shù)量、艙位級(jí)別、票價(jià)類型等組合)。
讓我們使用在線的 Pair-wise組合測(cè)試工具(https://pairwise.teremokgames.com/)來(lái)生成組合,并排除一些選項(xiàng),如
成人不能攜帶2名兒童旅行
成人不能攜帶2名嬰兒旅行
但由于工具的局限性,我們無(wú)法排除下列這個(gè)選項(xiàng):
成人不得攜帶一名兒童及一名嬰兒旅行
Pairwise工具的輸出總共是21個(gè)測(cè)試用例,我們按照上面的說法排除用例#4。
現(xiàn)在,誰(shuí)做得更好? ChatGPT的輸出是測(cè)試想法的一個(gè)很好的起點(diǎn),然后我們可以使用另一種工具進(jìn)行改進(jìn)。
我們也可以用有針對(duì)性的提示來(lái)深入研究每個(gè)測(cè)試想法,以得到更好的回答。
例如,當(dāng)我們要求ChatGPT為錯(cuò)誤消息生成想法時(shí),輸出結(jié)果并不令人失望。
其中一些情況超出了當(dāng)前關(guān)注的特征變量的范圍(例如:資金不足、無(wú)效的卡詳細(xì)信息……)
我們明白:這是一個(gè)很好的起點(diǎn),前提是我們知道如何操作,而且必須批判性地分析輸出,挑出有用的點(diǎn)進(jìn)行測(cè)試,拋棄沒價(jià)值的信息。
2. 分析需求的關(guān)鍵語(yǔ)句
想象一下需求文檔中的一個(gè)句子,如果ChatGPT可以分析這個(gè)句子并為我們提供短語(yǔ)的多種解釋,會(huì)怎樣呢?
讓我們?cè)囈幌?。我們將使用Google Meet中的示例:對(duì)于擁有Google Meet個(gè)人賬號(hào)的用戶:會(huì)議最多支持100人。
我覺得3、4、5表達(dá)的意思是一樣的,但用詞不同。我會(huì)使用ChatGPT所給出的不同解釋來(lái)審視我自己的理解和解釋。
3.創(chuàng)建學(xué)習(xí)指南
人們可以使用它來(lái)啟動(dòng)對(duì)一個(gè)主題的學(xué)習(xí)(kickstart their learning ),并在輸出的基礎(chǔ)上進(jìn)行系統(tǒng)學(xué)習(xí)的構(gòu)建。之前,我曾給過例子:
例如,如果我們還想了解如何測(cè)試多媒體,我們可以向ChatGPT請(qǐng)教一些基本的方法。
然后,我將提煉更多,提出更深刻的問題。
有一些音頻和視頻問題
影響音頻/視頻的參數(shù)
測(cè)試音頻/視頻的工具
與音頻/視頻測(cè)試相關(guān)的術(shù)語(yǔ)
現(xiàn)在,這是完美的答案嗎?我不知道。但chatGPT給了我們足夠的指南來(lái)開始測(cè)試之旅。我現(xiàn)在可以閱讀更多關(guān)于編碼、解碼器、以及與多媒體的關(guān)系。
4. 生成代碼片段
它能否生成可以構(gòu)建在其上的代碼片段? 這點(diǎn)似乎沒問題,因?yàn)槲覀冊(cè)谧悦襟w上看到了很多關(guān)于ChatGPT如何用不同編程語(yǔ)言生成代碼的例子。
示例: 用Python編寫代碼來(lái)讀取文件的內(nèi)容,并列出重復(fù)元素的數(shù)量,并根據(jù)每個(gè)元素中的字符數(shù)量按降序排序
ChatGPT達(dá)到目標(biāo)了嗎?
5. 總結(jié)一份文件或視頻
到目前為止,ChatGPT還不能創(chuàng)建圖像或觀看視頻,但可以提供一個(gè)15分鐘的視頻的文字記錄,例如,基于這個(gè)視頻 (Become the CEO of your testing” by B. Ajay | testing scope | TestFlix2022 | Testing tips and tricks:https://www.youtube.com/watch?v=dkWxyvhZdog )可以生成一個(gè)視頻的摘要。
你也可以使用像YouTube Summary with ChatGPT這樣的插件來(lái)獲得摘要。
6. 課題寫作大綱
我想了一會(huì)兒博客主題(如“軟件測(cè)試”),然后讓ChatGPT為這類文章創(chuàng)建一個(gè)寫作大綱:
其結(jié)果是一個(gè)結(jié)構(gòu)良好的大綱,節(jié)省了大量的時(shí)間。
ChatGPT會(huì)取代一些人的工作嗎? 沒那么快。它只是一個(gè)很好的助手,需要有技能的人來(lái)充分發(fā)揮它的潛力。
7. 頭腦風(fēng)暴的伴侶
想法可以隨時(shí)出現(xiàn),如果我們想就不同的軟件測(cè)試主題進(jìn)行頭腦風(fēng)暴,獲得不同的視角、比較或?qū)Ρ?,甚至有一個(gè)助手來(lái)幫助我們進(jìn)行研究,ChatGPT可以是一個(gè)很好的選擇。
結(jié)論
到目前為止,通過分析ChatGPT給出的不同測(cè)試用例或回答,我們可以得出以下結(jié)論:
ChatGPT是一個(gè)很好的起點(diǎn),需要熟練的測(cè)試人員在交互的基礎(chǔ)上進(jìn)行構(gòu)建;
它是一種語(yǔ)言模型,使用適當(dāng)?shù)膶W(xué)習(xí)技術(shù),輸出的質(zhì)量將會(huì)提高;
把回答當(dāng)作一種啟發(fā),而不是一種規(guī)則;
了解ChatGPT的功能并充分利用它;
繼續(xù)使用ChatGPT進(jìn)行實(shí)驗(yàn),并選擇正確的響應(yīng)來(lái)實(shí)現(xiàn)。
敬請(qǐng)關(guān)注電子技術(shù)應(yīng)用2023年2月22日==>>商業(yè)航天研討會(huì)<<