职贝云数AI新零售门户

标题: DeepSeek根据需求文档生成测试用例 [打印本页]

作者: BLpt8N    时间: 昨天 17:29
标题: DeepSeek根据需求文档生成测试用例
来源:CSDN
  本文将引见如何从 DOCX 文档中提取标题为“需求内容”的部分,并将其作为 DeepSeek 模型的输入,生成详细且格式化的测试用例。我们将运用 Python 编写相关脚本,并展现最终的测试用例输入格式。

目的

  1. 从 DOCX 文件中读取标题为“需求内容”的部分。

  2. 将提取的内容用作 DeepSeek 模型的输入生成详细的测试用例。

  3. 将测试用例写入 Excel 文件,包含用例标题、步骤和预期结果等信息。

 步骤 1:安装所需库

  确保安装以下库:

  pip install requests python-docx pandas openpyxl

 步骤 2:读取 DOCX 文件并提取需求内容

  编写一个函数,从 DOCX 文件中提取标题为“需求内容”的部分:
from docx import Documentdef 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 pddef 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 requestsfrom docx import Documentimport 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_casesdef 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 文件中。假如您有其他成绩或需求进一步的协助,请告诉我!

END

山东版代检测技术有限公司

我公司专业从事CMA软件测试,拥有阅历丰富、技术娴熟的团队,可以提供全方位的软件测试服务,全国范围皆可出具第三方软件测试报告。

联络方式

长按添加微信了解更多业务信息




欢迎光临 职贝云数AI新零售门户 (https://www.taojin168.com/cloud/) Powered by Discuz! X3.5