簡介
測試數據是指一組專注於爲測試服務的數據,既可以作爲功能的輸入去驗證輸出,也可以去觸發各類異常場景。
測試數據的設計尤爲重要,等價類、邊界值、正交法等測試用例設計方法都是爲了更全面的設計對應的測試數據集。
實踐演練
在批量生成測試數據中,我們需要明確數據的類型、格式、還有需求。然後再將這些信息輸入到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
如此一來,即可通過不同的提示詞,生成滿足需求的測試用例。
總結
測試數據的生成其實也是遵循提示詞的技巧與原則:
- 寫清楚需求:需要明確測試數據的內容範圍、數據類型等。
- 將複雜的任務拆分爲更簡單的子任務:如果一開始就計劃生成一個比較複雜的數據信息,可以從輸入的範圍、格式、再到輸出個格式逐步拆解。
- 系統地測試變化:如果中間步驟輸出的數據不滿足需求,可以通過提示詞進行糾正與補充。