簡介
在我們完成了測試用例的編寫之後,我們就需要造不同的測試數據去進行實際的測試工作了,我們要讓我們的測試儘可能地覆蓋所有的情況,就需要我們根據測試用例的設計方法,去設計更多的測試數據,執行更多地測試用例,使得測試更加完善。在造測試數據的時候,ChatGPT當然也可以幫我們很多。
測試數據
測試數據是指一組專注於爲測試服務的數據,既可以作爲功能的輸入去驗證輸出,也可以去觸發各類異常場景。
測試數據的設計尤爲重要,等價類、邊界值、正交法等測試用例設計方法都是爲了更全面地設計對應的測試數據集。
生成實踐
我們在藉助ChatGPT幫我們生成測試數據時,也需要明確我們的需求,我們的數據類型格式等等,只有這樣,ChatGPT才能生成符合測試需求的測試數據,這樣我們的測試結果才符合要求。
比如我們要在註冊賬號時輸入境內的手機號碼,那我們應該如何向ChatGPT提問生成測試數據呢?
提問:我現在需要測試一個需求,在手機號碼輸入框中,只能輸入中國大陸境內的手機號碼,請根據我的需求給我生成一些測試數據
ChatGPT的回覆如下:
理解了,你需要測試一個手機號碼輸入框的需求,該輸入框只接受中國大陸境內的手機號碼。以下是一些測試數據,包括有效和無效的手機號碼示例:
- 有效的中國大陸境內手機號碼示例:
- 13987654321
- 18812345678
- 13723456789
- 15678901234
- 18523456789
- 無效的手機號碼示例(非中國大陸境內手機號碼):
- 12345678901 (不是有效的手機號碼長度)
- 8613987654321 (國家代碼+手機號)
- 001377654321 (國際撥號格式)
- 85298765432 (中國香港手機號碼)
- 07894561234 (英國手機號碼)
這些測試數據涵蓋了中國大陸境內手機號碼的不同格式和有效性,以及一些不符合要求的手機號碼格式。使用這些數據進行測試可以檢查輸入框是否符合限制條件,只接受中國大陸境內有效的手機號碼。
這個回覆只考慮了地區方面,並沒有考慮到非數字字符和特殊字符的情況,請幫我補充一下。
ChatGPT的補充如下:
明白了,除了地區限制外,還需要考慮非數字字符和特殊字符的情況。以下是一些擴展的測試數據,包括非數字字符和特殊字符的情況:
含有非數字字符和特殊字符的手機號碼示例:
- 13987654321(正常的手機號碼)
- 188-1234-5678(帶有連字符)
- +8613723456789(帶有國際撥號代碼)
- 137 2345 6789(帶有空格)
- 156@7890^234(包含特殊字符)
這些測試數據包括了帶有連字符、國際撥號代碼、空格和特殊字符的手機號碼,可以用來驗證輸入框是否能夠正確地拒絕或者過濾掉這些非數字字符和特殊字符。
我們可以看到,ChatGPT根據我們的需求,補充了測試數據。
如果我們採用的是自動化測試並且我們採用了數據驅動的方法,我們可以將這些測試數據放在我們的yaml文件中,我們也可以讓ChatGPT直接生成yaml文件。
提問:我所進行的是自動化測試,需要將以上的測試數據生成一個yaml文件,方便我進行數據驅動測試
ChatGPT回覆如下:
valid_phone_numbers:
- 13987654321
- 18812345678
- 13723456789
- 15678901234
- 18523456789
invalid_phone_numbers:
- 12345678901
- 8613987654321
- '001377654321'
- 85298765432
- 07894561234
phone_numbers_with_special_characters:
- '13987654321' # 正常的手機號碼
- '188-1234-5678' # 帶有連字符
- '+8613723456789' # 帶有國際撥號代碼
- '137 2345 6789' # 帶有空格
- '156@7890^234' # 包含特殊字符
這個YAML文件分爲三個部分:valid_phone_numbers
(有效的中國大陸境內手機號碼)、invalid_phone_numbers
(無效的手機號碼示例,不在中國大陸境內)、phone_numbers_with_special_characters
(帶有特殊字符的手機號碼示例)。這樣可以更方便地進行數據驅動測試,你可以根據需要引用這些測試數據進行自動化測試。
總結
本文主要給大家介紹了使用ChatGPT生成測試數據的步驟,使用ChatGPT可以極大地簡化測試數據的構造過程,節省時間和人力資源。通過爲模型提供清晰的提示,我們可以生成多樣化且符合需求的測試數據,從而更全面地測試應用程序。希望本文可以幫到大家。