前言
测试工程师在日常工作中会产生大量的测试资产,如需求文档、测试用例、测试报告、原型图、测试人员表等。这些文档分散在各个地方,需要高效地录入到本地知识库,供团队使用或供 AI 模型(如 DeepSeek-r1:1.5b)参考。手动整理这些文档既费时费力,又容易出错。
那么,如何通过一个工具实现对这些测试资产的智能分类和管理,并结合本地部署的 DeepSeek 自动识别内容,完成精准分类? 本文将教你一步步实现这款工具,让测试工程师尽享技术带来的效率和乐趣。
目标
实现一个强大的 GUI 工具,功能包括:
- 支持多类型测试资产:需求文档、测试用例、测试报告、原型图、测试人员表等。
- 智能分类:结合 DeepSeek 接口,基于文档内容进行精准分类。
- 自动化录入:支持单文件或批量文件的自动处理,并保存到本地知识库。
- 可视化操作:提供易用的 GUI 界面,操作简单,支持自定义文档类型。
- 通用性强:通过动态规则和分类配置,适配不同项目和场景。
知识库层级结构设计
为了让知识库更清晰易用,建议采用以下层级结构,按 测试资产类型 和 项目模块 进行划分:
知识库/
├── 需求文档/
│ ├── 登录模块/
│ │ ├── 需求文档1.txt
│ │ ├── 需求文档2.txt
│ │ └── ...
│ ├── 订单模块/
│ └── ...
├── 测试用例/
│ ├── 登录模块/
│ ├── 订单模块/
│ └── ...
├── 测试报告/
│ ├── 登录模块/
│ ├── 订单模块/
│ └── ...
├── 原型图/
│ ├── 登录模块/
│ ├── 订单模块/
│ └── ...
├── 测试人员表/
│ └── 登录模块/
└── 未分类/
- 第一层:按测试资产类型划分(需求文档、测试用例、测试报告等)。
- 第二层:按项目模块划分(登录模块、订单模块等)。
- 未分类:无法匹配分类规则的文档存入该目录。
实现方案
1. 文档内容提取
支持的文件类型
- 文本文件:
.txt
- Word 文件:
.docx
- PDF 文件:
.pdf
- 表格文件:
.xlsx
(用于测试人员表等)
Python 实现文档内容提取
from PyPDF2 import PdfReader
from docx import Document
import pandas as pd
def extract_text(file_path):
"""
根据文件类型提取内容
:param file_path: 文件路径
:return: 文本内容
"""
ext = file_path.split('.')[-1].lower()
if ext == "txt":
with open(file_path, "r", encoding="utf-8") as f:
return f.read()
elif ext == "docx":
return "\n".join