[T.15]团队项目:Beta阶段测试报告

项目 内容
这个作业属于哪个课程 2025年春季软件工程(罗杰、任健)
这个作业的要求在哪里 团队项目:Beta 阶段测试报告
我在这个课程的目标是 通过学习和团队合作,了解敏捷开发流程。提高个人编码素养,掌握软件工程的核心概念和方法。
这个作业在哪个具体方面帮助我实现目标 在Beta阶段开展测试,保证软件可靠稳定地交付给用户,提高软件质量

Part 1 测试中出现的bug

1.1 前端

bug描述 原因 状态 解决方案
为组织分配权限的功能不好找(右键) 不算是个bug,只能说这个功能不容易被发现 已修复 对这个功能增加提示
对pdf进行编辑后进行保存不成功 保存按钮仅仅是将文件上传到服务器而忘记了对文件更改进行保存 已修复 修复前端按钮
AI对话窗口页面进行第一轮对话时两个自己和机器人的对话框在一行上 前端页面设计问题 已修复 修改前端样式

1.2 后端

bug描述 原因 状态 解决方案
文献库中加载文献简介会先报错,之后返回简介内容 服务器端调用AI接口会产生报错,但是一会之后返回正确结果,原因是AI端不太稳定 正在修复 尽量降低每一页文献调用AI接口的并发度,降低压力
报错笔记大小超过1KB时会失败 前传笔记content用的是query参数,然后HTTP中query参数不能太长 已修复 改为使用body参数
在网页url中可以看到笔记和文献的id,并且在服务器中id是连续的,可能会造成爬虫风险 id是连续的,可能有爬虫风险,造成服务器流量压力太大而崩溃 正在修复 在url中隐藏掉id
在组织页面加载文献时会产生服务器错误 接口格式 已修复 修改请求格式

Part 2 测试方法

2.1 单元测试

后端采用FastAPI框架,单元测试结合FastAPI的TestClient实现验证。
Beta阶段的软件功能主要包括:组织协作,如组织文库,组织笔记库,组织权限等相关管理;文献库推荐;pdf编辑(高亮)

  1. 组织协作
    • 组织文献库相关测试
    • 组织笔记库相关测试
    • 组织权限管理相关测试
  2. 文献库
    • 文献库中推荐算法的验证测试
    • 文献库中转存到个人位置的测试
  3. pdf编辑
    • 对于pdf高亮功能的相关测试

对于每个模块涉及多个测试用例,覆盖用户场景、异常场景、边界场景等,共计测试47个接口。囊括此框架下此阶段所有的接口,覆盖率达到92%(部分接口无只能通过前端进行测试,例如pdf编辑)。

2.2 场景测试

预期用户:

用户信息 用户描述
年龄 18岁
性别
职业 大一本科生
用户需求 在学习资料之余,需要随时随地记录自己的学习笔记(重点在于学习)
软件功能 为用户提供笔记功能,同时根据笔记结构和内容,生成知识图谱
预期效果 较好地完成笔记的记录和知识图谱构建,为用户的学习提供便利

大一本科生李明(18岁)的深夜复习困境:

两个笔记软件:

  • OneNote 里是课堂截图,但知识点分散在不同章节
  • 幕布 里列着思维导图,但公式推导过程无法动态展示

当他试图整理"矩阵秩的性质"专题时,发现:同一概念在不同平台的笔记重复率达40%,
手绘的关联图谱无法同步到电子设备,复习时需反复切换APP比对内容,根本无法专心高效地学习!
他觉得现有软件无法自动识别离散笔记中的知识点,笔记的记录关联性较弱,知识图谱的构建不够直观。这种关键能力的缺少导致用户学习割裂感强,学习效率低下。
在准备期中考试时,因无法快速定位"行列式与矩阵秩的关系"相关笔记,导致复习计划中断2小时。

用户信息 用户描述
年龄 23岁
性别
职业 研究生
用户需求 需要快速、便捷地获取文献资料,根据文献的内容需要有批注等额外功能
软件功能 提供文献库便于查找文献,文献支持批注和关联笔记,同时具有追踪文献和笔记的功能
预期效果 缓解文献阅读困难,提高文献检索效率。追踪功能能够帮助用户追踪自己的学习进度,build计划

研究生张薇(23岁)的文献泥潭
在实验室赶论文的张薇,面对着:

  • Zotero 里堆积的387篇未读文献

  • EndNote 中重复下载的12篇同主题论文

  • MarginNote 里200+条零散批注,却找不到3周前某篇JACS文献的关键实验数据标注

她的具体困扰:

  1. 跨平台文献检索时,常被不同数据库的格式差异打断思路
  2. 重要批注淹没在碎片化记录中,写论文时需重新筛查
  3. 无法可视化追踪"光催化反应"课题的文献阅读进度

现有工具有着结构性缺陷:

  1. 批注系统与文献本体分离,形成数据孤岛
  2. 缺乏智能提醒未关联的相似文献
  3. 阅读进度统计仅停留在时间维度,未关联知识密度

在日日夜夜为论文和课题奋斗的张薇,对自己的科研前途感到堪忧,心里呐喊:那篇论文难毁了我的科研梦!

2.3 压力测试

压力测试是指在给定负载下,测试系统的处理能力、稳定性、容错能力、可靠性等指标。

​ 本软件前端需要支持pdf和markdown的渲染,知识图谱的构建生成,在Beta阶段加入了文献库功能,其中各个文献的简介加载采用了lazy loading的方式,当第一次加载该文献时调用AI接口生成文献描述。后端需要支持大规模用户访问和文件上传和下载。

​ Beta阶段的压力测试主要集中于上传/下载大量pdf、大量调用AI接口生成文献简介等部分。

image-20250607205830486

image-20250607210015237

  • 前端上传超大markdown进行渲染,测试前端的渲染性能,前端的稳定性。
  • 前端上传超大pdf进行渲染,测试前端的渲染性能,前端的稳定性。

通过python脚本模拟多个用户同时登录软件,并向服务器上传文件,下载文献。

模拟用户上传文件

图为模拟20个用户同时上传文件,服务器的处理能力和稳定性。

测试矩阵

操作系统 浏览器 版本号 阶段 登录 注册 上传文件 下载文件 查看文献 查看笔记 创建笔记 修改个人信息 修改密码 删除文件 删除笔记
Windows 11 Chrome 118.0.5993.70 Beta
Chrome 117.0.5938.92 Beta
Firefox 119.0 Beta
Firefox 118.0.2 Beta
Edge 118.0.2088.46 Beta
Edge 117.0.2045.47 Beta
Windows 10 Chrome 118.0.5993.70 Beta
Chrome 117.0.5938.92 Beta
Firefox 119.0 Beta
Firefox 118.0.2 Beta
Edge 118.0.2088.46 Beta
Edge 117.0.2045.47 Beta
macOS Safari 17.0 Beta
(Ventura 13.5) Safari 16.6 Beta
Chrome 118.0.5993.70 Beta
Firefox 119.0 Beta
Linux Firefox 119.0 Beta
(Ubuntu 22.04) Firefox 118.0.2 Beta
Chrome 118.0.5993.70 Beta

本阶段对于Android,iOS由于适配度问题,部分页面比例和大小设置不合理,暂时不做测试。
移动端实际功能大体通过,但是对于屏幕宽度过小的部分机型,部分功能无法使用。

出口条件

功能条件:

  • 文献库部分:
    • 文献推荐
    • 文献生成简介
    • 文献转存到个人文献库
  • 组织管理部分:
    • 新建组织
    • 加入组织
    • 解散组织
  • 组织权限部分:
    • 组长/管理员为成员分配对文献/笔记的查看/编辑权限
    • 删除文献/笔记需要审批
  • pdf编辑部分:
    • pdf进行高亮

在主流的操作系统和浏览器上可以通过域名稳定访问,并且功能基本正常。
对于移动端适配部分机型
网页性能较好,可以支持现今绝大多数设备运行而不卡顿。

测试条件

通过测试,软件的前端、后端、数据库、文件系统、网络、服务器等各个模块的稳定性、性能、容错性、可靠性等指标达到要求。
包括单元测试,集成测试,场景测试。在压力测试下,可以同时支持不超过百个用户的并发访问,并保证服务的稳定运行,但对于调用AI接口的相关接口需要稍微限制并发度。

posted @ 2025-06-07 21:24  coders007  阅读(37)  评论(0)    收藏  举报