当前位置:   article > 正文

教你如何根据需求编写测试用例,不用写一行代码,使用ChatGPT4自动完成。_如何给gpt一段文字输出测试用例

如何给gpt一段文字输出测试用例

首先来张效果图,需求我是放到requirements.txt文档里,输出的测试用例是放到test_case1.txt,整个代码我是让ChatGPT4自动给我写的。
在这里插入图片描述
我用的prompt提示语是:
我的想法是这样,通过Python代码,和API keys来实现,读取产品需求说明书文档,自动产生测试用例文档。能否实现,请给我具体的Python实现代码。
(这里我需要说明会出现二个问题,一个是国内访问openai会有限制,所以肯定需要加上vpn代理;第二个问题是给的测试用例格式不好,我们可以直接给他一个格式,让它从新写。)
在这里插入图片描述
解决问题一:关于vpn的问题,我这里选择了第二种处理方式

import os

os.environ["HTTPS_PROXY"] = "http://127.0.0.1:1080"

  • 1
  • 2
  • 3
  • 4

下面是截图
在这里插入图片描述
问题二:关于测试用例格式,我是这么提示的
你刚刚生成的代码是可以成功运行的,非常感谢。
我现在希望你修改代码,让它安装我要求的格式来输出测试用例,格式如下

P2
测试目标:验证系统账户不受有效期限制
测试步骤:

使用管理员账户登录,尝试设置系统账户的有效期。
记录系统账户的登录时间,让系统账户超过设定的有效期不登录。
在超过有效期后,尝试使用系统账户登录,观察是否能正常登录。
预期结果:

步骤1中,系统提示无法设置系统账户的有效期,验证通过。
步骤2中,系统账户成功登录。
步骤3中,在超过设定的有效期后,系统账户仍然能正常登录,验证通过。
P3
测试目标:验证账户有效期设置范围
测试步骤:

使用管理员账户登录,尝试设置非系统账户的有效期为小于10天和大于720天的值。
观察系统是否提示有效期设置超出范围。
预期结果:

步骤1中,管理员账户尝试设置非系统账户的有效期。
步骤2中,系统提示有效期设置超出范围,验证通过。

请重新修改刚刚的代码
在这里插入图片描述
上面代码好像还没有改,我又加了以下提示:
你需要把我发给你的格式,直接以接口的形式告诉他,将这个列子原封不动的告诉他
在这里插入图片描述
至此才算搞定!完整代码贴出来。

import openai
import requests
import os

# 设置环境变量
os.environ["HTTPS_PROXY"] = "http://127.0.0.1:1080"

# 用您的API密钥替换这里的YOUR_API_KEY
openai.api_key = "YOUR_API_KEY"

# 读取产品需求说明书文档
with open("product_requirements.txt", "r", encoding="utf-8") as f:
    product_requirements = f.read()

# 定义一个函数,将需求文档传递给ChatGPT并生成回答
def get_test_cases(requirement):
    example_format = (
        "P2\n"
        "测试目标:验证系统账户不受有效期限制\n"
        "测试步骤:\n"
        "1. 使用管理员账户登录,尝试设置系统账户的有效期。\n"
        "2. 记录系统账户的登录时间,让系统账户超过设定的有效期不登录。\n"
        "3. 在超过有效期后,尝试使用系统账户登录,观察是否能正常登录。\n"
        "预期结果:\n"
        "1. 步骤1中,系统提示无法设置系统账户的有效期,验证通过。\n"
        "2. 步骤2中,系统账户成功登录。\n"
        "3. 步骤3中,在超过设定的有效期后,系统账户仍然能正常登录,验证通过。\n"
    )
    response = openai.Completion.create(
        engine="text-davinci-002",
        prompt=f"根据以下示例格式生成测试用例:\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")

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/500245
推荐阅读
  

闽ICP备14008679号