
DeepSeek根据需求文档生成测试用例
本文将介绍如何从 DOCX 文档中提取标题为“需求内容”的部分,并将其作为 DeepSeek 模型的输入,生成详细且格式化的测试用例。我们将使用 Python 编写相关脚本,并展示最终的测试用例输出格式。
📝 面试求职: 「面试试题小程序」 ,内容涵盖 测试基础、Linux操作系统、MySQL数据库、Web功能测试、接口测试、APPium移动端测试、Python知识、Selenium自动化测试相关、性能测试、性能测试、计算机网络知识、Jmeter、HR面试,命中率杠杠的。(大家刷起来…)
📝 职场经验干货:
本文将介绍如何从 DOCX 文档中提取标题为“需求内容”的部分,并将其作为 DeepSeek 模型的输入,生成详细且格式化的测试用例。我们将使用 Python 编写相关脚本,并展示最终的测试用例输出格式。
目标
1. 从 DOCX 文件中读取标题为“需求内容”的部分。
2. 将提取的内容用作 DeepSeek 模型的输入生成详细的测试用例。
3. 将测试用例写入 Excel 文件,包含用例标题、步骤和预期结果等信息。
步骤 1:安装所需库
确保安装以下库:
pip install requests python-docx pandas openpyxl
步骤 2:读取 DOCX 文件并提取需求内容
编写一个函数,从 DOCX 文件中提取标题为“需求内容”的部分:
from docx import Document
def read_requirements_section(file_path, section_title="需求内容"):
doc = Document(file_path)
content = []
capture = False
for para in doc.paragraphs:
if para.style.name == 'Heading 1' and para.text == section_title:
capture = True
continue
if capture:
if para.style.name.startswith('Heading'):
break
content.append(para.text)
return '\n'.join(content)
步骤 3:调用 DeepSeek 模型
定义调用 DeepSeek 模型的函数:
import requests
DEESEEK_API_URL = "http://localhost:11434/api/generate"
def call_deepseek(input_text):
data = {"input": input_text}
response = requests.post(DEESEEK_API_URL, json=data)
if response.status_code == 200:
return response.json()
else:
raise Exception(f"Error: {response.status_code} - {response.text}")
步骤 4:生成测试用例并格式化
编写一个函数,将 DeepSeek 返回的测试用例格式化为详细的结构,包括用例标题、步骤和预期结果:
def format_test_cases(raw_cases):
formatted_cases = []
for idx, case in enumerate(raw_cases):
title = f"用例 {idx + 1}: {case['title']}"
steps = "\n".join([f"步骤 {i + 1}: {step}" for i, step in enumerate(case['steps'])])
expected_result = f"预期结果: {case['expected_result']}"
formatted_cases.append({
"标题": title,
"步骤": steps,
"预期结果": expected_result
})
return formatted_cases
步骤 5:写入 Excel 文件
使用 pandas 将生成的测试用例写入 Excel 文件,包含表头:
import pandas as pd
def write_to_excel(test_cases, filename="test_cases.xlsx"):
df = pd.DataFrame(test_cases)
df.to_excel(filename, index=False)
print(f"测试用例已保存到 {filename}")
步骤 6:整合代码
将所有功能整合到一个完整的脚本中:
import requests
from docx import Document
import pandas as pd
DEESEEK_API_URL = "http://localhost:11434/api/generate"
def read_requirements_section(file_path, section_title="需求内容"):
doc = Document(file_path)
content = []
capture = False
for para in doc.paragraphs:
if para.style.name == 'Heading 1' and para.text == section_title:
capture = True
continue
if capture:
if para.style.name.startswith('Heading'):
break
content.append(para.text)
return '\n'.join(content)
def call_deepseek(input_text):
data = {"input": input_text}
response = requests.post(DEESEEK_API_URL, json=data)
if response.status_code == 200:
return response.json()
else:
raise Exception(f"Error: {response.status_code} - {response.text}")
def format_test_cases(raw_cases):
formatted_cases = []
for idx, case in enumerate(raw_cases):
title = f"用例 {idx + 1}: {case['title']}"
steps = "\n".join([f"步骤 {i + 1}: {step}" for i, step in enumerate(case['steps'])])
expected_result = f"预期结果: {case['expected_result']}"
formatted_cases.append({
"标题": title,
"步骤": steps,
"预期结果": expected_result
})
return formatted_cases
def write_to_excel(test_cases, filename="test_cases.xlsx"):
df = pd.DataFrame(test_cases)
df.to_excel(filename, index=False)
print(f"测试用例已保存到 {filename}")
def generate_test_cases_from_docx(file_path):
requirements = read_requirements_section(file_path)
if not requirements.strip():
return "需求文档中未找到相关内容"
response = call_deepseek(requirements)
raw_cases = response.get('response', [])
return format_test_cases(raw_cases)
# 示例 DOCX 文件路径
docx_file_path = 'path/to/your/requirements.docx'
# 生成测试用例
test_cases = generate_test_cases_from_docx(docx_file_path)
# 将测试用例写入 Excel 文件
write_to_excel(test_cases)
示例 DOCX 文档内容
假设您的 DOCX 文档包含以下内容:
# 需求文档
## 需求内容
1. 用户能够注册新账号,输入有效的电子邮件地址和密码。
2. 用户能够登录现有账号,系统应检查用户名和密码是否匹配。
3. 用户可以重置密码,需提供注册时的电子邮件地址。
4. 用户可以查看和编辑个人资料,包括姓名和联系方式。
## 其他信息
- 本系统应支持多语言。
假设的 DeepSeek 测试用例输出
假设 DeepSeek 返回的测试用例如下:
[
{
"title": "用户注册功能测试
",
"steps": [
"打开注册页面。",
"输入有效的电子邮件地址。",
"输入有效的密码。",
"点击注册按钮。",
"检查是否收到确认邮件。"
],
"expected_result": "用户成功注册,并收到确认邮件。"
},
{
"title": "用户登录功能测试",
"steps": [
"打开登录页面。",
"输入注册的电子邮件地址。",
"输入正确的密码。",
"点击登录按钮。",
"检查是否成功登录并跳转到主页。"
],
"expected_result": "用户成功登录并看到主页。"
}
]
说明
1. 读取指定部分:read_requirements_section 函数查找标题为“需求内容”的段落,并提取其后的内容,直到下一个标题。
2. 调用模型:提取的内容将被发送到 DeepSeek 模型进行处理。
3. 格式化测试用例:format_test_cases 函数将生成的测试用例整理为包含标题、步骤和预期结果的格式。
4. 写入 Excel 文件:最终的测试用例将被写入 Excel 文件中,便于后续使用。
通过以上步骤,您可以从 DOCX 文档中提取需求内容,使用 DeepSeek 模型生成详细的测试用例,并将这些用例保存到 Excel 文件中。如果您有其他问题或需要进一步的帮助,请告诉我!
最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】
更多推荐
所有评论(0)