簡介
測試資料是指一組專注於為測試服務的資料,既可以作為功能的輸入去驗證輸出,也可以去觸發各類異常場景。
測試資料的設計尤為重要,等價類、邊界值、正交法等測試用例設計方法都是為了更全面的設計對應的測試資料集。
實踐演練
在批次生成測試資料中,我們需要明確資料的型別、格式、還有需求。然後再將這些資訊輸入到ChatGPT中,由ChatGPT幫助我們自動生成測試資料。
那麼如何讓ChatGPT自動生成測試資料呢?
- 要把對應的需求資訊給到ChatGPT。
- 規定好資料的輸出格式。
假設以下是我們的需求內容:
要求新增一個輸入框,輸入框只能輸入中國的手機號碼。
那我們可以使用如下的方式編寫我們的提示詞:
- 提示詞:要求新增一個輸入框,輸入框只能輸入中國的手機號碼。請根據以上需求幫我生成一些測試資料。
很抱歉,由於我目前無法直接操作圖形介面或新增實際的輸入框,我無法為您生成實際的測試資料。但是,我可以為您提供一些模擬的測試資料,以供參考。請注意,這些資料是隨機生成的,僅用於測試目的。
模擬的中國手機號碼測試資料:
1. 13812345678
2. 15098765432
3. 13456789012
4. 13987654321
5. 13678901234
請確保在實際測試中使用合法的手機號碼,並根據您的需求進行適當的驗證.
這樣的返回資訊明顯沒有考慮到異常場景,並不滿足我們的需求,可以繼續做進一步的補充。
- 提示詞:請考慮異常場景的測試資料
當然,為了全面測試輸入框的有效性和魯棒性,您可以考慮以下異常場景的測試資料:
1. 非數字字元:
- 輸入:abcde123456
- 輸入:1a2b3c4d5e6
2. 長度不正確的手機號碼:
- 輸入:1391234567(缺少一位)
- 輸入:138123456789(超過11位)
3. 非中國手機號碼:
- 輸入:+8613812345678
- 輸入:02012345678(固定電話)
4. 特殊字元:
- 輸入:13912#45678
- 輸入:15098&65432
5. 空輸入:
- 輸入:(留空)
6. 其他異常情況:
- 輸入:00000000000(看起來像是假號碼)
- 輸入:19912345678(雖然長度和格式正確,但可能是未來的號碼)
請確保您的輸入框能夠正確地識別並處理這些異常情況,並向使用者提供相應
- 錯誤提示或反饋。
這樣可以確保使用者輸入的有效性和系統的穩定性。
由此即可讓生成的測試資料更加的完成。
除此之外,還可以限定生成的測試資料的格式資訊,比如需要將生成的測試資料給程式碼使用,可以限定測試資料生成的格式。
- 提示詞:以上的測試資料,請使用yaml格式輸出
- description: Non-numeric characters input: abcde123456
- description: Non-numeric characters input: 1a2b3c4d5e6
- description: Incorrect length input: 1391234567
- description: Incorrect length input: 138123456789
- description: Non-Chinese phone number input: +8613812345678
- description: Non-Chinese phone number input: 02012345678
- description: Special characters input: 13912#45678
- description: Special characters input: 15098&65432
- description: Empty input input:
- description: Potentially fake number input: 00000000000
- description: Potential future number input: 19912345678
如此一來,即可透過不同的提示詞,生成滿足需求的測試用例。
總結
測試資料的生成其實也是遵循提示詞的技巧與原則:
- 寫清楚需求:需要明確測試資料的內容範圍、資料型別等。
- 將複雜的任務拆分為更簡單的子任務:如果一開始就計劃生成一個比較複雜的資料資訊,可以從輸入的範圍、格式、再到輸出個格式逐步拆解。
- 系統地測試變化:如果中間步驟輸出的資料不滿足需求,可以透過提示詞進行糾正與補充。