《電子技術應用》
您所在的位置:首頁 > 人工智能 > 業(yè)界動態(tài) > 【ChatGPT專題】ChatGPT在軟件測試中七大應用方式

【ChatGPT專題】ChatGPT在軟件測試中七大應用方式

2023-02-16
來源: 軟件質(zhì)量報道

  過去兩周,國內(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聊聊軟件測試的熱門話題 就有這樣一個例子:

  微信截圖_20230216141941.png

  這里,讓我們在機票預訂網(wǎng)站上針對 “預訂往返機票” 功能測試嘗試一下。

  微信截圖_20230216142004.png

  在我們詢問ChatGPT之前,有幾個簡單的想法:

  在From 和To 中均有效的城市

  自動完成/自動建議

  機場代碼和拼寫的驗證

  搜索結果的驗證(計數(shù)、準確性、速度、排序顯示、分頁……)

  允許多種組合 (同一日期-不同日期、旅客人數(shù)和艙位、票價類型等)

  與API匹配,跨平臺一致性

  錯誤消息(我在輸入下一個句子后添加了這個)

  現(xiàn)在,讓我們向ChatGPT詢問帶有盡可能詳細提示的測試思路

  微信截圖_20230216142026.png

  (詢問chatGPT如何測試這個功能)

  根據(jù)輸出,它似乎更專注于這個想法——允許多種組合 (相同的日期-不同的日期,乘客類型和數(shù)量、艙位級別、票價類型等組合)。

  讓我們使用在線的 Pair-wise組合測試工具(https://pairwise.teremokgames.com/)來生成組合,并排除一些選項,如

  成人不能攜帶2名兒童旅行

  成人不能攜帶2名嬰兒旅行

  但由于工具的局限性,我們無法排除下列這個選項:

  成人不得攜帶一名兒童及一名嬰兒旅行

  微信截圖_20230216142101.png

  Pairwise工具的輸出總共是21個測試用例,我們按照上面的說法排除用例#4。

  微信截圖_20230216142122.png

  現(xiàn)在,誰做得更好? ChatGPT的輸出是測試想法的一個很好的起點,然后我們可以使用另一種工具進行改進。

  我們也可以用有針對性的提示來深入研究每個測試想法,以得到更好的回答。

  例如,當我們要求ChatGPT為錯誤消息生成想法時,輸出結果并不令人失望。

  微信截圖_20230216142210.png

  其中一些情況超出了當前關注的特征變量的范圍(例如:資金不足、無效的卡詳細信息……)

  我們明白:這是一個很好的起點,前提是我們知道如何操作,而且必須批判性地分析輸出,挑出有用的點進行測試,拋棄沒價值的信息。

  2.  分析需求的關鍵語句

  想象一下需求文檔中的一個句子,如果ChatGPT可以分析這個句子并為我們提供短語的多種解釋,會怎樣呢?

  讓我們試一下。我們將使用Google Meet中的示例:對于擁有Google Meet個人賬號的用戶:會議最多支持100人。

  微信截圖_20230216142255.png

  我覺得3、4、5表達的意思是一樣的,但用詞不同。我會使用ChatGPT所給出的不同解釋來審視我自己的理解和解釋。

  3.創(chuàng)建學習指南

  人們可以使用它來啟動對一個主題的學習(kickstart their learning ),并在輸出的基礎上進行系統(tǒng)學習的構建。之前,我曾給過例子:

  微信截圖_20230216142312.png

  例如,如果我們還想了解如何測試多媒體,我們可以向ChatGPT請教一些基本的方法。

  640 (1).png

  然后,我將提煉更多,提出更深刻的問題。

  有一些音頻和視頻問題

  影響音頻/視頻的參數(shù)

  測試音頻/視頻的工具

  與音頻/視頻測試相關的術語

  現(xiàn)在,這是完美的答案嗎?我不知道。但chatGPT給了我們足夠的指南來開始測試之旅。我現(xiàn)在可以閱讀更多關于編碼、解碼器、以及與多媒體的關系。

  4. 生成代碼片段

  它能否生成可以構建在其上的代碼片段? 這點似乎沒問題,因為我們在自媒體上看到了很多關于ChatGPT如何用不同編程語言生成代碼的例子。

  示例: 用Python編寫代碼來讀取文件的內(nèi)容,并列出重復元素的數(shù)量,并根據(jù)每個元素中的字符數(shù)量按降序排序

  微信截圖_20230216142508.png

  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 )可以生成一個視頻的摘要。

  微信截圖_20230216142531.png

  你也可以使用像YouTube Summary with ChatGPT這樣的插件來獲得摘要。

  6. 課題寫作大綱

  我想了一會兒博客主題(如“軟件測試”),然后讓ChatGPT為這類文章創(chuàng)建一個寫作大綱:

  微信截圖_20230216142555.png

  其結果是一個結構良好的大綱,節(jié)省了大量的時間。

  ChatGPT會取代一些人的工作嗎? 沒那么快。它只是一個很好的助手,需要有技能的人來充分發(fā)揮它的潛力。

  7. 頭腦風暴的伴侶

  想法可以隨時出現(xiàn),如果我們想就不同的軟件測試主題進行頭腦風暴,獲得不同的視角、比較或對比,甚至有一個助手來幫助我們進行研究,ChatGPT可以是一個很好的選擇。

  結論

  到目前為止,通過分析ChatGPT給出的不同測試用例或回答,我們可以得出以下結論:

  ChatGPT是一個很好的起點,需要熟練的測試人員在交互的基礎上進行構建;

  它是一種語言模型,使用適當?shù)膶W習技術,輸出的質(zhì)量將會提高;

  把回答當作一種啟發(fā),而不是一種規(guī)則;

  了解ChatGPT的功能并充分利用它;

  繼續(xù)使用ChatGPT進行實驗,并選擇正確的響應來實現(xiàn)。


敬請關注電子技術應用2023年2月22日==>>商業(yè)航天研討會<<

微信圖片_20230210170337.jpg

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權者。如涉及作品內(nèi)容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。