寫在前面:
起因是在去年的11月份,參與了在Yeelight Fun系列產(chǎn)品線的Cube內(nèi)測階段,那會我覺得這款Cube是離OpenAI接入最近的一次,當(dāng)時提出了“自然語言處理”的概念,由于項目還在專注解決內(nèi)測問題,我的工作也滿滿當(dāng)當(dāng),遂提了一嘴后面就沒再關(guān)心了。

沒想到的是1個月后ChatGPT就發(fā)布了人機(jī)聊天對話機(jī)器人,廣超老師12月份在軟件群里也提到了這件事,這個東西上線2天后用戶超百萬,1個月后用戶超一億,那會就感受到了它的奇妙的存在。

隨著AI的話題如火如荼,國內(nèi)也興起了這波AI浪潮,令人失望的是,國內(nèi)大廠們前期只是在做PPT劃拉納稅人的錢。易來順應(yīng)國際潮流,3月30號,易來開啟探索AI會議的第一步,也是物聯(lián)網(wǎng)產(chǎn)業(yè)邁入AI的一大步。那會游蕩在春熙路的我也加入了這次會議,在嘈雜的人海中汲取了對本身崗位的一絲靈感。感嘆道,人類的技術(shù)積累雖然是循序漸進(jìn)的,但是技術(shù)革新永遠(yuǎn)都是突破性的,神奇到什么樣,好比第一次工業(yè)革命到現(xiàn)在的工業(yè)互聯(lián)網(wǎng)那樣神奇。
AI 概念
人工智能(AI)是指開發(fā)計算機(jī)系統(tǒng),這些系統(tǒng)可以執(zhí)行通常需要人類智能才能完成的任務(wù),例如學(xué)習(xí)、推理、解決問題、感知和自然語言理解。人工智能基于創(chuàng)造可以像人類一樣工作和學(xué)習(xí)的智能機(jī)器的想法??梢杂?xùn)練這些機(jī)器識別模式、理解語音、解釋數(shù)據(jù)并根據(jù)該數(shù)據(jù)做出決策。早期的AlphaGo、微軟小冰,他們都是上一代的架構(gòu),沒法與其他信息構(gòu)建關(guān)聯(lián),都作用在垂直領(lǐng)域??偠灾?,目的是解決并擴(kuò)散人類生產(chǎn)力。

生成式 AI
生成式 AI 是人工智能中的一種技術(shù)類型,例如圖像、視頻或文本。它的工作原理是使用一個在大量示例數(shù)據(jù)集上訓(xùn)練過的模型,然后使用這些知識生成與訓(xùn)練過的示例相似的新內(nèi)容。生成式 AI 適用于計算機(jī)圖形學(xué)、自然語言生成和音樂創(chuàng)作等任務(wù)。國外的 New Bing 國內(nèi)如文心一言、
生成式人工智能的另一個應(yīng)用是在自然語言處理領(lǐng)域。通過使用生成模型,可以生成風(fēng)格和語氣與特定作者或流派相似的新文本。這對于范圍廣泛的應(yīng)用程序非常有用,從生成新聞文章到創(chuàng)建營銷文案。我們通過 Midjourney,可根據(jù)幾個關(guān)鍵詞就可以生成圖像。例如“來個 gaming 場景”,如下。值得注意的是我們需要提供更多、更準(zhǔn)的關(guān)鍵詞來匹配我們想要的結(jié)果。讓我們在實(shí)際工作中實(shí)現(xiàn)真正的“賦能”。

ChatGPT 3.5
概念
ChatGPT(Chat Generative Pre-trained Transformer)是基于 OpenAI GPT 系列架構(gòu)的一款大型語言模型,具有強(qiáng)大的自然語言處理能力。該模型可以理解和生成文本,用于各種場景,如智能對話、文本生成、文本糾錯等。通過大量數(shù)據(jù)訓(xùn)練,ChatGPT 能夠理解用戶意圖并提供有價值的回復(fù),為人工智能應(yīng)用提供基礎(chǔ)設(shè)施。經(jīng)過不斷迭代與升級,ChatGPT 3.5 和 ChatGPT 4 分別代表了不同階段的技術(shù)演進(jìn)。想了解更多關(guān)于 ChatGPT 的信息,請訪問 OpenAI 官方網(wǎng)站。
注冊
準(zhǔn)備工具
1. 梯子:由于 ChatGPT 會屏蔽掉國內(nèi)的 IP,所以需要進(jìn)行代理訪問。使用 shadowsocks,下載地址:https://github.com/shadowsocks
2. 海外代理服務(wù)器:
美國-洛杉磯節(jié)點(diǎn)
3. 郵箱:不要用國內(nèi)郵箱,盡量是 Gmail 郵箱。
4. 手機(jī)號:必須是國外手機(jī)號,推薦使用接碼平臺:https://sms-activate.org/#
注冊步驟
1. 進(jìn)入 https://chat.openai.com/chat,選擇 Sign up,填寫已注冊的 Gmail 郵箱
2.?提示需要進(jìn)行郵箱驗(yàn)證,點(diǎn)擊 Open Gmail
3.?登陸郵箱,通過郵箱內(nèi) Open AI 鏈接進(jìn)行驗(yàn)證
4.?郵箱鏈接驗(yàn)證完成后,Open AI 需要驗(yàn)證手機(jī)號碼
5.?打開 https://sms-activate.org/#,左側(cè)搜索 OpenAI 服務(wù)并選擇任意一個便宜點(diǎn)的手機(jī)號,如“印度尼西亞”即可(如果賬號上沒有錢,則需要先充值,最低 2 美元,支持支付寶)
6.?將購買的手機(jī)號復(fù)制到 ChatGPT 短信驗(yàn)證頁面,點(diǎn)擊“Send code via SMS”,通過短信平臺的驗(yàn)證碼 輸入并驗(yàn)證
7.?短信驗(yàn)證通過后,自動進(jìn)入到 ChatGPT 的 chat 頁面。后續(xù)我們直接訪問 https://chat.openai.com/chat 即可,登陸賬號跟密碼就是你的 Gmail 賬號
使用實(shí)例
協(xié)助解決日常工作出現(xiàn)的痛點(diǎn)
例如當(dāng)一個項目從頭到尾都在需求變更,作為軟件測試人員面臨即將延期的項目不知所措,可以通過ChatGPT進(jìn)行對話并作為參考。

構(gòu)建測試用例
1.???ChatGPT 可以回答你輸入的任何問題,由于數(shù)據(jù)模型的龐大,回答的問題可能不是我們需要的,可以進(jìn)一步通過點(diǎn)擊 Regenerate response 來重新獲得答案。如“qa 是做什么的”,很明顯第一個答案并不是我們需要的,第二個答案匹配度較高


2.???嘗試詢問 ChatGPT 如何高效的協(xié)助測試工程師工作,查看以下答案

3.???我們可以根據(jù)第一條回答的來看到,“通過向 ChatGPT 提供產(chǎn)品要求和設(shè)計信息來生成測試文檔和測試用例”,言外之意就是我們需要描述清楚、表達(dá)清楚一個準(zhǔn)確并完整的信息才會得到 ChatGPT 的匹配的答案,如果一個需求描述不清楚,可能事與愿違。我們想要設(shè)計多條遙控器控?zé)舻臏y試用例,可見以下回答

4.???以上回答仍然存在一些問題,如我們的遙控器支持色溫調(diào)節(jié),ChatGPT 沒有說出來,沒有寫出我們需要的色溫調(diào)節(jié),藍(lán)牙的一些個高低性能也沒有凸顯出來,我們再優(yōu)化一下提問,可以這么說“遙控器有開關(guān)、亮度、色溫等調(diào)節(jié)功能,并通過藍(lán)牙控制燈光,盡可能的設(shè)計多個測試用例,其中也包含藍(lán)牙性能等”

5.???通過回答的來看,青空??燈的固件狀態(tài)上報的 case 沒有回答,ChatGPT 并不知道我們是智能燈光,控制普通燈光也可以復(fù)用此條 case,于是我們通過查看燈的規(guī)格書之后,再改進(jìn)下問答,可以這么問“盡可能多的設(shè)計 beacon 遙控器控制藍(lán)牙 Mesh 燈具的測試用例,包含開關(guān)燈、亮度調(diào)節(jié)、色溫調(diào)節(jié)、藍(lán)牙性能等,燈具也會將遙控器控制的狀態(tài)上報到云端,也支持 APP 控制”,見以下回答

6.???不是很直觀,我們讓其直接生成一份 Excel 試試,如下

7.???我們根據(jù)前幾次的提問與 ChatGPT 的回答,使其不斷補(bǔ)充去訓(xùn)練,人工進(jìn)一步修改后,基本可以定型一份遙控器控制燈光的測試用例,進(jìn)入下一步的 review 階段,如果整個 ChatGPT 的網(wǎng)絡(luò)流暢的話,基本在半個小時內(nèi)寫完初稿。所以ChatGPT只是起到了輔助工作作用,它本身不具有思考行為,我們作為提問者,還是需要不斷提高自我技術(shù)的認(rèn)知能力、語言的表達(dá)能力,否則你提給 ChatGPT 的問題本身就是一個問題。

解讀會議紀(jì)要等文檔
?由于ChatGPT-3.5-Turbo功能沒有像4.0那一樣強(qiáng)大,所以無法解析文件。我們將文檔內(nèi)容粘貼到聊天框中,查看匹配內(nèi)容
通過ChatGPT API實(shí)現(xiàn)在Word中問答
??各種基于ChatGPT的api的軟件紛至沓來,我們將ChatGPT通過宏的方式整合到word中去,即可用簡短的提問方式去改善文檔內(nèi)容。
1.???首選需要拿到ChatGPT的API信息,登陸OpenAI的個人賬戶,https://platform.openai.com/

2.???點(diǎn)擊 Create new secret key,彈出的API key一定要復(fù)制好,或者記到別的地方,如果沒記下來好像就沒有地方再顯示了,f12里面也是加密的

3.???ChatGPT API 調(diào)用是收費(fèi)的,但是 OpenAI 已經(jīng)為我們免費(fèi)提供了5美元的用量,如果后續(xù)有更大的需要,可以充值Plus

4.???我們需要用到Office中VBA編輯器(VBA中的vba是Visual Basic For Application的縮寫。一般用來實(shí)現(xiàn)簡單或中等的辦公自動化應(yīng)用,現(xiàn)在只有win能用了),打開win中的Word >> 開發(fā)工具 >> Visual Basic,插入一個新的模塊,內(nèi)容填寫以下內(nèi)容,意思是我們要實(shí)現(xiàn)一個selectedText后,調(diào)用openai apis的/chat/completions來實(shí)現(xiàn)對話
Sub ChatGPT()
? ? Dim selectedText As String
? ? Dim apiKey As String
? ? Dim response As Object, re As String
? ? Dim midString As String
? ? Dim ans As String
? ? If Selection.Type = wdSelectionNormal Then
? ? ? ? selectedText = Selection.Text
? ? ? ? selectedText = Replace(selectedText, ChrW$(13), "")
? ? ? ? apiKey = "your app-key"
? ? ? ? URL = "https://api.openai.com/v1/chat/completions"
? ? ? ? Set response = CreateObject("MSXML2.XMLHTTP")
? ? ? ? response.Open "POST", URL, False
? ? ? ? response.setRequestHeader "Content-Type", "application/json"
? ? ? ? response.setRequestHeader "Authorization", "Bearer " + apiKey
? ? ? ? response.Send "{""model"":""gpt-3.5-turbo"", ""messages"":[{""role"":""user"",""content"":""" & selectedText & """}], ""temperature"":0.7}"
? ? ? ? re = response.responseText
? ? ? ? midString = Mid(re, InStr(re, """content"":""") + 11)
? ? ? ? ans = Split(midString, """")(0)
? ? ? ? ans = Replace(ans, "\n", "")
? ? ? ? Selection.Text = selectedText & vbNewLine & ans
? ? Else
? ? ? ? Exit Sub
? ? End If

5.???解答后的效果與直接通過https://chat.openai.com/chat 效果一致,如下

任何軟件或者平臺要接入ChatGPT的話,拿到API-keys這一步是必須的
利用小愛同學(xué)向ChatGPT提問
https://www.youtube.com/watch?v=K4YA8YwzOOA(侵刪)

基于LLMs方案的軟件測試模型
背景
????????目前來說由于通用大模型訓(xùn)練/部署的高成本,產(chǎn)業(yè)水平化分工的條件基本成熟,世界上并不需要很多個大模型,做LLM的應(yīng)用將會是中小型企業(yè)和個人開發(fā)者的必然選擇。(Large language model(LLM),大型語言模型是一種基于深度學(xué)習(xí)的自然語言處理(NLP)技術(shù)))
????????回歸到本質(zhì),國內(nèi)外市場的 AI 應(yīng)用 層出不窮,除了上面我們講到的 ChatGPT 還有微軟的 New Bing、百度的文心一言等。


????????生成式 AI 現(xiàn)在可以分為四層:芯片層、框架層、模型層和應(yīng)用層,而在模型層上,類似ChatGPT、文心一言背后的技術(shù)本質(zhì)上是大型語言模型(LLM)的應(yīng)用。無論哪家公司都不可能靠突擊幾個月就做出的,都會面臨著高額成本投入。 在 AI 業(yè)界,大模型的訓(xùn)練堪稱“暴力美學(xué)”,需要有大算力、大數(shù)據(jù)和大模型,每一次訓(xùn)練任務(wù)都耗成本巨大。截止2023/4中旬,可公測的只有幾家公司,像國內(nèi)360、百度等也基本上處于內(nèi)測階段,內(nèi)測碼寥寥無幾,且階段還不夠成熟,估計公測還需要很長的時間;國外由于先天服務(wù)環(huán)境不友好,高效使用起來也很困難。
? ??
傳統(tǒng)測試 跟 基于LLMs 模型測試方法的區(qū)別

未來計劃
1. 迎合易來探索AI的腳步,并持續(xù)改進(jìn)軟件測試過程
2. 基于LLMs方案技術(shù),熟悉并細(xì)化語言模型的測試指標(biāo),實(shí)現(xiàn)具體實(shí)例
3. 不斷學(xué)習(xí)并探索合適的測試模型及算法測試方式
本次總結(jié)
????我們在整個過程中會發(fā)現(xiàn)對國內(nèi)網(wǎng)絡(luò)環(huán)境確實(shí)不是很友好,日后等時機(jī)成熟了,可以使用國內(nèi)的生成式 AI 文心一言。另外,我作為QA,更多的會去從QA角度審視AI應(yīng)用給軟件測試帶來的沖擊。雖然明知道不會被取代,但是思維步伐要緊跟大環(huán)境的潮流,才能與時俱進(jìn)。
最后給大家推薦個視頻
https://www.bilibili.com/video/BV1VL411U7MU?share_source=copy_web