人工智能 (AI) 正在飛速發(fā)展,最大的突破莫過于通過非營利研究公司 OpenAI。最初創(chuàng)建于 2015 年,作為與 Google DeepMind 的對立面,與研究社區(qū)自由合作并引領(lǐng) AI 的道德發(fā)展,他們推出了幾款革命性的產(chǎn)品,如 Dall-E、MuseNet、Whisper、Dactyl、Codex 和最受歡迎的 GPT語言模型。
GPT-3
GPT-3(生成式預(yù)訓(xùn)練 Transformer 3)是最先進(jìn)的自然語言處理 (NLP) 模型之一,有可能在幾乎不需要人工輸入的情況下生成對無限范圍的人類語言查詢的響應(yīng)。GPT-3 通過尋找文本中的模式來工作。該模型是在一個龐大的文本數(shù)據(jù)集上訓(xùn)練的,該數(shù)據(jù)集包含超過 45TB 的精選文本,這些文本來自整個網(wǎng)絡(luò),參數(shù)高達(dá) 1750 億個。它可用于各種自然語言處理任務(wù),包括問答、摘要、對話建模和文本生成。憑借在語言理解、生成文本和會話 AI 方面的高級功能,OpenAI GPT-3 被認(rèn)為是迄今為止最強(qiáng)大的語言模型。
GPT-3是如何工作的?
GPT-3模型基于多層轉(zhuǎn)換器架構(gòu),這是一個神經(jīng)網(wǎng)絡(luò),它通過跟蹤順序數(shù)據(jù)中的關(guān)系(例如這句話中的單詞)來學(xué)習(xí)上下文和意義。Transformer 模型應(yīng)用了一組不斷發(fā)展的數(shù)學(xué)技術(shù),稱為注意力或自注意力,以檢測微妙的方式,即使是一系列中遙遠(yuǎn)的數(shù)據(jù)元素也相互影響和依賴。
-
GPT-3 使用一種稱為掩碼語言建模的技術(shù),這意味著它被訓(xùn)練為在給定先前單詞的情況下預(yù)測句子中的下一個單詞。這允許模型生成更自然、更像人的文本。
-
它利用零樣本學(xué)習(xí),其中一個預(yù)訓(xùn)練的深度學(xué)習(xí)模型被用來概括一個新的樣本類別,即訓(xùn)練和測試集類是不相交的。零樣本方法通常通過某種形式的輔助信息將觀察到的類和非觀察到的類關(guān)聯(lián)起來,這些信息編碼了對象的可觀察區(qū)分屬性。這使得模型只需輸入幾個詞即可生成高度準(zhǔn)確的結(jié)果,并生成聽起來非常自然的文本。
-
最后,它采用遷移學(xué)習(xí)來利用從先前任務(wù)中獲得的知識來改進(jìn)對另一個任務(wù)的泛化。這使模型能夠快速適應(yīng)新任務(wù)并生成更準(zhǔn)確的結(jié)果。這在深度學(xué)習(xí)中意義重大,因?yàn)榇蠖鄶?shù)現(xiàn)實(shí)世界的問題通常沒有數(shù)百萬個標(biāo)記數(shù)據(jù)點(diǎn)來訓(xùn)練如此復(fù)雜的模型。
-
該模型利用強(qiáng)化學(xué)習(xí) (RL)算法,并根據(jù)用戶反饋重新訓(xùn)練自己進(jìn)行連續(xù)學(xué)習(xí),以便隨著時間的推移改進(jìn)自己。
使用 GPT-3 進(jìn)行測試
OpenAI GPT3 可能是自動化軟件開發(fā)生命周期 (SDLC) 的絕佳選擇。借助 GPT-3,測試工程師可以利用以下用例:
-
測試中文本生成模型最常見的用例肯定是測試代碼生成,即根據(jù)數(shù)據(jù)自動生成測試腳本。將人工干預(yù)和花在查找 ID、選擇器或 xpath 上的時間減少到零。
-
使用 GPT-3,測試腳本和測試用例的生成可以變得順利,因?yàn)?GPT-3 使用提示、示例和輸出模型。要生成測試腳本,測試工程師只需要提供一個提示,其中包含他們正在嘗試執(zhí)行的操作的上下文。例如,簡單的文本:“打開 www.xyz.com,然后登錄”、測試用例或分析數(shù)據(jù)。然后,測試工程師需要提供一個示例,說明他們期望從 GPT-3 返回什么,在這種情況下,這將是你希望將數(shù)據(jù)轉(zhuǎn)換成的語言的代碼示例。提供大約 4-6 個示例將產(chǎn)生最佳結(jié)果。一旦將這兩件事提供給 GPT-3,輸出將返回給定提示的代碼,然后可以將其永久或臨時保存到文件中,然后執(zhí)行。
-
我們還可以應(yīng)用類似的原則,根據(jù)加載到 GPT-3 中的輸入生成整個測試框架,并將其轉(zhuǎn)換為用于被測應(yīng)用程序(Web、移動、API)的定制測試框架。工程師可以簡單地指定被測應(yīng)用程序、語言以及他們想要開始的自動化框架類型,然后框架可以在很短的時間內(nèi)自動生成。
在自動化測試中如何應(yīng)用?
OpenAI GPT-3 功能強(qiáng)大,并且通過其快速設(shè)置和易于使用的集成完美地表明了 AI 在將 AI 系統(tǒng)集成到自動化測試方面的發(fā)展方向。在評估此工具是否適合你的團(tuán)隊(duì)時,應(yīng)考慮一些學(xué)習(xí)曲線區(qū)域。但與生成你自己的自定義模型相比,學(xué)習(xí)曲線是完全可控的。
自動化測試過程大致可分為以下三個主要階段。讓我們看看如何使用 GPT-3 來加速這些階段中的每一個階段,并使整個過程更快、更高效。
No.1 識別被測應(yīng)用程序
這涉及識別需要測試的業(yè)務(wù)邏輯、功能需求和非功能需求。GPT-3 可以通過使用自然語言處理 (NLP) 分析代碼庫、用戶界面中的文本和相關(guān)文檔來識別被測應(yīng)用程序,以確定應(yīng)用程序類型。例如,如果應(yīng)用程序包含“Shipping”或“Add to cart”等英文單詞,那么 GPT-3 可以推斷該應(yīng)用程序是一個電子商務(wù)平臺。通過執(zhí)行此步驟,我們可以根據(jù)這些已識別的對象/功能/依賴關(guān)系創(chuàng)建可重用的測試用例/場景,這些用例/場景可以在以后的任何測試活動(例如手動回歸或探索性測試)中使用。
No.2 創(chuàng)建測試用例/場景
一旦確定了數(shù)據(jù)結(jié)構(gòu),GPT-3 就可以為每個案例生成測試場景。此外,如果需要,你可以利用 GPT-3 生成所需的測試數(shù)據(jù)。例如,如果測試電子商務(wù)商店,請生成涵蓋不同類型購物者的場景,例如首次購買者、回頭客和多件商品購物者。
生成場景后,可以進(jìn)一步使用 GPT-3 創(chuàng)建測試腳本來測試數(shù)據(jù)結(jié)構(gòu)。然后可以根據(jù)預(yù)期行為和現(xiàn)有系統(tǒng)要求驗(yàn)證場景,并進(jìn)一步評估結(jié)果。一旦為系統(tǒng)中的每個對象/功能創(chuàng)建了這些可重用測試,你就可以更輕松地在多個項(xiàng)目中重用它們,而不會因?yàn)樗鼈兊牟煌秶蜕舷挛模ɡ?,不同?QA 團(tuán)隊(duì))而相互沖突。
No.3 設(shè)計和開發(fā)自動化測試框架
創(chuàng)建自動化測試的第三階段涉及設(shè)計框架,通過該框架我們可以使用高級語言表達(dá)我們的需求,因此測試工程師專注于應(yīng)用程序功能,而不是語法,這對整體效率有顯著貢獻(xiàn)。
優(yōu)點(diǎn)
2. 從第一天開始就應(yīng)該優(yōu)先考慮添加面向安全的最佳實(shí)踐。但是,如果你有不安全的遺留代碼或沒有時間在代碼中查找安全漏洞,GPT-3 可以提供幫助。此外,GPT-3 創(chuàng)建的大部分代碼片段在默認(rèn)情況下都是安全的。但有時,你可能必須提示平臺創(chuàng)建安全代碼。
3. GPT-3 是克服特定技術(shù)知識局限性的絕佳工具。例如,如果你是 Selenium 專家但不精通 GitHub,你可以使用 GPT-3 至少讓你入門并提供入門代碼來幫助你創(chuàng)建 GitHub 工作流。但是,請注意 GPT-3 并不完美或萬無一失。
4. 在調(diào)試方面,GPT-3 是任何軟件開發(fā)人員工具包的有用補(bǔ)充。你可以在 Internet 上找到一些示例,其中人們復(fù)制粘貼了他們的代碼并將失敗的確切原因作為輸出響應(yīng)返回。同樣,這并非 100% 萬無一失,GPT-3 可能會遺漏明顯的問題,但它仍然可以幫助你入門或在調(diào)試代碼時為你提供新的視角。
缺點(diǎn)
GPT-3基于統(tǒng)計模式,不理解文字的潛在含義。該模型根據(jù)之前/之前使用過的詞預(yù)測下一個詞。但是,它對這些詞的含義沒有基本的理解。這意味著它不能在用戶的問題或陳述需要理解之前未解釋過的上下文的情況下有效使用。
雖然這些似乎是次要限制,但如果你依賴 GPT-3 進(jìn)行測試,這將是一件大事。例如,如果你必須創(chuàng)建需要事先深入了解被測系統(tǒng)的測試用例,GPT-3 的準(zhǔn)確性將大大降低。
GPT-3 的底層技術(shù),是一種深度學(xué)習(xí)語言模型,已經(jīng)在人類生成內(nèi)容的大數(shù)據(jù)集上進(jìn)行了訓(xùn)練。這里我們假設(shè)它也學(xué)習(xí)了代碼作為文本;因此,它能夠創(chuàng)建如此準(zhǔn)確的代碼。這意味著它不能準(zhǔn)確地回應(yīng)它以前沒有學(xué)過的東西,或者如果它的學(xué)習(xí)沒有更新,它可能會給出錯誤的信息。
例如,如果它的最后一個學(xué)習(xí)階段是在一個已經(jīng)棄用了一半方法的框架上,那么它將創(chuàng)建的代碼將使用那些已棄用的方法。因此,用戶必須確保他們使用的最終代碼是最新的。
通過 GPT-3 創(chuàng)建代碼的另一個挑戰(zhàn)是你必須處理部分編寫的代碼。因此,如果你依賴基于 GPT-3 的代碼,你首先必須理解不完整的代碼,完成它,或修改它以滿足你的需要。正如你可以想象的那樣,這通常是一件具有挑戰(zhàn)性的事情,因?yàn)橛刑嗍虑榭赡艹鲥e。即使你設(shè)法得到你想要的,最終產(chǎn)品也可能不如你從頭開始編寫代碼那么好。但另一方面,有時擴(kuò)展代碼或調(diào)試代碼可能比從頭開始創(chuàng)建重復(fù)代碼更容易。
GPT-3 取決于假設(shè)。軟件測試人員接受過培訓(xùn),可以識別這些可能導(dǎo)致應(yīng)用程序失敗的隱藏因素,當(dāng)他們這樣做時,他們可以在測試用例中構(gòu)建檢查這些問題的方法。但是,當(dāng)你的測試人員沒有足夠的時間來測試他們所有的假設(shè)時會發(fā)生什么?如果驗(yàn)證假設(shè)所需的信息不可用怎么辦?當(dāng)其他團(tuán)隊(duì)參與構(gòu)建產(chǎn)品時,如 QA 或開發(fā),這可能很難控制。
GPT-3 也存在類似的問題。該平臺從許多關(guān)于你輸入的用例的假設(shè)開始。大多數(shù)時候,這些假設(shè)是顯而易見的,并且很容易解決它們,但通常這些假設(shè)會導(dǎo)致非常不準(zhǔn)確的代碼。
人工智能會取代測試團(tuán)隊(duì)嗎
?GPT-3 和類似的 AI 技術(shù)在測試和自動化測試領(lǐng)域肯定具有巨大的潛力。但是,說他們將取代測試團(tuán)隊(duì)仍然是不可能的。這是因?yàn)樯傻拇a往往并不完美。在大多數(shù)情況下,它們非常接近可運(yùn)行的代碼;但是,仍然存在一些問題,從語法錯誤到由于上下文差距而缺少關(guān)鍵步驟。但經(jīng)驗(yàn)豐富的開發(fā)人員可以提供足夠多的樣板文件,使其易于調(diào)整、調(diào)試和獨(dú)立運(yùn)行。
如果使用得當(dāng),該工具將使團(tuán)隊(duì)能夠更早、更快地開始測試任務(wù)。在后臺使用該技術(shù)創(chuàng)建的適當(dāng)工具將使測試人員不必太擔(dān)心自動化,而是專注于測試用例本身。
結(jié)論
總而言之,在我們的自動化測試過程中利用 AI 可以帶來很多效率。GPT-3 是一款令人興奮且功能強(qiáng)大的自動化測試工具。話雖如此,重要的是要強(qiáng)調(diào)它仍處于早期階段,并且正在不斷更新以添加功能或修復(fù)錯誤。此外,它還采用強(qiáng)化學(xué)習(xí)算法不斷從用戶反饋中學(xué)習(xí)。因此它的準(zhǔn)確性會隨著時間的推移而增加。這意味著用戶必須掌握這些變化才能繼續(xù)有效地使用 GPT-3。
GPT-3 可以作為你下一個自動化測試項(xiàng)目的重要基礎(chǔ),并可用于加速整個過程的每個階段。因此,我們可以最大限度地減少多次執(zhí)行相同任務(wù)所需的工作量,減少人為錯誤并使我們的測試用例更加健壯。
最后:?下方這份完整的軟件測試視頻學(xué)習(xí)教程已經(jīng)整理上傳完成,朋友們?nèi)绻枰梢宰孕忻赓M(fèi)領(lǐng)取【保證100%免費(fèi)】
?這些資料,對于【軟件測試】的朋友來說應(yīng)該是最全面最完整的備戰(zhàn)倉庫,這個倉庫也陪伴上萬個測試工程師們走過最艱難的路程,希望也能幫助到你!文章來源:http://www.zghlxwxcb.cn/news/detail-460299.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-460299.html
到了這里,關(guān)于利用 Openai Gpt-3 實(shí)現(xiàn)下一代自動化測試的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!