ChatGPT生成測試用例的最佳實踐(三)

還記得在第1章,我們利用ChatGPT生成的業務用例嗎?這種業務用例生成方式其實和場景法用例設計十分相似,我們是不是也可以直接將業務用例輸入ChatGPT,讓它輸出測試用例呢?筆者輸入相關提示詞讓其補充以需求規格說明書中的業務用例為依據的測試用例,ChatGPT輸出如圖3-5所示。

圖3-5 ChatGPT輸出的部分基于需求規格說明書中的業務用例補充的測試用例
以下為ChatGPT輸出的完整的基于需求規格說明書中的業務用例補充的測試用例。
ChatGPT輸出的完整的基于需求規格說明書中的業務用例補充的測試用例
根據業務用例UC-01,以下是一些與該用例相關的測試用例,以確保百度關鍵字搜索功能的正確性和完整性:
測試編號
測試目標
前置條件
測試步驟
預期結果
TC019
基本關鍵字搜索 - 有效輸入
用戶已進入百度搜索頁面
1. 在搜索框中輸入一個有效關鍵字(例如:"測試")。<br> 2. 點擊搜索按鈕。
顯示與關鍵字相關的搜索結果頁面。
TC020
基本關鍵字搜索 - 多個有效輸入
用戶已進入百度搜索頁面
1. 在搜索框中輸入多個有效關鍵字(例如:"軟件測試方法")。<br> 2. 點擊搜索按鈕。
顯示與多個關鍵字相關的搜索結果頁面。
TC021
基本關鍵字搜索 - 無相關結果
用戶已進入百度搜索頁面
1. 在搜索框中輸入一個關鍵字,但系統無法找到相關結果(例如:"未知關鍵字")。<br> 2. 點擊搜索按鈕。
顯示相應的通知給用戶(例如:"未找到相關結果")。
TC022
基本關鍵字搜索 - 取消搜索
用戶已進入百度搜索頁面
1. 在搜索框中輸入一個有效關鍵字(例如:"測試")。<br> 2. 在搜索操作執行前取消搜索操作。
搜索操作被取消,用例結束。
TC023
基本關鍵字搜索 - 多次搜索
用戶已進入百度搜索頁面
1. 在搜索框中輸入一個有效關鍵字(例如:"測試")。<br> 2. 點擊搜索按鈕。<br> 3. 重復步驟1和2多次。
搜索結果正確顯示,搜索歷史被保留。
TC024
基本關鍵字搜索 - 邊界值測試
用戶已進入百度搜索頁面
1. 在搜索框中輸入一個極小的關鍵字(例如:"a")。<br> 2. 點擊搜索按鈕。
顯示與關鍵字相關的搜索結果頁面。
TC025
基本關鍵字搜索 - 邊界值測試
用戶已進入百度搜索頁面
1. 在搜索框中輸入一個極長的關鍵字(超出限制字符數,例如:"a" * 1000)。<br> 2. 點擊搜索按鈕。
顯示錯誤消息提示。
這些測試用例覆蓋了主要業務用例UC-01中的不同情況,包括有效輸入、無相關結果、取消搜索操作、多次搜索以及邊界值測試。它們有助于驗證百度關鍵字搜索功能是否按照規格說明書的要求正常運行。
ChatGPT根據業務用例UC-01補充了測試用例,這使得測試用例在操作流程的使用場景方面覆蓋得更加全面。
4) 用例評審和改進:對測試用例的評審和改進是確保軟件質量的關鍵環節。結合前面ChatGPT生成的功能和安全測試用例,進行測試團隊內部測試用例評審,在進行內部評審時,測試團隊成員發現以下問題。
- 有的測試用例的測試步驟中夾雜著<br>HTML標簽。
- 有的測試用例的測試步驟僅有1個步驟,卻有序號。
- 有的測試用例重復,如TC001(參見圖3-3)和TC019測試用例就非常相似。
- 有的測試用例不一定包含真實數據庫表,如TC011 SQL注入攻擊測試用例,可能就不存在users表等,需要和研發人員進一步確認是否存在該表。
- 存在文本輸入域需明確的情況,如關鍵字文本輸入框中的最大輸入字符數是1000個嗎?是允許輸入1000個英文字符,還是1000個中文或英文字符?這些需要和產品人員進一步明確。
限于篇幅,筆者只羅列幾點內容,測試團隊針對評審意見進行了相關測試用例的問題修正與疑問明確,經過測試用例去重以后,形成基于百度關鍵字搜索業務的功能和安全測試用例集,如表3-1所示。
表3-1 基于百度關鍵字搜索業務的功能和安全測試用例集
|
測試編號 |
測試目標 |
前置條件 |
測試步驟 |
預期結果 |
|
TC001 |
搜索輸入框合法關鍵字的測試 |
用戶打開百度搜索頁面 |
1. 在搜索輸入框中輸入一個有效關鍵字(例如:"測試") 2. 點擊搜索按鈕 |
顯示搜索結果頁面。 |
|
TC002 |
搜索輸入框多個合法關鍵字的測試 |
用戶打開百度搜索頁面 |
1. 在搜索輸入框中輸入多個有效關鍵字(例如:"軟件測試 方法") 2. 點擊搜索按鈕 |
顯示搜索結果頁面。 |
|
TC003 |
搜索輸入框包含特殊字符的測試 |
用戶打開百度搜索頁面 |
1. 在搜索輸入框中輸入特殊字符(例如:"#$%^") 2. 點擊搜索按鈕 |
顯示錯誤消息提示。 |
|
TC004 |
基本關鍵字搜索 - 無相關結果 |
用戶已進入百度搜索頁面 |
1. 在搜索框中輸入一個關鍵字,但系統無法找到相關結果(例如:"未知關鍵字")。 2. 點擊搜索按鈕。 |
顯示相應的通知給用戶(例如:"未找到相關結果")。 |
|
TC005 |
基本關鍵字搜索 - 取消搜索 |
用戶已進入百度搜索頁面 |
1.在搜索框中輸入一個有效關鍵字(例如:"測試")。 2. 在搜索操作執行前取消搜索操作。 |
搜索操作被取消,用例結束。 |
|
TC006 |
基本關鍵字搜索 - 多次搜索 |
用戶已進入百度搜索頁面 |
1.在搜索框中輸入一個有效關鍵字(例如:"測試")。 2. 點擊搜索按鈕。 3. 重復步驟1和2多次。 |
搜索結果正確顯示,搜索歷史被保留。 |
|
TC007 |
基本關鍵字搜索 - 邊界值測試 |
用戶已進入百度搜索頁面 |
1.在搜索框中輸入一個極小的關鍵字(例如:"a")。 2. 點擊搜索按鈕。 |
顯示與關鍵字相關的搜索結果頁面。 |
|
TC008 |
基本關鍵字搜索 - 邊界值測試 |
用戶已進入百度搜索頁面 |
1.在搜索框中輸入一個極長的關鍵字(超出限制字符數,例如:"a" * 1000)。 2. 點擊搜索按鈕。 |
顯示錯誤消息提示。 |
|
TC009 |
搜索建議顯示測試 |
用戶打開百度搜索頁面 |
在搜索輸入框中輸入部分關鍵字(例如: "測") |
顯示搜索建議列表。 |
|
TC010 |
搜索建議多個部分關鍵字的測試 |
用戶打開百度搜索頁面 |
在搜索輸入框中輸入多個部分關鍵字(例如: "軟件測") |
顯示搜索建議列表。 |
|
TC011 |
針對搜索結果的驗證 |
用戶輸入合法關鍵字并點擊搜索按鈕 |
檢查搜索結果頁面 |
顯示相關的搜索結果。 |
|
TC012 |
下一頁按鈕測試 |
用戶輸入合法關鍵字并點擊搜索按鈕 |
點擊下一頁按鈕 |
顯示下一頁的搜索結果。 |
|
TC013 |
上一頁按鈕測試 |
用戶輸入合法關鍵字并點擊搜索按鈕 |
點擊上一頁按鈕 |
顯示上一頁的搜索結果。 |
|
TC014 |
按相關性排序測試 |
用戶輸入合法關鍵字并點擊搜索按鈕 |
選擇按相關性排序 |
結果按相關性排序。 |
|
TC015 |
按時間排序測試 |
用戶輸入合法關鍵字并點擊搜索按鈕 |
選擇按時間排序 |
結果按時間排序。 |
|
TC016 |
SQL注入攻擊測試 |
用戶在搜索輸入框中輸入惡意SQL查詢(例如: "'; DROP TABLE Users --") |
檢查搜索結果或頁面行為 |
拒絕查詢并顯示錯誤消息。 |
|
TC017 |
XSS攻擊測試 |
用戶在搜索輸入框中輸入包含XSS腳本的關鍵字(例如: "<script>alert('XSS Attack')</script>") |
檢查搜索結果或頁面行為 |
過濾并顯示普通文本。 |
|
TC018 |
搜索輸入框的最小邊界值測試 |
用戶打開百度搜索頁面 |
在搜索輸入框中輸入一個空格 |
顯示搜索建議或搜索歷史。 |
|
TC019 |
搜索輸入框的最大邊界值測試 |
用戶打開百度搜索頁面 |
在搜索輸入框中輸入一個長字符串,超出限制字符數(例如:1000個字符,500個漢字) |
顯示錯誤消息提示。 |
|
TC020 |
搜索建議的最小邊界值測試 |
用戶打開百度搜索頁面 |
在搜索輸入框中輸入一個字符(例如:"a") |
顯示搜索建議列表。 |
|
TC021 |
搜索建議的最大邊界值測試 |
用戶打開百度搜索頁面 |
在搜索輸入框中輸入多個字符,但不足以顯示搜索建議(例如:"abcde") |
不顯示搜索建議列表。 |
|
TC022 |
搜索結果的最小邊界值測試 |
用戶輸入合法關鍵字并點擊搜索按鈕 |
檢查搜索結果頁面 |
顯示相關的搜索結果。 |
|
TC023 |
搜索結果的最大邊界值測試 |
用戶輸入合法關鍵字并點擊搜索按鈕 |
輸入關鍵字,使得搜索結果數超過限制(例如:超過1000個結果) |
顯示錯誤消息提示。 |
通常情況下還應該進行測試用例外不評審。將已完成的基于百度關鍵字搜索業務的功能和安全測試用例集的存放位置告知項目團隊成員,需要預留出一定的時間,便于項目組研發、產品人員閱讀,以免在項目團隊測試用例評審會議上占用過多時間熟悉相關測試用例內容。在項目團隊測試用例評審會議上,相關人員積極進行測試用例評審,提出如下幾點意見。
1) 針對測試用例TC008、TC019和TC023,產品人員對搜索輸入框的字符進行了明確,即無論是中文字符還是英文字符,最大輸入的字符數就是100個,無論是中文字符、英文字符或者中英文字符混合,都需要前后端做校驗,若前端輸入超過100個字符,則自動截取前100個字符。
2) 針對測試用例TC016,產品人員對需求進行了明確,即將SQL注入的語句進行過濾處理,將其作為普通文本處理,同時后端研發人員也明確users表存在。
3) 針對測試用例TC023,產品人員對需求進行了明確,即搜索結果數沒有限制。
ChatGPT生成測試用例的最佳實踐(三)
浙公網安備 33010602011771號