“知疫”——Alpha版本测试报告
“知疫”——Alpha版本测试报告
一、测试中出现bug汇总
1.1 前端bug汇总
bug名称 | bug详细描述 |
---|---|
vue组件命名冲突 | vue组件使用了使用内置或保留的HTML元素作为组件ID。 |
vue-router导航重复 | 点击与现在所处路由相同的导航栏项目,造成控制台报错。 |
element-ui icon显示异常 | 前端打包生成的图标路径设置错误,导致无法正常加载相应的图标。 |
vue弹窗关闭报错 | $confirm方法内置promise方法,导致取消操作无法正常捕获,造成弹窗关闭出现报错。 |
部分组件在屏幕尺寸较小时出现挤压、互相遮盖的情况 | 开发过程中部分组件未能注意到不同屏幕和尺寸的差别,尺寸设置未能弹性适应不同页面大小导致显示效果出错,更改为动态调整后成功修复 |
1.2 后端bug汇总
bug说明 | 修复说明 | 修复结果 |
---|---|---|
无法正常返回查询到的疫情信息 | flask mysql使用query()查找某一表项时会返回表项除表项外的其他字符。采用其他方法得到表项 | 正常返回 |
疫情信息折线图显示错误的时间格式与信息 | 将数据源中时间格式不同的数据特判并处理,使其格式与标准格式相匹配 | 折线图正常显示 |
更新疫情信息时爬虫获取到的url访问404 | 数据源更新不及时,将更新数据的url更改为前一天数据的url | 能够正常每日更新数据 |
数据中存在键值对重值为null使得数据无法正常处理 | 添加异常处理,跳过无用数据 | 异常数据不影响数据的正常录入 |
数据中存在空串,与已知数据为0无法区分 | 将空串处理为-1存入数据库,前端调用返回中间识别-1为无数据 | 无数据前端显示为NAN |
前端显示中国二级行政单位累计确诊小于当前确诊,且数据对不上 | 当前确诊数据源没有数据,是由累计确诊减累计治愈减累计死亡得出的,数据处理部分对此进行了修复 | 正常显示 |
部分有数据的地区前端仍显示NAN | 将数据库中存储的地名与前端地图显示的地名进行对比,发现有不吻合之处,将前端的地名映射进行了修改 | 有数据的地区可以正常显示 |
二、场景测试
用户信息 | 用户情况 |
---|---|
用户姓名 | 小蔡 |
用户身份 | 在北京刚上大四的学生 |
用户情况 | 平时在学校经常出门,目前还没有接种疫苗,有出国留学加拿大的打算 |
用户需求 | 还没有接种疫苗,希望获取疫苗的接种情况。需要出国留学,了解加拿大的疫情情况以及接种情况 |
用户痛点 | 国内目前的平台没有国外疫苗的接种数据 |
软件对应功能 | 国家列表页面展示特定国家的疫苗接种和疫情感染数据;疫苗接种页面展示特定国家的疫苗接种数据以及数据变化折线;感染情况页面展示特定国家的疫情感染数据以及数据变化折线 |
预期使用场景 | 小蔡同学获得了加拿大某所大学的offer,正打算去加拿大留学深造。但是目前小蔡同学还没有接种疫苗,于是他通过本网页应用查询了加拿大国家目前的疫苗接种和疫情感染数据,并分析了目前该国家的数据变化折线,发现该国家目前疫情情况并不乐观,因而最终小蔡同学为了自身的健康还是选择在国内接种了疫苗。 |
用户信息 | 用户情况 |
---|---|
用户姓名 | 张三 |
用户身份 | 在北京当一个公司经理 |
用户情况 | 平时经常出差 |
用户需求 | 经常需要跨省跨国出差,希望掌握出差地的新冠感染情况以及疫苗接种情况 |
用户痛点 | 国内的平台并没有国外的疫苗接种情况 |
软件对应功能 | 国家列表页面展示特定国家的疫苗接种和疫情感染数据;疫苗接种页面展示特定国家的疫苗接种数据以及数据变化折线;感染情况页面展示特定国家的疫情感染数据以及数据变化折线 |
预期使用场景 | 张三近期需要为公司参加多场项目竞标会议,会议举行地点既有国内,也有国外。于是他通过本网页应用查询了出差地区目前的疫苗接种和疫情感染数据,并分析了目前该地区的数据变化折线。对于疫情情况稍差的地区举办的会议,他最终决定以线上的形式参与。 |
用户信息 | 用户情况 |
---|---|
用户姓名 | 李四 |
用户身份 | 一个国企的退休人员 |
用户情况 | 平时喜欢在城市里到处闲逛,有时平时会出去旅游 |
用户需求 | 出去闲逛的时候需要看一看所在地的新冠感染情况。需要选择好旅游的目的地,并且需要接种疫苗 |
用户痛点 | 中老年人对于疫苗的了解不够深入,对于国外的情况不够了解 |
软件对应功能 | 国家列表页面展示国内的疫苗接种和疫情感染数据;疫苗接种页面展示国内省级地区的疫苗接种数据以及数据变化折线;感染情况页面展示国内省级地区的疫情感染数据以及数据变化折线 |
预期使用场景 | 李四近期打算去海南旅游一段时间。于是他通过本网页应用查询了国内海南地区目前的疫苗接种和疫情感染数据,发现海南地区疫苗接种率高,并且疫情感染形势稳定,最终他放心的前往海南旅游。 |
三、测试矩阵
OS | 浏览器 | 国家列表 | 疫苗接种 | 感染情况 | 反馈&建议 | 首页 |
---|---|---|---|---|---|---|
Windows 10 1909 |
Microsoft Edge 90.0.818.56 |
正常 | 正常 | 正常 | 正常 | 正常 |
Windows 10 1909 |
Google Chrome 90.0.4430.212 |
正常 | 正常 | 正常 | 正常 | 正常 |
macOS Big Sur 11.2.2 |
Safari 14.0.3 (16610.4.3.1.4) |
正常 | 正常 | 正常 | 正常 | 正常 |
macOS Big Sur 11.2.2 |
Google Chrome 90.0.4430.93 |
正常 | 正常 | 正常 | 正常 | 正常 |
iPadOS 14.4.2 |
Safari 14.4.2 |
正常 | 正常 | 正常 | 正常 | 正常 |
iPadOS 14.4.2 |
Google Chrome 90.0.4430.78 |
正常 | 正常 | 正常 | 正常 | 正常 |
四、出口条件
前端测试
兼容性测试
对于我们的网页应用,alpha版本并不支持移动端的适配,因而兼容性测试只涉及pc端上的各类浏览器。
功能测试
页面 | 功能描述 | 测试标准 |
---|---|---|
国家列表界面 | 1.展示各个国家感染情况和接种情况的表格以及世界总体情况的侧边栏。 2.国家列表每个条目下拉后展示感染数据和接种数据的折线图。 3.折线图支持滑动缩放和鼠标拖拽功能。 |
1.点击导航栏国家列表选项,全体国家列表及世界总体情况的侧边栏正常显示。 2.点击特定国家条目下拉图标,正常展示该国家感染数据折线,其中包含确诊人数、治愈人数和死亡人数三条折线;在点击接种数据按钮后,同样正常展示该国家接种人数折线。 3.查看数据量较大的几个国家的折线图,尝试鼠标滚轮缩放,缩放后的折线图正常显示;鼠标拖拽该折线图,折线图中的数据正常位移。 |
疫苗接种世界地图界面 | 1.展示世界范围内各个国家的接种数据,以世界地图的形式进行展示。 2.世界地图各个国家支持鼠标悬放,可展示该国家接种数据的浮窗。 3.世界地图各个国家支持点击,可跳转至该国家内接种情况界面。 4.世界地图支持滑动缩放和鼠标拖拽功能。 |
1.点击导航栏疫苗接种选项,疫苗接种数据的世界地图及世界总体情况的顶边栏正常显示,包含累计接种和每百人接种剂量数据。 2.鼠标悬放在世界地图上的特定国家区域,正常显示该国家接种数据的浮窗。 3.鼠标点击世界地图上的特定国家区域,正常跳转至该国家内接种情况界面。 4.查看本页面展示的世界地图,尝试鼠标滚轮缩放,缩放后的世界地图正常显示;鼠标拖拽该地图,世界地图中的国家板块正常位移。 |
疫苗接种国家地图界面 | 1.展示特定国家内各个地区的接种数据,以国家地图的形式进行展示。 2.国家地图各个地区支持鼠标悬放,可展示该国家特定地区接种数据的浮窗。 3.国家地图支持滑动缩放和鼠标拖拽功能。 |
1.点击疫苗接种世界地图中的任意国家,疫苗接种数据的国家地图及国家接种情况的侧边栏正常显示,包含累计接种和每百人接种剂量数据。 2.鼠标悬放在国家地图上的特定地区区域,正常显示该地区接种数据的浮窗。 3.查看本页面展示的国家地图,尝试鼠标滚轮缩放,缩放后的国家地图正常显示;鼠标拖拽该地图,国家地图中的地区板块正常位移。 |
疫情感染世界地图界面 | 1.展示世界范围内各个国家的感染数据,以世界地图的形式进行展示。 2.世界地图各个国家支持鼠标悬放,可展示该国家感染数据的浮窗。 3.世界地图各个国家支持点击,可跳转至该国家内感染情况界面。 4.世界地图支持滑动缩放和鼠标拖拽功能。 |
1.点击导航栏感染情况选项,疫情感染数据的世界地图及世界总体情况的顶边栏正常显示,包含当前确诊、累计确诊、累计治愈和累计死亡四类数据。 2.鼠标悬放在世界地图上的特定国家区域,正常显示该国家感染数据的浮窗。 3.鼠标点击世界地图上的特定国家区域,正常跳转至该国家内感染情况界面。 4.查看本页面展示的世界地图,尝试鼠标滚轮缩放,缩放后的世界地图正常显示;鼠标拖拽该地图,世界地图中的国家板块正常位移。 |
疫情感染国家地图界面 | 1.展示特定国家内各个地区的感染数据,以国家地图的形式进行展示。 2.国家地图各个地区支持鼠标悬放,可展示该国家特定地区感染数据的浮窗。 3.国家地图支持滑动缩放和鼠标拖拽功能。 4.中国地图各个地区支持点击,可跳转至特定地区感染数据的界面。 |
1.点击疫情感染世界地图中的任意国家,疫情感染数据的国家地图及国家感染情况的侧边栏正常显示,包含当前确诊、累计确诊、累计治愈和累计死亡四类数据。 2.鼠标悬放在国家地图上的特定地区区域,正常显示该地区感染数据的浮窗。 3.查看本页面展示的国家地图,尝试鼠标滚轮缩放,缩放后的国家地图正常显示;鼠标拖拽该地图,国家地图中的地区板块正常位移。 4.鼠标点击中国地图上的特定省级区域,正常跳转至该地区内感染情况界面。 |
疫情感染中国省级地区地图界面 | 1.展示特定省级地区内各个市级地区的感染数据,以省级地区地图的形式进行展示。 2.省级地区地图各个市级地区支持鼠标悬放,可展示该省级地区特定市级地区感染数据的浮窗。 3.省级地区地图支持滑动缩放和鼠标拖拽功能。 |
1.点击疫情感染中国地图中的任意省级地区,疫情感染数据的省级地区地图及省级地区感染情况的侧边栏正常显示,包含当前确诊、累计确诊、累计治愈和累计死亡四类数据。 2.鼠标悬放在省级地区上的特定市级地区区域,正常显示该地区感染数据的浮窗。 3.查看本页面展示的省级地区地图,尝试鼠标滚轮缩放,缩放后的省级地区地图正常显示;鼠标拖拽该地图,省级地区地图中的市级地区板块正常位移。 |
意见反馈界面 | 1.提供意见反馈的渠道。 2.支持意见提交冷却。 |
1.点击导航栏意见反馈选项,正常跳转至意见反馈界面,正确显示意见反馈文本框。 2.提交相应意见后,会有冷却时间30秒。 |
五、后端单元测试
测试代码详见仓库,后端主要对数据库存取相关的接口进行了单元测试,均通过
六、压力测试
我们主要对以下页面进行了压力测å试
页面 | 访问量 | 并发量 | 请求完成总时间 | 最快完成时间(s) | 最慢完成时间(s) | 平均完成时间(s) | 请求成功数 | 请求失败数 | 每秒响应请求(req/s) |
---|---|---|---|---|---|---|---|---|---|
国家列表 | 20Å00 | 200 | 32.099 | 0.008359 | 3.1444 | 0.186585 | 2000 | 0 | 62.3073 |
疫苗接种--全球 | 2000 | 200 | 39.9849 | 0.007245 | 3.16499 | 0.33657 | 2000 | 0 | 50.0189 |
感染情况--全球 | 1000 | 50 | 65.922 | 0.007405 | 3.16415 | 0.323132 | 1000 | 0 | 15.1694 |
感染情况--中国 | 1000 | 50 | 324.459 | 0.006739 | 3.16348 | 0.727503 | 847 | 153 | 3.08205 |
感染情况--中国湖北 | 1000 | 50 | 316.35 | 0.006927 | 3.16275 | 0.856514 | 868 | 132 | 3.16106 |
感染情况--美国(海外国家) | 1000 | 50 | 403.612 | 0.007053 | 3.16326 | 0.556816 | 754 | 246 | 2.48101 |
反馈&建议 | 2000 | 200 | 30.0765 | 0.007342 | 3.1397 | 0.269712 | 2000 | 0 | 66.4971 |
压力测试的结果不算理想,在访问感染情况地图时可承受的访问量以及并发量有明显的下降,且没有达到预期。请求超时的原因可能有数据库查询效率不够高、并行处理能力不佳等原因,具体原因仍在排查中,beta版本需要对此进行优化。
另外在压力测试的过程中,可能由于多种因素(如网络的不稳定等),不同时间段测试结果相差较大,如何更好的进行压力测试也是需要考虑与解决的问题。