【Alpha】“北航社团帮”小程序v1.0测试报告
目录
测试计划、过程和结果
后端单元测试
助教可以在这里查看测试代码。我们对所有接口设计了单元测试,结果:全部通过。
后端压力测试
测试结果
我们对每个接口进行了压力测试,助教可以在gitlab进行查看详细结果文件。这里展示出我们得到的平均数据。
并发用户数: | 100 |
---|---|
测试所用时间: | 30 seconds |
完成请求量: | 1000 |
失败请求数目: | 0 |
成功请求数量: | 1000 |
总传输数量: | 425000 bytes |
吞吐率: | 29.50 |
传输速率: | 12.24 kb/s received |
时长 (ms) | 最短时长 | 平均时长 | 最长时长 |
---|---|---|---|
连接时长 | 26 | 1832 | 5836 |
处理时长 | 500 | 1381 | 248 |
总时长 | 526 | 3213 | 6084 |
指标解释
- 吞吐率(Requests per second)
- 服务器并发处理能力的量化描述,单位是reqs/s,指的是某个并发用户数下单位时间内处理的请求数。某个并发用户数下单位时间内能处理的最大请求数,称之为最大吞吐率。
- 计算公式:总请求数 / 处理完成这些请求数所花费的时间,即Request per second = Complete requests / Time taken for tests
- 并发连接数(The number of concurrent connections)
- 并发连接数指的是某个时刻服务器所接受的请求数目,简单的讲,就是一个会话。
- 并发用户数(The number of concurrent users,Concurrency Level)
- 要注意区分这个概念和并发连接数之间的区别,一个用户可能同时会产生多个会话,也即连接数。在HTTP/1.1下,IE7支持两个并发连接,IE8支持6个并发连接,FireFox3支持4个并发连接,所以相应的,我们的并发用户数就得除以这个基数。
- 服务器平均请求等待时间(Time per request: across all concurrent requests)
- 计算公式:处理完成所有请求数所花费的时间 / 总请求数,即Time taken for / testsComplete requests是吞吐率的倒数。
前端测试
授权登录与权限检查
- 当且仅当用户同意授权登录我们的小程序时,才能使用我们的小程序。测试通过。
- alpha版中,我们只有游客这一种登录方式,暂时还没有北航学生身份认证和社团管理员角色,因此相当于只有一种用户。所有功能也都暂时没有权限限制,无需检查。
功能测试
对三个方面进行了测试:
- 页面内部功能测试,按照下表中的功能树进行检查。
- 页面之间互相影响的测试点,主要是社团和活动的关注状态,以及活动的总关注度。
- 页面跳转和页面栈。
页面 | 功能描述 | 验收标准 |
---|---|---|
授权登录 | 1.授权登录 | 1.用户第一次登录时,当且仅当用户点击了授权登录按钮并同意授权后,才可跳转至主页面 2.授权登录后可以获取用户的微信昵称和头像并录入数据库。 3.用户非第一次登录时,无需点击授权登录按钮便会立即重新登录。 |
新闻 | 1.轮播展示关注度前4的活动横版海报,点击能跳转活动详情 2.列表显示新闻,即接入本小程序的公众号的文章,点击新闻跳转详情。 3.新闻列表下拉能够刷新 4.按类别筛选新闻 5.点击新闻对应的社团跳转社团信息页。 |
1.滑块视图容器,装载4张热度最高的活动卡片。每隔2s自动切换活动卡片,向左/右滑动能切换卡片。 2.点击活动卡片,可以跳转至活动详情,返回正确 3.新闻仅显示接入(即关联)本小程序的公众号的文章 4.新闻时间显示分段:(1)当天的新闻显示“今天”。(2)昨天至7天前的新闻,显示“x天前”,x是1~7的整数。(3)其余时间的新闻,显示月份和日期。 5.新闻按“时间”从近到远排序。 6.新闻类别筛选正确,且能返回“全部类别”状态。类别筛选的标准除了6个社团类别,还包括“全部类别”、“我的关注”类别。 7.点击新闻能正确跳转公众号文章,显示成功,返回正确 8.点击社团能正确跳转至社团信息页面,返回正确 |
新闻详情 | 1.展示文章内容 2.能留言、“在看” |
1.展示文章内容正确,返回正确 2.能能留言、“在看”,能更新该文章的阅读量 |
活动 | 1.按热度非升序排列展示活动列表 2.点击跳转活动详情 3.关注和取消关注活动 |
1.按热度非升序排列展示活动列表 2.点击跳转活动详情,返回正确 3.关注和取消关注活动正确,并弹窗提示用户。 |
活动详情 | 1.展示活动详细信息 2.点击主办方跳转社团详情 3.关注和取消关注活动 |
1.正确展示活动详细信息,只展示尚未开始的活动。 2.点击主办方正确跳转社团详情,返回正确 3.关注和取消关注活动正确,并弹窗提示用户。 |
社团 | 1.能搜索社团 2.列表显示我关注的社团 3.分类显示社团 4.点击类别跳转至该类别的社团列表页 5.点击社团跳转详情 |
1.可以用关键字搜索社团,没有则提示“无”. 2.列表显示我关注的社团,若无则提示“您尚未关注任何社团”。 3.分类显示社团 4.点击类别正确跳转至该类别的社团列表页,返回正确 5.点击关注的社团正确跳转社团详情页,返回正确。 |
某类别社团 | 1.列表显示该类别下的社团 2.点击社团跳转详情 |
1.列表显示该类别下的社团 2.点击社团跳转详情,返回正确。 |
社团信息 | 1.展示社团信息 2.可以关注和取消关注社团 |
1.正确展示社团的信息,某一项没有的不显示。 2.可以一键复制手机号、公众号。 3.正确显示关注状态,可以改变关注状态 4.除了社团简介还包括社团新闻 和 社团活动,这两部分的要求与 新闻页、活动页一致。 |
我关注的社团 | 1.列表显示用户关注的社团,点击跳转详情 | 1.列表显示用户关注的社团,点击跳转详情 |
我关注的活动 | 1.列表显示用户关注的活动,点击跳转详情 2.可以取消关注活动 |
1.列表显示用户关注的活动,点击跳转详情 2.可以取消关注活动,取消关注后立即在本页消失并弹窗提示。 3.若没有关注任何活动,则显示“您尚未关注任何活动” |
兼容性测试
- 手机操作系统:对Android手机和IOS手机都进行了测试。
- 微信版本:对微信版本7.0/6.6/6.5进行了测试。
性能测试
性能测试不是测试小程序的重点,优先级较低。小程序的性能和WEB的性能测试非常类似,性能的常用指标也大致相同。包括页面的白屏时间,首屏时间,资源占用,页面渲染时间,帧率等等。
只需要小程序开发版中打开性能窗口即可看到各页面的性能数据,下表为一次测试时所有页面的性能数据:
页面 | CPU(%) | 内存(m) | 页面切换耗时(ms) | 启动耗时(ms) | 初次渲染耗时(ms) | 数据缓存(KB) |
---|---|---|---|---|---|---|
新闻 | 0 | 293 | 580 | 1245 | 62 | 0.7 |
活动 | 0 | 365 | 194 | 1245 | 35 | 0.7 |
活动详情 | 0 | 363 | 106 | 1245 | 114 | 0.7 |
社团 | 0 | 404 | 201 | 1245 | 95 | 0.7 |
某类别社团 | 0 | 405 | 124 | 1245 | 49 | 0.7 |
某社团信息页 | 0 | 432 | 311 | 1245 | 166 | 0.7 |
新闻详情 | 0 | 459 | 135 | 1245 | 42 | 0.7 |
我的 | 0 | 433 | 159 | 1245 | 66 | 0.7 |
关注的社团页 | 0 | 453 | 158 | 1245 | 68 | 0.7 |
关注的活动 | 0 | 469 | 131 | 1245 | 47 | 0.7 |
关于我们 | 0 | 481 | 184 | 1245 | 81 | 0.7 |
下图为一个页面的性能数据截图:
回答课程组问题
测试中发现的bug
后端:
bug现象 | bug原因 | 是否解决 |
---|---|---|
有些新闻详情页无法跳转 | 该新闻的公众号尚未关联小程序,应给每个社团加一个标识属性,标识是否关联了本小程序,并在接口代码中检查 | 是 |
筛选某类别的新闻,无法正确刷新 | 在筛选功能下,前端无法实现正确刷新,需要后端改接口 | 是 |
有个新闻无法跳转 | 数据录入时多加了一个空格 | 是 |
活动时间显示格式错误 | 前端不便于处理,交给后端处理,直接返回要显示的时间字符串 | 是 |
前端:
bug现象 | bug原因 | 是否解决 |
---|---|---|
从社团信息页面关注某活动之后,返回到活动列表页,没有更新关注度 | 活动列表从后端获取信息的操作是在onload函数中,应放在onshow中 | 是 |
活动海报无法点击全屏放大显示 | 需要绑定使用wx.previewImage | 是,但是本地图片无法全屏预览,之后会将本地图片放到服务器上 |
真机上关闭调试之后无法登录 | 小程序代码中使用的服务器域名与微信平台上配置的服务器域名不同 | 是 |
活动默认图片显示错误 | 本地文件路径写错了 | 是 |
社联显示了星级 | 社联被纳入社团表格中。应由前端处理,判断是否为综合类别,是则不显示星级 | 是 |
场景测试
- 萌新:
用户信息 | 用户情况 |
---|---|
姓名 | 萌新M |
用户身份 | 某学院大一新生 |
用户情况 | 刚入学,对于各个社团的情况不大了解 |
用户需求 | 希望能方便地查看各个社团的介绍和活动,同时有让自己加入感兴趣的社团的渠道。 |
用户痛点 | 目前找不到集北航社团咨询与一身的平台。社团的公众号太分散,一个个去关注和查看文章十分麻烦;社联推送的社团介绍也比较有限。 |
软件对应功能 | 按照社团类别归置社团,同时提供搜索功能,便于用户找到自己感兴趣的社团;每个社团都有简介、新闻和活动,便于用户浏览社团的信息和动态;多数社团提供微信公众号名称和QQ群号,用户可以复制后进行关注和加群。 |
预期使用场景 | 百团大战马上要来了,萌新M想率先了解各个社团的情况,于是打开了“北航社团帮”小程序,浏览了自己感兴趣的社团类别(比如体育类)。在浏览了A社团的介绍、新闻和活动后,他觉得A社团很符合自己的兴趣,于是他关注了该社团的公众号,同时加入了该社团的QQ群,感受着老社员们对萌新M的热烈欢迎。 |
- 二狗:
用户信息 | 用户情况 |
---|---|
姓名 | 二狗G |
用户身份 | 某学院大二学生 |
用户情况 | 因为特别喜欢参加A社的社内活动,所以二狗G加入了A社团,积极参加A社举办的活动;同时对于其它社团有趣的活动也蛮有兴趣。 |
用户需求 | 希望能有一个平台将各个社团的活动集中展示,方便他获取社团活动的信息。 |
用户痛点 | 虽然只加入了A社,但是二狗G对于BCD社的活动也很有兴趣,但是这些活动只能通过刷朋友圈,或者主动查看公众号文章的方式来获取信息,十分不便。 |
软件对应功能 | 主页轮播关注度最高的4个活动的海报,吸引用户眼球;活动页按照关注度降序排列活动,用户可以方便地看到活动的简介,并点进去查看详情,查看活动的时间、介绍、报名方式等。 |
预期使用场景 | 二狗G觉得自己最近有点宅,想看看有没有什么活动可以参加,他打开“北航社团帮”小程序,哇塞,B社居然邀请到了知名相声演员郭德纲来讲相声,必须安排!得知报名方式后,他进行了报名,并在小本本上记录活动的时间,然后他心满意足地放下手机,吹起口哨继续debug。 |
测试矩阵
OS | 微信版本 | 登录 | 新闻 | 新闻详情 | 活动 | 活动详情 | 社团 | 某类别社团 | 社团信息 | 我的 | 关注的社团 | 关注的活动 | 页面跳转 | 图片加载 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Android 9 | 7.0.3 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 一般 |
IOS 12.2 | 7.0.3 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 较慢 |
Android 8 | 7.0.3 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 较慢 |
IOS 12.1 | 7.0.3 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 一般 |
Android 9 | 7.0.4 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 较慢 |
IOS 12.2 | 7.0.4 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 较慢 |
出口条件
- 兼容性:对Android和IOS操作系统、不同版本的微信都兼容。
- 易用性:底部导航易用,功能入口明显,交互结果的弹窗提示等。
- 功能正确性:各功能正确,页面跳转正确。
【Alpha】“北航社团帮”小程序v1.0测试报告的更多相关文章
- 【Alpha】“北航社团帮”小程序v1.0发布声明
我们的"北航社团帮"小程序发布啦!!! Alpha版本功能 功能列表和详情图 模块 功能 登录 授权登录,游客模式,无需填写信息 活动展示 首页轮播热度最高的四个活动,查看活动详情 ...
- 【Alpha】“北航社团帮”小程序v1.0项目展示
目录 1.团队介绍 2.回答一些工程问题 整个项目的目标和预期功能 整个项目的预期典型用户 整个项目的预期用户数量 alpha满足的用户需求 alpha用户量一览 团队分工及经验教训 团队项目管理 时 ...
- 【Beta】“北航社团帮”发布声明——小程序v2.0与网页端v1.0
目录 Beta版本新功能 小程序v2.0新功能 新功能列表 功能详情图 新功能动图展示 网页端v1.0功能 登录方式 社团信息的修改 新闻的录入和修改 活动的录入和修改 这一版修复的缺陷 Beta版本 ...
- 【Gamma】“北航社团帮”发布说明——小程序v3.0
目录 Gamma版本新功能 小程序v3.0新功能 新功能列表 新功能展示 这一版修复的缺陷 Gamma版本的已知问题和限制 小程序端 网页端 运行.安装与发布 运行环境的要求 安装与发布 小程序 网页 ...
- 【Beta】“北航社团帮”测试报告——小程序v2.0与网页端v1.0
目录 测试计划.过程和结果 后端测试--单元测试与覆盖率 后端测试--压力测试 展示部分数据 平均数据 前端测试--小程序v2.0 授权登录与权限检查 新功能的测试 兼容性测试 性能测试 前端测试-- ...
- 【Gamma】“北航社团帮”展示博客
目录 团队介绍 项目愿景 整个项目的预期典型用户 功能展示 原预期用户数量 项目使用情况数据分析 用户量变化 学生认证人数 社长认证人数 入社申请数 活动发布 新闻发布 网页端使用情况 小程序打开次数 ...
- 【Gamma】“北航社团帮”测试报告——小程序v3.0
目录 测试计划.过程和结果 后端测试--单元测试与覆盖率 后端测试--压力测试 展示部分数据 平均数据 前端测试--小程序v3.0 新功能 各页面均可正常打开,跳转,回退 授权登录与权限检查 页面数据 ...
- SQL防注入程序 v1.0
/// ***************C#版SQL防注入程序 v1.0************ /// *使用方法: /// 一.整站防注入(推荐) /// 在Global.asax.cs中查找App ...
- WordPress版微信小程序3.0版发布
距离WordPress版微信小程序上一个版本的发布过去了一个月了.在此间,我的工作有些变化,加上正在开发新版本,目前开源版的完善和升级稍稍有些滞后. 虽然这个版本是3.0版,期间有个过渡的2.8版,不 ...
随机推荐
- mybatis关联映射一对一
在项目开发中,会存在一对一的关系,比如一个人只有一个身份证,一个身份证只能给一个人使用,这就是一对一关系.一对一关系使用主外键关联. table.sql,在数据库中创建如下两个表并插入数据 CREAT ...
- DataPipeline CTO陈肃:构建批流一体数据融合平台的一致性语义保证
文 | 陈肃 DataPipelineCTO 交流微信 | datapipeline2018 本文完整PPT获取 | 关注公众号后,后台回复“陈肃” 首先,本文将从数据融合角度,谈一下DataPipe ...
- 对List集合中的元素进行排序
原文:http://blog.csdn.net/veryisjava/article/details/51675036 Collections对List集合中的数据进行排序 有时候需要对集合中的元素按 ...
- win10开机启动vmware虚拟机【亲测可用】
创建vbs脚本放到开机启动目录: set ws=createobject("wscript.shell") ws.run """C:\Program ...
- Java面向对象 练习(类、对象、方法)
知识点:构造方法.继承.方法重载.方法重写 一. 定义一个点(Point)类,用来表示三维空间中的点(有三个坐标),要求如下: 1.可以生成具有特定坐标的点对象(构造方法): 2.提供可以设置三个坐标 ...
- Httpd服务入门知识-使用mod_deflate模块压缩页面优化传输速度
Httpd服务入门知识-使用mod_deflate模块压缩页面优化传输速度 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.mod_deflate模块概述 mod_deflate ...
- httprunner学习2-har2case录制生成脚本
前言 复制毁一生,录制穷三代,如果你只是因为不想写脚本,而去录制脚本,那我建议你还是别学录制了. 录制脚本,只是一个过渡,从0到1的一个过渡,如果让你直接写脚本,你会无从下手,可以将录制的脚本快速转化 ...
- iscroll.js的简单使用方法
参考链接:https://www.cnblogs.com/Renyi-Fan/tag/js%E6%8F%92%E4%BB%B6/default.html?page=2 目录 一.总结 一句话总结:Sc ...
- Vue之Action
(1)同步与异步 在 mutation 中混合异步调用会导致你的程序很难调试. 例如,当你调用了两个包含异步回调的 mutation 来改变状态,你怎么知道什么时候回调和哪个先回调呢? 这就是为什么我 ...
- js动画---一个小bug的处理
对于前面的课程,大家似乎看不出来存在什么问题,一切都很顺利,但是其实是存在一个很大的bug的,这个bug是什么呢?? 我们来看看下面这个程序就知道了 <!DOCTYPE html> < ...