?????? 前面介紹的案例主要展示了ChatGPT在功能、安全和性能測試用例生成方面的應用和成果。通過ChatGPT生成測試用例,測試團隊不僅可以提升工作效率,還可以加快測試工作的速度,盡早發現被測系統中的問題。問題及早發現有助于提高軟件的質量和用戶滿意度。
ChatGPT在功能、安全和性能測試用例生成方面的應用為我們提供了一種創新的方法,可以極大地提高測試的工作效率。
??? 下面仍以百度搜索項目為例,介紹如何應用ChatGPT來生成功能和安全測試用例。
具體操作步驟如下。
問題描述:測試團隊定義問題描述,著重測試百度搜索項目的核心業務即關鍵字搜索業務。這是平時用戶應用最為頻繁的功能之一、測試人員必測的內容。
ChatGPT交互:測試團隊與ChatGPT進行交互,向其提供問題描述;ChatGPT理解測試的范圍,并迅速生成相應的測試用例。
????????在ChatGPT的輸入框中輸入“請生成一份基于百度關鍵字搜索業務的測試用例集。你是一名資深測試專家,基于目前百度搜索業務,輸出一份名稱為‘百度關鍵字搜索-測試用例集’的測試用例集文檔,要求考慮等價類、邊界值、判定表、正交實驗法等測試用例設計方法,以及SQL注入、XSS攻擊等安全性測試用例的設計。”。生成百度關鍵字搜索業務測試用例集的提示詞及ChatGPT輸出的結果,如圖3-1所示。
圖3-1? 生成百度關鍵字搜索業務測試用例集的提示詞及ChatGPT輸出結果
測試用例生成:從生成的百度關鍵字搜索業務測試用例集來看,其并不符合測試用例的規范格式。一個測試用例通常至少包括測試編號、前置條件、測試步驟、預期結果這4項內容,目前ChatGPT給出的格式明顯不符合要求。
?????? 因此,借助ChatGPT會話支持上下文的功能,筆者輸入“你并沒有按照測試用例的格式輸出,請按照規范的測試用例格式編寫相關用例”提示詞。按照規范格式輸出測試用例的提示詞及ChatGPT輸出的測試用例集內容,如圖3-2所示。
圖3-2? 按照規范格式輸出測試用例的提示詞及ChatGPT輸出的測試用例集
???????? 這次ChatGPT輸出的測試用例集完全符合要求,如下所示。
按照規范格式輸出測試用例的提示詞及ChatGPT輸出的測試用例集
非常抱歉,以下是按照規范測試用例格式編寫的百度關鍵字搜索的測試用例集:
百度關鍵字搜索-測試用例集
1. 搜索輸入框測試
測試編號: TC001
前置條件: 用戶打開百度搜索頁面
測試步驟:
- 在搜索輸入框中輸入一個有效關鍵字(例如:"測試")
- 點擊搜索按鈕
預期結果: 顯示搜索結果頁面。
測試編號: TC002
前置條件: 用戶打開百度搜索頁面
測試步驟:
- 在搜索輸入框中輸入多個有效關鍵字(例如:"軟件測試方法")
- 點擊搜索按鈕
預期結果: 顯示搜索結果頁面。
測試編號: TC003
前置條件: 用戶打開百度搜索頁面
測試步驟:
- 在搜索輸入框中輸入特殊字符(例如:"#$%^")
- 點擊搜索按鈕
預期結果: 顯示錯誤消息提示。
測試編號: TC004
前置條件: 用戶打開百度搜索頁面
測試步驟:
在搜索輸入框中輸入部分關鍵字(例如:?"測")
預期結果: 顯示搜索建議列表。
測試編號: TC005
前置條件: 用戶打開百度搜索頁面
測試步驟:
在搜索輸入框中輸入多個部分關鍵字(例如:?"軟件測")
預期結果: 顯示搜索建議列表。
測試編號: TC006
前置條件: 用戶輸入合法關鍵字并點擊搜索按鈕
測試步驟: 檢查搜索結果頁面
預期結果: 顯示相關的搜索結果。
測試編號: TC007
前置條件: 用戶輸入合法關鍵字并點擊搜索按鈕
測試步驟:
點擊下一頁按鈕
預期結果: 顯示下一頁的搜索結果。
測試編號: TC008
前置條件: 用戶輸入合法關鍵字并點擊搜索按鈕
測試步驟:
點擊上一頁按鈕
預期結果: 顯示上一頁的搜索結果。
測試編號: TC009
前置條件: 用戶輸入合法關鍵字并點擊搜索按鈕
測試步驟:
選擇按相關性排序
預期結果: 結果按相關性排序。
測試編號: TC010
前置條件: 用戶輸入合法關鍵字并點擊搜索按鈕
測試步驟:
選擇按時間排序
預期結果: 結果按時間排序。
測試編號: TC011
前置條件: 用戶在搜索輸入框中輸入惡意SQL查詢(例如:?"'; DROP TABLE Users --")
測試步驟: 檢查搜索結果或頁面行為
預期結果: 拒絕查詢并顯示錯誤消息。
測試編號: TC012
前置條件: 用戶在搜索輸入框中輸入包含XSS腳本的關鍵字(例如:?"<script>alert('XSS Attack')</script>")
測試步驟: 檢查搜索結果或頁面行為
預期結果: 過濾并顯示普通文本。
這是一個簡單的測試用例示例,具體測試用例的設計和數量可以根據具體需求和應用場景進行擴展和定制。同時,需要注意,測試用例集應根據百度搜索的實際功能和特性來進一步完善。
???????? 這種測試用例還不夠直觀,能不能讓其以表格的形式顯示呢?筆者輸入“請以表格形式展示,謝謝。”提示詞,ChatGPT輸出的部分內容如圖3-3所示。(未完待續)