Loading

【近取 Key】Beta - v2.0 测试报告

Bug

前端

用户设置相关

bug说明 修复方法 修复结果
用户修改头像后导航不同步更新 修改用户头像后刷新this.$store中的图像路径 成功
左侧侧边栏第一次无自适应,后续自适应排版 去除后续自适应,统一改为遮挡型导航 成功
上传头像过程中退出,仅重回设置界面才会更新头像 添加全局storage存储头像路径 成功
设置默认词图单词数量在进入页面时就显示警告 将规则检查变为懒检查,仅在提交时触发 成功

缓存相关

bug说明 修复方法 修复结果
编辑词图推出后最新修改时间未改变 重新回到我的词图界面后刷新更新时间 成功
从社区fork词图后我的词图界面无显示 重新回到我的词图界面后清空缓存重新请求 成功

词图相关

bug说明 修复方法 修复结果
我的词图中svg预览大小不一、存在白边 canvas截图时设定固定尺寸 成功
教程进行到中途退出后回从头开始 新增用户教程学习状态机,记忆用户浏览进度 成功
显示单词列表时缺失“熟识”状态单词的显示 补充缺失分支 成功
测试时浮窗显示前于视觉中心移动导致浮窗位置不正确 浮窗显示设置睡眠时间,待以动结束后苏醒显示 成功
截取svg缩略图时背景图片仅部分被包含 记忆背景图片坐标,在截图时设置 成功
对不同分辨率的背景图片的普适性较差 修改为提供动态图床由用户选择的方式实现背景图转换,控制图片分辨率一致 成功
测试时键盘监听不够敏感,出现光标切换异常等不顺滑清空 将监听方式由keyup改为keydown,并特判开头等特殊情况的光标位置 成功
已完成加词的词图可以添加自定义单词 根据当前词图状态判断是否开启自定义选项 成功

社区相关

bug说明 修复方法 修复结果
预览词图时单词列表无法获取api正常返回值 新增预览专用api,取消相关用户权限检查 成功
词图排序修改后不及时改变,刷新后才能修改 在切换子页面时刷新缓存 成功
自定义搜索加词时查询过慢,智能联想延迟较大 取消对单词含义的获取,仅获取单词本身 成功

后端

bug 概述 修复过程 修复结果
计算形近词表时用时过长 添加哈希索引 在较短时间内计算出所需词表
计算形近词表时返回了一些并不形近的词 相同哈希值不足以判断,使用 difflib 进一步判断单词间的相似性 大部分单词较为相似
随机生成在过大压力下速度过慢 删除了冗余计算内容 所有生成模式都有了较高的生成速度
http 交互存在一定安全隐患 实现 https 协议的重定向,并申请相应 CA 证书 用户可更加安全地设置密码、访问数据
后端原静态资源需通过 Django 进行请求得到,效率较低,且在生产模式下无法正常运作 通过 nginx 实现动静资源分离 生产模式下高效正常运作
IP 地址采用点分十进制表示,不利于用户记忆 完成备案申请 可以通过域名 jqkey.xyz 进行访问。

场景测试

用户信息 用户情况
姓名 田旭尧
身份 可怜高中生,高考近在眼前
使用动机 高考英语单词必须得全部背过呀
典型场景 每周末在家抽出 3~4h 专门背单词
用户偏好 使用整块的时间系统化背单词,且对每个单词的掌握程度要求高
用户痛点 碎片化的背单词法不适用于一直坐着学习的高考党;纸质书籍笨重,没有交互;天天看书看得好累,要是有更 fashion 的学习方式换换脑子就好了
预期使用场景 每天有固定的时间使用该软件来背单词,通过设置词图中单词的个数激励自己每天的背词数量,并且根据统计信息界面的艾宾浩斯曲线来进行复习。
实现该用户需求的功能 1. 可以设置每个词图的单词数量上限,帮助用户达到每天的学习目标(痛点 1) 2. 统计信息界面对遗忘程度进行展示,时刻关注还未掌握的单词,掌握学习进度(痛点 2) 3. 复习模式帮助用户针对词图单位进行复习,还可以进行拼写测试
用户信息 用户情况
姓名 田昶舜
身份 某校非英语专业大二学生
使用动机 英语不太好,想多背一些单词冲刺四六级,但是没有什么动力
典型场景1 在宿舍突然想背单词,打开 APP 使用一些背词功能
典型场景2 在食堂,饭太烫闲着无聊没事干,背几个单词
用户偏好 几乎不背单词,或偶尔零碎地背单词(非主要受众
用户痛点 不知道怎么复习/背单词,想要短时高收入
预期使用场景 偶尔在四六级之前较为系统地背一些单词
实现该用户需求的功能 1. 可以自定义词图背景,挑一些喜欢的图片记忆单词,趣味性 2. 通过用户社区功能,查看他人优秀的词图和背景,激励自己;还可以点赞、fork(bai piao) 别人的优秀词图
用户信息 用户情况
姓名 田昶禹
身份 某校考研党,英语单词量不高,需要大量提升
使用动机 想要在半年里把考研单词记熟,每天抽出一定时间专门背单词
典型场景1 复习数一数二腻了,背背单词学学英语换换脑子
典型场景2 突然被某篇鸡汤激励到,立誓背完考研单词,然后背了五分钟
用户偏好 偶尔会专门背记单词,主要时间不会用太多,但会用系统化的时间专门记忆单词
用户痛点 单词量较大,碎片化背单词过于低效;且容易注意力不集中、记忆不长久
预期使用场景 由于大学时间比较自由,因此需要依靠激励机制来鼓励自己每天进行背单词。获得激励之后,每天确定背词小目标并完成。
实现该用户需求的功能 1. 日历图展示打卡情况,饼状图展示背词进度,状态统计展示背词曲线,激励用户每天进行单词学习(典型场景 2) 2. 我的词图界面可以预览每个词图的背诵进度条,激励用户消除红色、橙色的部分,让整个词图进度条都呈现美丽的绿色
用户信息 用户情况
姓名 田永晓
身份 某校英语专业或出锅留学生
使用动机 有大量背单词的需求,常啃红宝书等词书,普通的碎片化记忆模式 APP 不适合了
典型场景1 某一天要背好多单词,不想背着一大摞书去图书馆,硬啃,普通的背单词软件过于碎片化,满足不了需求
典型场景2 看了个英文电影,想把电影里整理出来的单词加入候选背单词列表中
用户偏好 系统化背单词,即专门抽出时间阅读书籍、影视并记忆有关单词
用户痛点 纸质书籍重且较不方便、没有交互;大量学习中产生的零散单词除了手写记录难以集中背诵,且无法自定义位置;希望能提供基于词根词缀、近反义词的推荐背诵词
预期使用场景 对单词的专业性和难度有独特的要求,且由于背单词的重要性,需要使用特殊技巧来增强单词记忆。每天需要背单词的时间很长,觉得枯燥乏味难以集中精力。但是词图的多样化编辑功能可以让用户设计属于自己的词图,在背单词的过程中加入设计环节,帮助用户记忆的同时增加趣味性,让用户可以长时间背单词并减少疲劳感。
实现该用户需求的功能 1. 提供随机生成、顺序生成、词根词缀、近反义词、形近词汇、同类词汇等多种生成推荐词表方式,供用户建立词根词缀的概念及联想记忆(痛点 3) 2. 画布的 zoom 功能、可拖拽功能提供极大的操作空间(痛点 1、2) 3. 支持 9 种词书的选择(痛点 1) 4. 工具栏可以设置每个单词的样式 5. 提供自定义加词功能,对于突然联想到的单词可以随时加入词图中

压力测试

由于 Beta 阶段添加的 API 大部分为较小量级的 API,于是返回长度最长的 API 仍旧为查看统计信息 API。

Beta 阶段添加了对于形近词、同类词的支持,获得新词表的 API 使用复杂度略高于其他 API 的算法。故使用获得新词表的 API 进行测试,词图大小设置为 50

另外,使用了静态资源分离和图床策略,对于相对而言大小较大的背景图片不再从服务器直接通过 API 获取,故在此不进行压力测试。

老用户的统计信息的数据量仍然很大,受服务器条件限制,成功率同 Alpha 阶段类似:

API 用户数 时间 业务数 成功率 传输效率 总数据传输 响应时间 实际最高并发连接数 最长传输时间 最短传输时间
查看统计信息 255 60s 89 26% 1.50trans/s 1.73M 16.33s 24.53 30.01s 0.82s
查看统计信息 255 30s 92 100% 3.09trans/s 1.79M 15.85s 48.96 29.73s 0.00s
获得形近词表 255 60s 892 100% 14.91trans/s 0.05M 14.64s 218.21 28.42s 0.46s
获得同类词表 255 60s 1155 100% 19.36trans/s 0.07M 11.61s 224.79 25.11s 0.30s

获得形近词表的 API 对于哈希值计算开销较大,在添加哈希索引前最短传输时间达到了 3s 以上,添加哈希索引后仍旧有 0.46s 较高的延时。相较而言,获得同类词表查询次数就更少一些,效率也更高。

同时,对于其他情况进行压力测试,首先对随机生成进行测试,这里词图大小也是 50

API 用户数 时间 业务数 成功率 传输效率 总数据传输 响应时间 实际最高并发连接数 最长传输时间 最短传输时间
获得随机词表 255 60s 86 26% 1.44trans/s 0.09M 16.33s 57.80 30.01s 0.44s

仔细查看代码发现,是多种生成方式叠加的时候产生了计算冗余。去除计算冗余之后,进行压力测试:

API 用户数 时间 业务数 成功率 传输效率 总数据传输 响应时间 实际最高并发连接数 最长传输时间 最短传输时间
获得顺序词表 255 60s 1196 100% 19.93trans/s 0.72M 11.18s 222.87 23.12s 0.46s
获得随机词表 255 60s 1198 100% 19.99trans/s 0.71M 11.18s 223.37 25.28s 0.19s
获得近义词表 255 60s 608 94% 10.17trans/s 0.35M 17.76s 180.60 30.00s 0.24s
获得词根词表 255 60s 1177 100% 19.67trans/s 0.74M 11.55s 227.12 24.52s 0.30s

产生近义词表的生成方式对于数据量要求较大,故资源消耗较高;总体来看,对压力适应性较好

单元测试

后端进行了 API 的单元测试,覆盖率 70%。

没有达到较高覆盖率的原因有三:

  1. 使用双重校验,每一个 API 都使用解析 token 和解析用户两步进行,保证了用户隐私的安全性,但同时难以构造测试用例对于能够通过 token 解析但是通不过用户解析的场景,故每一个 API 都无法测试这一点;
  2. 部分 API 使用与其他 API 类似的结构,仅更改了部分影响内容(如修改字体、修改大小等),对于此类问题由于时间限制等原因没有进行完备的测试;
  3. 对于登陆和注销有关权限 API,进行了较为完备的场景测试,没有进行单元测试。

测试矩阵

为了着重展示 Beta 阶段功能测试结构,将 Alpha 阶段各功能的回归测试结果汇总为 Alpha 阶段功能 一条展示。

浏览器 版本 Alpha阶段功能 我的词图 个人设置 分享社区 修改词图背景 自定义加词 测试模块 统计信息
Google Chrome 90.0.4430.93 正常 正常 正常 正常 正常 正常 正常 正常
Microsoft Edge 90.0.818.56 正常 正常 正常 正常 正常 正常 正常 正常
360浏览器 13.0.2220.0 正常 正常 正常 正常 正常 正常 正常 正常
Firefox 88.0.1 正常 正常 正常 正常 正常 正常 正常 正常
Safari(平板) 604.1 正常 正常 正常 正常 正常 正常 正常 正常
QQ浏览器(平板) 11.4.8.4762 正常 正常 正常 正常 正常 正常 正常 正常

UI和操作测试

浏览器 屏幕分辨率 基本功能 页面布局 操作流畅度
Chrome 90.0.4430.93 1920*1080 正常 正常 比较流畅
Edge 90.0.818.56 1920*1080 正常 正常 流畅
Edge 90.0.818.56 2560*1440 正常 正常,侧边栏略窄 流畅
Chrome 90.0.4430.93 2560*1440 正常 正常,侧边栏略窄 流畅
Firefox 88.0.1 2560*1440 正常 正常,侧边栏略窄 流畅
Firefox 83.0 1920*1080 正常 正常 比较流畅
360安全浏览器 13.1.1302.0 1920*1080 正常 正常 比较流畅

出口条件

前端

要求 完成情况 完成度打分(满分10分)
整体 UI 美观 对包括字体在内的ui元素进行了进一步优化,对我的词图界面、词图添加了过渡动画 9
教程清晰 保留gif教程界面。另外添加基于状态机的引导性教程指引。 9
用户操作顺滑 对键盘的监听顺滑,用户对词图的编辑顺滑,过渡动画顺滑,添加缓存减少平均请求时间。但由于系统承载力原因,单张图片上传较慢,api获取词图背景较慢 8
词图功能完善 已完成对词图背景自定义、自定义加词等功能的完善,用户对词图的可编辑程度已基本达到最高等级 9
用户记忆状态展现详尽、可读性高 统计信息界面新增各词书背诵比例和整体单词状态的示意图,丰富用户可查看的信息 8
充分利用PC端的优势,和手机端相比有强大的不可替代性 词图可以通过zoom、拖拽等方式无限放大,充分利用大屏优势。复习测试部分充分利用pc端键盘优势,让用户可以用打字的方式巩固记忆。 9
进行部分要求审查 完善对用户名、密码、词图单词数量、词图名称等基本限制的前端审查,进行用户权限管理。 8
各屏幕分遍率、放大缩小、分屏的兼容 词图尺寸跟随屏幕和侧边栏尺寸进行自适应,导航栏根据屏幕自适应为底部导航栏。侧边栏不随设备分辨率而出现、消失。 7

后端

要求 完成情况 完成度打分(满分10分)
数据库设计完备 能够支持前端询问,同时支持推荐算法、测试算法、用户使用信息记录的数据库设计 9
进行权限处理 用户登录获得密钥,进而才可使用各种功能,保证数据安全性 9
进行邮箱验证 用户需要通过邮箱验证才可使用软件,减少恶意用户 8
单词数据 770570 个单词,覆盖面较广;其中 20651 个单词具有中英文例句 9
词书数据 导入了四级、六级、专业四八级、考研、雅思、托福、GRE、MBA、红宝书等词书 8
近反义词等推荐算法 共有 5060 个单词可进行近反义词推荐;共有 9326 个单词可进行同词根词缀推荐;可以进行形近单词推荐;可以进行同类单词推荐;推荐算法自由选择 9

综上,基本完成 Beta 阶段的出口要求。

posted @ 2021-06-16 20:14  美滋滋甜兮兮队  阅读(132)  评论(2编辑  收藏  举报