团队作业5——测试与发布(Alpha版本)
团队作业5——测试与发布(Alpha版本)
| 这个作业属于哪个课程 | 班级链接 |
|---|---|
| 这个作业要求在哪里 | 作业要求 |
| 这个作业的目标 | 根据团队项目中软件的需求文档、功能说明、系统设计和测试计划,写出Alpha版本测试报告和发布说明 |
队名与队员:
MCoder,Manage Code & Organize Development EffoRt
王宥程-3123004714
关健佳-3121004072
高泽彤-3123004304
黎火坤-3123004310
翁广驰-3123004409
王怡欧-3223004344
一、本地知识库问答系统 - Alpha 版本测试报告
1.测试过程
阶段一:单元测试与模块验证
· 目标:确保各底层服务模块功能正确
· 方法:为每个核心服务类编写独立的pytest测试用例
· 执行频率:每日构建时自动运行
阶段二:API集成测试
· 目标:验证各API接口功能及模块间交互
· 方法:使用httpx模拟客户端请求,验证请求/响应格式
· 测试环境:本地开发环境 + 测试专用SQLite数据库
阶段三:端到端功能测试
· 目标:模拟真实用户使用场景
· 方法:基于测试用例手册,人工执行完整业务流程
· 测试数据:3份政策PDF(共85页),50个预设问题
2.测试结果
在测试过程中总共发现了多少Bug?每个类别的Bug分别为多少个?
在 Alpha 版本测试周期内,共发现 23个 Bug。分类统计如下:
| 类别 | 数量 | 占比 | 说明 |
|---|---|---|---|
| 1. 修复的Bug | 18 | 78.3% | 包括前端样式错乱、PDF分块重叠 |
| 2. 不能重现的Bug | 1 | 4.3% | 1个偶发的Milvus连接超时 |
| 3. 产品设计如此,不是Bug | 2 | 8.7% | 例如:当检索不到相关内容时,系统返回“未找到相关信息”,此为设计逻辑,非Bug |
| 4. 没有能力修复,将来也不修复 | 0 | 0% | 无 |
| 5. 这个bug的确应该修复,但是没有时间在这个版本修复,延迟到下一个版本修复 | 2 | 8.7% | Bug #21:在极端长PDF(>100页)解析时,内存占用过高,优化需时间。 Bug #22:多模态模型(图片问答)在低配置GPU机器上响应极慢,需优化模型选择策略 |
Bug 分布(按模块):
前端界面与交互:7个
知识库管理(PDF解析、向量入库):9个
问答核心引擎(检索、生成):5个
系统配置与部署:2个
3. 场景测试(Scenario Testing)
3.1 你预期不同的用户会怎样使用你的软件?
- 政策解读人员:
· 使用方式:上传新的政策PDF文件,在问答界面输入自然语言问题(如“第三章的适用范围是什么?”)。
· 目标:快速获得基于政策原文的准确解释,节省逐条查找时间。 - 企业法务/运营人员:
· 使用方式:建立企业内部的制度知识库,在日常工作中针对具体员工咨询进行查询(如“年假申请流程”),并利用会话历史功能追溯咨询记录。
· 目标:确保回答的合规性与一致性,并积累可复用的问答知识。 - 普通用户/自学者:
· 使用方式:上传个人学习笔记或电子书,像与一位“私人导师”对话一样,针对材料内容进行提问和复习。
· 目标:深化对学习材料的理解,进行智能化的复习。
3.2 他们有什么需求和目标?
· 共同需求:
· 准确性:答案必须严格基于上传的文档内容,不能随意编造。
· 易用性:操作简单,无需复杂配置即可使用。
· 响应速度:问答等待时间不应过长。
· 隐私安全:所有资料和处理过程均在本地,不泄露。
· 差异化目标:
· 政策/法务用户更强调答案的可追溯性(需要明确引用来源)。
· 企业用户更注重系统的稳定性和可管理性(用户权限、知识库版本)。
· 个人用户更看重交互的自然流畅和低成本(轻量部署)。
3.3 你的软件提供的功能怎么组合起来满足他们的需要?
以 “政策解读人员” 处理一份新政策为例:
- 知识库管理:通过“知识库”页面上传政策PDF。系统后台自动完成PDF解析 -> 文本分块 -> 向量化 -> 存入Milvus。
- 智能问答:用户在“问答”页面提问。系统组合以下功能:
· EmbeddingService 将问题转化为向量。
· VectorStore 在 Milvus 中检索出最相关的5个文本块。
· QAService 从 SettingsService 获取优化后的Prompt模板,将检索结果和问题组合,调用 LLM。
· MemoryService 将本轮问答存入会话历史。 - 结果交付:
· 答案通过流式输出逐字显示,提升体验。
· 答案下方展示检索到的原文片段,满足可追溯需求。
· 整个过程数据均在本地数据库和向量库中,满足隐私安全需求。
4. 测试矩阵
我们在以下环境中进行了全面测试:
| 测试维度 | 具体配置/条件 |
|---|---|
| 操作系统 | Windows 11, Ubuntu 22.04 LTS |
| Python环境 | Python 3.10, 3.11 |
| 前端框架 | Streamlit 1.31.0 |
| 后端服务 | FastAPI (unicorn), Milvus 2.4.0 (Docker部署) |
| 浏览器 | Chrome 120+, Firefox 115+, Edge 110+ |
| 硬件配置 | 标准测试机:CPU 4核,内存 16GB,无独立GPU。低配测试机:CPU 2核,内存 8GB,模拟用户较差环境。 |
| 网络条件 | 局域网(模拟完全离线环境),以及有外网访问权限的环境(用于测试云端LLM回退模式) |
| 测试类型 | 单元测试、API集成测试、端到端功能测试、性能测试、降级测试 |
5. 出口条件
我们认为,满足以下所有条件时,软件即可发布 Alpha 版本:
- 功能完整性:
· P0、P1、P2 所有核心功能(知识库CRUD、文本问答-流式/非流式、PDF解析导入、Prompt设置、基础前端)开发完成并通过测试。
· 核心RAG链路(上传->检索->生成)端到端流程通畅。 - 质量指标:
· 正确性:对标准测试问题集的回答准确率 > 85%(基于人工评估)。
· 稳定性:系统可连续稳定运行8小时,核心API无崩溃。
· 性能达标:
· 非流式问答平均响应时间 < 4秒(在标准测试机)。
· 流式问答首字节时间 < 1.5秒。
· Top-K 向量检索平均耗时 < 800毫秒。
· 关键Bug清零:所有 P0/P1 级别的Bug(导致核心功能不可用)必须修复。 - 可交付性:
· 提供一键启动的部署方案(docker-compose up)。
· 完成基础用户文档(README.md, 安装指南)。
· 内部演示可用,能清晰展示产品核心价值。
二、本地知识库问答系统 - Alpha 版本发布说明
一、 版本功能
Alpha v0.1.0 是本地知识库问答系统的第一个可公开测试版本,实现了以下核心功能:
- 知识库管理:
· 支持上传 PDF 格式文档,自动进行文本解析、智能分块与向量化存储。
· 提供知识库条目的查看、删除等基础管理功能。 - 智能问答:
· 文本问答:支持自然语言提问,系统基于本地知识库检索并生成答案。
· 流式问答:提供更流畅的交互体验,答案逐字实时输出。
· 答案溯源:在回答中展示引用到的原文片段,确保答案可追溯。 - 系统配置:
· 支持动态修改系统提示词(Prompt),以优化模型生成效果。 - 本地化与隐私:
· 所有数据处理均在用户本地完成,支持完全离线环境运行(需提前下载嵌入模型)。
· 默认使用轻量级本地嵌入模型(all-MiniLM-L6-v2),保障隐私与速度。
二、 运行环境要求
· 操作系统:Windows 10/11, macOS 10.15+, 或 Linux (Ubuntu 20.04+ 推荐)
· Docker & Docker Compose:必须安装,用于运行 Milvus 向量数据库。
· 内存:建议 ≥ 8 GB RAM。
· 磁盘空间:建议 ≥ 2 GB 可用空间。
· 网络:首次运行需要下载 Docker 镜像和语言模型;之后可完全离线使用。
三、 安装方法
- 克隆仓库:
git clone <https://github.com/yosennn/KnowHub> cd local-knowledge-qa - 使用 Docker Compose 一键启动:
此命令将自动启动:Milvus 向量数据库、FastAPI 后端服务、Streamlit 前端界面。docker-compose up -d - 访问系统:
· 在浏览器中打开 http://localhost:8501,即可开始使用。
四、 已知问题与限制
- 性能限制:
· 处理超过100页的超大PDF文件时,解析和向量化过程可能较慢,且内存占用较高。
· 在CPU环境下进行流式问答,生成速度可受限于本地大模型的性能。 - 功能限制:
· 目前仅支持 PDF 格式文件。Word、Excel、PPT等格式将在后续版本支持。
· 图片问答功能、多轮会话历史管理功能已开发,但在此Alpha版本中默认关闭,需手动配置启用。
· 暂无用户权限管理功能,所有上传文档对所有使用者可见。 - 浏览器兼容性:
· 在 Safari 浏览器的某些版本上,流式输出显示可能不连贯。推荐使用 Chrome 或 Edge 浏览器。
五、 发布方式与地址
· 发布方式:本版本以源代码及 Docker Compose 编排文件 形式发布。
· GitHub 仓库地址:https://github.com/yosennn/KnowHub
浙公网安备 33010602011771号