团队作业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 你预期不同的用户会怎样使用你的软件?

  1. 政策解读人员:
    · 使用方式:上传新的政策PDF文件,在问答界面输入自然语言问题(如“第三章的适用范围是什么?”)。
    · 目标:快速获得基于政策原文的准确解释,节省逐条查找时间。
  2. 企业法务/运营人员:
    · 使用方式:建立企业内部的制度知识库,在日常工作中针对具体员工咨询进行查询(如“年假申请流程”),并利用会话历史功能追溯咨询记录。
    · 目标:确保回答的合规性与一致性,并积累可复用的问答知识。
  3. 普通用户/自学者:
    · 使用方式:上传个人学习笔记或电子书,像与一位“私人导师”对话一样,针对材料内容进行提问和复习。
    · 目标:深化对学习材料的理解,进行智能化的复习。

3.2 他们有什么需求和目标?

· 共同需求:
· 准确性:答案必须严格基于上传的文档内容,不能随意编造。
· 易用性:操作简单,无需复杂配置即可使用。
· 响应速度:问答等待时间不应过长。
· 隐私安全:所有资料和处理过程均在本地,不泄露。
· 差异化目标:
· 政策/法务用户更强调答案的可追溯性(需要明确引用来源)。
· 企业用户更注重系统的稳定性和可管理性(用户权限、知识库版本)。
· 个人用户更看重交互的自然流畅和低成本(轻量部署)。

3.3 你的软件提供的功能怎么组合起来满足他们的需要?
以 “政策解读人员” 处理一份新政策为例:

  1. 知识库管理:通过“知识库”页面上传政策PDF。系统后台自动完成PDF解析 -> 文本分块 -> 向量化 -> 存入Milvus。
  2. 智能问答:用户在“问答”页面提问。系统组合以下功能:
    · EmbeddingService 将问题转化为向量。
    · VectorStore 在 Milvus 中检索出最相关的5个文本块。
    · QAService 从 SettingsService 获取优化后的Prompt模板,将检索结果和问题组合,调用 LLM。
    · MemoryService 将本轮问答存入会话历史。
  3. 结果交付:
    · 答案通过流式输出逐字显示,提升体验。
    · 答案下方展示检索到的原文片段,满足可追溯需求。
    · 整个过程数据均在本地数据库和向量库中,满足隐私安全需求。

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 版本:

  1. 功能完整性:
    · P0、P1、P2 所有核心功能(知识库CRUD、文本问答-流式/非流式、PDF解析导入、Prompt设置、基础前端)开发完成并通过测试。
    · 核心RAG链路(上传->检索->生成)端到端流程通畅。
  2. 质量指标:
    · 正确性:对标准测试问题集的回答准确率 > 85%(基于人工评估)。
    · 稳定性:系统可连续稳定运行8小时,核心API无崩溃。
    · 性能达标:
    · 非流式问答平均响应时间 < 4秒(在标准测试机)。
    · 流式问答首字节时间 < 1.5秒。
    · Top-K 向量检索平均耗时 < 800毫秒。
    · 关键Bug清零:所有 P0/P1 级别的Bug(导致核心功能不可用)必须修复。
  3. 可交付性:
    · 提供一键启动的部署方案(docker-compose up)。
    · 完成基础用户文档(README.md, 安装指南)。
    · 内部演示可用,能清晰展示产品核心价值。

二、本地知识库问答系统 - Alpha 版本发布说明

一、 版本功能

Alpha v0.1.0 是本地知识库问答系统的第一个可公开测试版本,实现了以下核心功能:

  1. 知识库管理:
    · 支持上传 PDF 格式文档,自动进行文本解析、智能分块与向量化存储。
    · 提供知识库条目的查看、删除等基础管理功能。
  2. 智能问答:
    · 文本问答:支持自然语言提问,系统基于本地知识库检索并生成答案。
    · 流式问答:提供更流畅的交互体验,答案逐字实时输出。
    · 答案溯源:在回答中展示引用到的原文片段,确保答案可追溯。
  3. 系统配置:
    · 支持动态修改系统提示词(Prompt),以优化模型生成效果。
  4. 本地化与隐私:
    · 所有数据处理均在用户本地完成,支持完全离线环境运行(需提前下载嵌入模型)。
    · 默认使用轻量级本地嵌入模型(all-MiniLM-L6-v2),保障隐私与速度。

二、 运行环境要求

· 操作系统:Windows 10/11, macOS 10.15+, 或 Linux (Ubuntu 20.04+ 推荐)
· Docker & Docker Compose:必须安装,用于运行 Milvus 向量数据库。
· 内存:建议 ≥ 8 GB RAM。
· 磁盘空间:建议 ≥ 2 GB 可用空间。
· 网络:首次运行需要下载 Docker 镜像和语言模型;之后可完全离线使用。

三、 安装方法

  1. 克隆仓库:
    git clone <https://github.com/yosennn/KnowHub>
    cd local-knowledge-qa
    
  2. 使用 Docker Compose 一键启动:
    docker-compose up -d
    
    此命令将自动启动:Milvus 向量数据库、FastAPI 后端服务、Streamlit 前端界面。
  3. 访问系统:
    · 在浏览器中打开 http://localhost:8501,即可开始使用。

四、 已知问题与限制

  1. 性能限制:
    · 处理超过100页的超大PDF文件时,解析和向量化过程可能较慢,且内存占用较高。
    · 在CPU环境下进行流式问答,生成速度可受限于本地大模型的性能。
  2. 功能限制:
    · 目前仅支持 PDF 格式文件。Word、Excel、PPT等格式将在后续版本支持。
    · 图片问答功能、多轮会话历史管理功能已开发,但在此Alpha版本中默认关闭,需手动配置启用。
    · 暂无用户权限管理功能,所有上传文档对所有使用者可见。
  3. 浏览器兼容性:
    · 在 Safari 浏览器的某些版本上,流式输出显示可能不连贯。推荐使用 Chrome 或 Edge 浏览器。

五、 发布方式与地址

· 发布方式:本版本以源代码及 Docker Compose 编排文件 形式发布。
· GitHub 仓库地址:https://github.com/yosennn/KnowHub

posted @ 2025-12-15 19:28  Keygener53  阅读(8)  评论(0)    收藏  举报