大模型時代測試能做什麼?

爱偷懒的QA發表於2024-12-13

從 2020 年:GPT-3(Generative Pre-trained Transformer 3)的釋出,展示了大規模預訓練模型在多種任務上的卓越效能。到現在的 GPT-4,網際網路各個行業好像不和大模型,AI 沾點邊就有點不好意思說出來。各種網際網路大會,技術大會,質量保障大會幾乎全是相關的話題。先不論做到了什麼程度,取得了什麼效果,只要能講出個子醜寅卯,就感覺到非常高大上。作為測試同學,我們又能做些什麼呢?

一,大模型相關產品測試

隨著各個行業紛紛推出大模型相關產品,相應的測試工作也變得尤為重要。例如,大模型問答系統(如百度的文心一言、位元組跳動的豆包、快手的 KwaiPilot 等),以及 AI 生成影片、圖片等工具,都需要經過嚴格的測試以確保其效能和可靠性。

1. 基本功能測試

在大模型產品釋出之前,必須進行大量測試以確保其基本功能的穩定性和有效性。具體來說,這些測試包括但不限於以下幾個方面:

  • 問答質量測試:評估模型對各種問題的回答質量,包括準確性、邏輯性和流暢度。
  • 上下文理解測試:檢查模型是否能夠正確理解和處理多輪對話中的上下文資訊。
  • 有效性測試:驗證模型是否能夠有效回答各類問題,包括常見問題和邊緣案例。
  • 特定功能測試:針對不同產品的特有功能進行測試,確保其能夠完成預期的任務。例如,對於 AI 生成影片和圖片的工具,需要測試生成內容的質量、多樣性和創意性。 此外,還可以探索和總結新的測試方案,以提高測試的效率和效果。例如,利用自動化測試工具和框架,或者借鑑其他領域的測試方法。

2. 測試工具的開發

由於大模型相關產品較為新穎,現有的測試方法和工具可能無法完全滿足需求。因此,開發專門針對大模型的測試工具顯得尤為重要。以下是一些可能的發展方向:

  • 自動化測試工具:開發能夠自動生成測試用例和評估結果的工具,提高測試的效率和覆蓋率。
  • 大模型互測:利用大模型本身來測試其他大模型,透過模型之間的互動和反饋,發現潛在的問題和改進點。
  • 多模態測試:針對多模態大模型(如文字、影像、影片等),開發綜合性的測試工具,確保各模態之間的協調性和一致性。
  • 效能測試:評估大模型在不同負載下的效能表現,包括響應時間、資源消耗等指標。 透過這些努力,可以更好地保障大模型產品的質量和使用者體驗,推動大模型技術的進一步發展和應用。

二,大模型生成測試用例

在軟體測試過程中,手工編寫測試用例一直是一項耗時且質量參差不齊的任務。隨著大模型技術的發展,許多公司開始探索利用大模型來提高測試用例編寫的效率和質量。以下是常見的解決方案及其面臨的挑戰:

1,常見解決方案

  • 需求解析與測試點提取:利用大模型深入理解需求文件,自動識別並提出關鍵測試點。
  • 業務上下文分析:結合知識庫,分析需求在具體業務場景中的上下文關係,確保測試用例的全面性和準確性。
  • 用例生成:透過提示詞或示例,自動生成與需求相關的功能測試用例。
  • 用例稽核與反饋:將生成的用例提交給測試人員或業務專家進行稽核和反饋,確保用例的實用性和有效性。
  • 多 Agent 驗證:針對質量不高的用例,透過多 Agent 協作進行驗證和最佳化,直至生成高質量的測試用例。
  • 最終用例集生成:整合所有反饋和最佳化結果,生成最終的測試用例集。

2,面臨的挑戰

  • 需求文件的規範性:大模型對需求的理解依賴於文件的規範性。如果需求文件表述不清或不完整,大模型也無法準確理解需求。
  • 業務上下文的複雜性:對於複雜的業務場景,大模型可能難以全面理解需求的上下文關係,導致測試點的遺漏或誤判。
  • 生成用例的相關性:僅基於字面意思生成的用例可能缺乏針對性,需要業務人員進行大量篩選和最佳化,這可能導致投入產出比低下。

3,解決建議

  • 提升需求文件質量:加強需求文件的編寫規範,確保文件清晰、完整,便於大模型理解和解析。
  • 增強業務上下文分析:結合領域專家的知識和經驗,補充大模型在業務上下文理解上的不足。
  • 最佳化用例生成演算法:改進大模型的生成演算法,提高生成用例的相關性和針對性,減少無效用例的數量。
  • 建立反饋機制:建立高效的反饋機制,及時收集測試人員和業務專家的意見,不斷最佳化生成的用例。 透過以上措施,可以有效提高大模型生成測試用例的質量和效率,從而提升整體測試工作的效果。

三,介面自動化用例的生成

在自動化測試領域,介面自動化用例的自動生成具有最高的投入產出比。

1,為什麼要生成介面自動化?

大多數公司都擁有詳細的介面文件,其中包含介面地址、引數、返回資料等資訊。透過將這些資訊傳遞給大模型,可以生成相應的介面自動化測試用例,包括輸入資料和輸出斷言。經過資料處理,這些用例可以轉換為特定框架下的測試用例,或者直接匯入到介面自動化平臺,生成具體的測試用例。

2,如何自動生成介面自動化用例?

為了確保生成的用例具有高可用性,建議採取以下措施:

  • 構建業務知識庫:建立一個包含業務需求文件、技術文件以及現有用例資料的知識庫。在生成用例時,可以參考這些資料,確保用例的準確性和全面性。
  • 利用線上流量資料:將相應介面的線上流量資料作為輸入,或者將其納入知識庫中。這有助於細化介面引數和返回值斷言,提高用例的針對性和實用性。
  • 提供介面呼叫鏈路資料:將介面的呼叫鏈路資料或介面程式碼傳遞給大模型,以便更全面地測試相關功能,確保用例覆蓋所有關鍵路徑。
  • 執行生成的用例:將生成的用例透過介面自動化框架或平臺進行執行。如果生成的用例執行失敗,可以透過多 Agent 反饋機制進行重新生成和最佳化。
  • 評估和最佳化用例:結合覆蓋率和自動化測試結果分析,評估生成的用例質量。根據評估結果,進一步生成或最佳化用例,確保其高效性和可靠性。 透過上述措施,可以顯著提高介面自動化用例的生成質量和效率,從而提升整體測試工作的效果。 在真正在業務場景中,可以配合精準測試,在提測試的時候,自動進行鏈路分析,分析出本次需求改動的介面。呼叫介面自動化平臺,自動生成介面自動化用例,多 Agent 反饋最佳化後,執行自動化用例集,生成覆蓋率報告,分析自動化測試的介面,進行需求提測的卡口工作。當然,你也可以結合自己的業務,進行更加靈活的運用。

四,UI 自動化用例生成

1, UI 自動化測試面臨的挑戰與解決方案

UI 自動化測試因其高昂的維護成本和較低的透過率,長期以來一直是業務團隊的痛點。早期嘗試的各種錄製回放方法,如 Selenium IDE、SoloPI 和 Airtest,雖然提供了一定的便利性,但由於被測試物件的變化頻繁,影像識別的效率和準確性不足,這些方法的效果並不理想。隨著端上技術的不斷進步,UI 自動化測試的實施變得更加複雜。

  • 前端框架的引入:
  • 現代前端框架(如 Vue、React)和移動端框架(如 Flutter)的廣泛應用,使得早期依賴元素屬性進行定位的方法不再可靠。
  • 多平臺相容性:
  • Web 端需要支援多種作業系統(Windows、macOS)和不同瀏覽器,移動端則面臨不同手機廠商的作業系統和螢幕尺寸差異,這使得自動化相容測試變得更加困難。
  • 快速迭代的業務需求:
  • 業務變化迅速,需求迭代頻繁,產品大改版也越來越常見,導致 UI 自動化測試的投入產出比相對較低。

2,大模型助力 UI 自動化測試

在大模型的支援下,UI 自動化測試可以實現更高效、更智慧的實施:

  • 提速影像識別:
  • 大模型在影像識別方面遠超傳統 OCR 技術,結合知識庫的應用,能夠更快、更準確地識別特定的產品元素。
  • 模組化規劃用例:
  • 對於元件化開發的產品,可以針對每個元件編寫並儲存測試用例;對於非元件化開發的產品,可以根據業務邏輯拆分相關頁面,形成模組化的測試用例集。
  • 業務場景識別:
  • 利用大模型識別新需求相關的頁面及其元件和模組,自動生成相應的測試用例,形成完整的測試用例集。
  • 功能遍歷測試:
  • 透過呼叫鏈路分析,建立被測物件的 App 地圖和功能地圖,儲存遍歷路徑,按圖對 App 進行全面的遍歷測試。
  • 智慧分析測試結果:
  • 呼叫大模型對生成的測試用例集執行結果進行分析,識別用例失敗的原因,並提出補充用例的建議。同時,根據測試覆蓋率報告,分析未覆蓋的程式碼部分,推薦補充的測試用例。 透過以上措施,大模型不僅能夠提升 UI 自動化測試的效率和準確性,還能顯著降低維護成本,提高測試的投入產出比。

五,總結

以上是當下在測試行業炒得比較火的大模型應用方面,可以從各個網際網路技術大會上看到,至於在公司用的怎麼樣,那就要看各自的實施力度了。當然也有在公司原來的平臺,保障體系中,加入大模型的能力,進行風險識別,問題分析,故障智慧處理等等。大模型的能力越來越強,各個大佬可以根據自己的工作需要,將大模型能力引入,讓自己的工作如虎添翼!

相關文章