首先來張效果圖,需求我是放到requirements.txt文檔里,輸出的測試用例是放到test_case1.txt,整個代碼我是讓ChatGPT4自動給我寫的。
我用的prompt提示語是:
我的想法是這樣,通過Python代碼,和API keys來實現(xiàn),讀取產(chǎn)品需求說明書文檔,自動產(chǎn)生測試用例文檔。能否實現(xiàn),請給我具體的Python實現(xiàn)代碼。
(這里我需要說明會出現(xiàn)二個問題,一個是國內(nèi)訪問openai會有限制,所以肯定需要加上vpn代理;第二個問題是給的測試用例格式不好,我們可以直接給他一個格式,讓它從新寫。)
解決問題一:關(guān)于vpn的問題,我這里選擇了第二種處理方式
import os
os.environ["HTTPS_PROXY"] = "http://127.0.0.1:1080"
下面是截圖
問題二:關(guān)于測試用例格式,我是這么提示的
你剛剛生成的代碼是可以成功運行的,非常感謝。
我現(xiàn)在希望你修改代碼,讓它安裝我要求的格式來輸出測試用例,格式如下
P2
測試目標(biāo):驗證系統(tǒng)賬戶不受有效期限制
測試步驟:
使用管理員賬戶登錄,嘗試設(shè)置系統(tǒng)賬戶的有效期。
記錄系統(tǒng)賬戶的登錄時間,讓系統(tǒng)賬戶超過設(shè)定的有效期不登錄。
在超過有效期后,嘗試使用系統(tǒng)賬戶登錄,觀察是否能正常登錄。
預(yù)期結(jié)果:
步驟1中,系統(tǒng)提示無法設(shè)置系統(tǒng)賬戶的有效期,驗證通過。
步驟2中,系統(tǒng)賬戶成功登錄。
步驟3中,在超過設(shè)定的有效期后,系統(tǒng)賬戶仍然能正常登錄,驗證通過。
P3
測試目標(biāo):驗證賬戶有效期設(shè)置范圍
測試步驟:
使用管理員賬戶登錄,嘗試設(shè)置非系統(tǒng)賬戶的有效期為小于10天和大于720天的值。
觀察系統(tǒng)是否提示有效期設(shè)置超出范圍。
預(yù)期結(jié)果:
步驟1中,管理員賬戶嘗試設(shè)置非系統(tǒng)賬戶的有效期。
步驟2中,系統(tǒng)提示有效期設(shè)置超出范圍,驗證通過。文章來源:http://www.zghlxwxcb.cn/news/detail-476454.html
請重新修改剛剛的代碼
上面代碼好像還沒有改,我又加了以下提示:
你需要把我發(fā)給你的格式,直接以接口的形式告訴他,將這個列子原封不動的告訴他
至此才算搞定!完整代碼貼出來。文章來源地址http://www.zghlxwxcb.cn/news/detail-476454.html
import openai
import requests
import os
# 設(shè)置環(huán)境變量
os.environ["HTTPS_PROXY"] = "http://127.0.0.1:1080"
# 用您的API密鑰替換這里的YOUR_API_KEY
openai.api_key = "YOUR_API_KEY"
# 讀取產(chǎn)品需求說明書文檔
with open("product_requirements.txt", "r", encoding="utf-8") as f:
product_requirements = f.read()
# 定義一個函數(shù),將需求文檔傳遞給ChatGPT并生成回答
def get_test_cases(requirement):
example_format = (
"P2\n"
"測試目標(biāo):驗證系統(tǒng)賬戶不受有效期限制\n"
"測試步驟:\n"
"1. 使用管理員賬戶登錄,嘗試設(shè)置系統(tǒng)賬戶的有效期。\n"
"2. 記錄系統(tǒng)賬戶的登錄時間,讓系統(tǒng)賬戶超過設(shè)定的有效期不登錄。\n"
"3. 在超過有效期后,嘗試使用系統(tǒng)賬戶登錄,觀察是否能正常登錄。\n"
"預(yù)期結(jié)果:\n"
"1. 步驟1中,系統(tǒng)提示無法設(shè)置系統(tǒng)賬戶的有效期,驗證通過。\n"
"2. 步驟2中,系統(tǒng)賬戶成功登錄。\n"
"3. 步驟3中,在超過設(shè)定的有效期后,系統(tǒng)賬戶仍然能正常登錄,驗證通過。\n"
)
response = openai.Completion.create(
engine="text-davinci-002",
prompt=f"根據(jù)以下示例格式生成測試用例:\n{example_format}\n\n請為以下功能編寫測試用例:\n{requirement}\n",
max_tokens=150,
n=1,
stop=None,
temperature=0.5,
)
return response.choices[0].text.strip()
# 將需求文檔分成段落或條目
requirements_list = product_requirements.split("\n")
# 為每個需求生成測試用例
test_cases = []
for index, requirement in enumerate(requirements_list):
if requirement:
test_case = get_test_cases(requirement)
formatted_test_case = f"P{index + 1}\n{test_case}\n"
test_cases.append(formatted_test_case)
# 將生成的測試用例寫入文件
with open("test_cases.txt", "w", encoding="utf-8") as f:
for test_case in test_cases:
f.write(test_case + "\n")
到了這里,關(guān)于教你如何根據(jù)需求編寫測試用例,不用寫一行代碼,使用ChatGPT4自動完成。的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!