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