测试计划、过程和结果

后端测试——单元测试与覆盖率

如下图:我们对所有接口设计了单元测试,共62个测试,结果:全部通过。代码覆盖率90%:

【Gamma】“北航社团帮”测试报告——小程序v3.0-LMLPHP

后端测试——压力测试

展示部分数据

我们对各个请求接口(包括之前所有接口和gamma版本新增接口)都进行了压力测试,并发量设置为500,总请求量设置为700。

对服务器平均请求等待时间,用户平均请求等待时间,吞吐率等指标进行了检验,得到了如下的结果。

以下展示的接口同上一阶段展示的接口,原因是这些接口的数据量是所有接口中最大的几个,对服务器压力相对较大,故测试重点在它们上。并且有的接口在这个阶段修改过,仍有重新测试的价值。同时,项目结束之际,做回归测试也是很有必要的。各接口和上一阶段性能相近。

社团接口

Document Length:2470 bytes
Concurrency Level:500
Time taken for tests:24.620 seconds
Complete requests:700
Failed requests:0
Total transferred:1482000 bytes
HTML transferred:623200 bytes
Requests per second:20.66

活动接口

Document Length:2100 bytes
Concurrency Level:500
Time taken for tests:18.637 seconds
Complete requests:700
Failed requests:0
Total transferred:1264600 bytes
HTML transferred:60600 bytes
Requests per second:27.32

新闻接口

Document Length:7210 bytes
Concurrency Level:500
Time taken for tests:36.245 seconds
Complete requests:700
Total transferred:5278950 bytes
HTML transferred:4610756 bytes
Requests per second:13.7

平均数据

总请求量700
吞吐率50个请求/s
用户平均请求等待时间0.13s
服务器平均请求等待时间0.10s

同gamma阶段相比,部分接口数据量增大,对应的用户等待时间略微提高,但平均响应相比beta阶段变化不大(上个阶段0.1s)。

前端测试——小程序v3.0

  • 前端进行了完整的回归测试,检查前两个阶段实现的所有功能。

新功能

  • 新加我的申请页面

    • 各个tab均加载正常

【Gamma】“北航社团帮”测试报告——小程序v3.0-LMLPHP

【Gamma】“北航社团帮”测试报告——小程序v3.0-LMLPHP

【Gamma】“北航社团帮”测试报告——小程序v3.0-LMLPHP

  • 新加意见反馈页面

    • 可正常加载、提交

    【Gamma】“北航社团帮”测试报告——小程序v3.0-LMLPHP

  • 新加海报生成分享功能

    • 能正确加载画出海报

    【Gamma】“北航社团帮”测试报告——小程序v3.0-LMLPHP

    • 可以保存到相册

    【Gamma】“北航社团帮”测试报告——小程序v3.0-LMLPHP

    • 扫码后可以跳转到活动详情页面

【Gamma】“北航社团帮”测试报告——小程序v3.0-LMLPHP

  • 新加关注活动消息推送功能

    • 关注提示语修改

    【Gamma】“北航社团帮”测试报告——小程序v3.0-LMLPHP

    • 按照时间条件可以收到通知

    【Gamma】“北航社团帮”测试报告——小程序v3.0-LMLPHP

    • 说明:上面的展览开始并不是bug,是一个模板消息。我们一共6次申请、修改了自己的活动定制模板,但是微信官方审核未通过,原因为暂不支持此类场景下的模板消息,易被滥用,经过了解似乎近期审核很严格。无奈才采用上面的模板。

各页面均可正常打开,跳转,回退

授权登录与权限检查

  • 当且仅当用户同意授权登录我们的小程序时,才能使用我们的小程序,且在第二次登录时能直接进入主页。测试通过。
  • 一共4种用户,权限列表如下:
a.游客
b.北航学生
c.某社团的管理员
d.某社团的社长
  • 权限检查时,包括两个方面:

    • 高级权限是否具有高级和低级权限的功能。
    • 低级权限是否不具有高级权限的功能,并且有一些地方需要显示提示信息或跳转到相应页面。
    • 上述测试通过。

页面数据统一

对三个方面进行了测试:

  1. 页面之间互相影响的测试点,包括:

    1. 多个页面有活动的点赞、关注信息,是否一致。
    2. 多个页面有社团的关注、入社状态信息,是否一致。
    3. 社团的讨论区和讨论详情页的一致性。

下面是各功能的测试标准:

新闻页筛选出"我加入的"社团的新闻能筛选出"我加入的"社团的新闻,若无则显示提示语,若有则按时间由近到远显示新闻。
活动列表页排序方式选择1.按时间由近到远排序,不过滤过期活动。
2.按热度(点赞量)由大到小排序,不过滤过期活动。
下拉刷新功能每次刷新会多展示4条活动,刷新到末尾会弹窗提示。
搜索功能1.搜索的范围是所有的活动。
2.会根据关键字在所有活动的 活动标题、社团名、社团类别中进行搜索。
活动详情页展示活动介绍文章和回顾文章展示活动介绍文章和回顾文章,点击跳转新闻详情页
关注和取消关注1.弹窗让用户确认自己的操作。
2.图标颜色、字的内容、人数变化正确。
点赞和取消点赞1.弹窗提示操作成功
2.图标颜色、字的内容、人数变化正确。
评论的展示、刷新、发布、点赞1.按时间由近到远排序评论。
2.每次刷新多请求10条评论。
3.只有通过北航学生认证后,才能发布评论,发布后,用户头像、昵称、评论内容和时间应显示正确。
4.对评论进行点赞/取消点赞后,图标颜色、人数变化正确
社团信息页展示社团标签、图集、介绍推文1.正确展示社团标签
2.正确展示社团图集
3.正确跳转社团介绍推文
关注和取消关注1.弹窗让用户确认自己的操作。
2.图标颜色、字的内容、人数变化正确。
入社状态1.若尚未入社,显示"申请入社",点击后检查是否为北航学生,是则可输入入社理由,提交入社申请,否则跳转学生认证页。
2.若已提交入社申请但尚未审核通过,则显示"审核中"。
3.若已经入社,则显示"已入社"。
评论区1.内容为空时显示提示语。
2.内容非空时,按置顶和更新的顺序显示帖子简要内容,被置顶的帖子具有置顶标记。
3.能在字数限制内提出问题,提问前需要检查是否为北航学生。
4.社长或管理员可以长按进行置顶、取消置顶、删除。
讨论详情1.无人回答时显示提示语。
2.有人回答时,按置顶和更新的顺序显示答帖的内容。
3.社长或管理员发出的答帖、被置顶的答帖都有相应标记。
4.社长或管理员可以长按进行置顶、取消置顶、删除。
5.左右滑动查看上下一个帖子的详情。
某类别社团页社团按星级降序排序1.该类别的社团按星级降序排序。
我所在的社团分三部分显示1.分三部分:我加入的、正在审核中的、被拒绝审核的。
2.跳转社团详情页。
学生认证页进行统一身份认证1.输入北航统一身份认证的账号和密码,以及一些其它补充信息:选择性别、政治面貌,填写手机号
2.所填内容会返回给后端判断,账号密码正确时提示认证成功,并返回到上一页面,同时该用户不再会看到学生认证的入口。
3.账号密码错误时提示认证失败。
社长认证页进行社长认证1.选择社团类别、社团名称,并填写社联分发的验证码,返回给后端检查是否正确,若正确则通过认证,否则提示失败。
2.认证成功后会返回到"我的"页面,并能看到管理社员和增删管理员页面。
3.当社团的一个新社长认证成功后,旧社长会自动解绑,并降级为管理员。
管理社员页面正在申请入社的社员和已入社的社员分别列表显示1.社员以学号+姓名+头像的方式列表显示,点击可正确跳转至相应的社员详情页。
2.对于入社申请,可以通过申请、拒绝申请,操作结果在管理员和对端用户都有相应变化。
3.对于已经入社的社员,社长可以进行删除操作。
增删管理员页面增删管理员1.可以通过用户id搜索用户,如果该用户已经是北航学生,那么就添加为管理员,否则不能添加为管理员。
2.可以删除管理员。
3.点击查看管理员的详情页。
扫一扫页面能成功扫码1.能调出摄像头,扫描网页端后能正确登录。
关于我们转账二维码正确能够保存转账二维码并进行转账。

兼容性测试

  • 手机操作系统:对Android手机和IOS手机都进行了测试。
  • 微信版本:对微信版本7.0/6.6/6.5进行了测试。

性能测试

  • 性能测试不是测试小程序的重点,优先级较低。小程序的性能和WEB的性能测试非常类似,性能的常用指标也大致相同。包括页面的白屏时间,首屏时间,资源占用,页面渲染时间,帧率等等。
  • 只需要小程序开发版中打开性能窗口即可看到各页面的性能数据,下表为一次测试时所有页面的性能数据:
授权登录0220110032960
新闻024925032110688B
活动038323632107688B
活动详情049029632150688B
写短评04952563274688B
社团048625432110688B
某类别社团04931263247688B
某社团信息页050261532348688B
新闻详情05941163245688B
我的05982713260688B
关注的活动06001803261688B
关注的社团05541153241688B
所在的社团06181553253688B
学生认证05571213289688B
社长认证057226032147688B
管理社员05691663284688B
管理管理员056223432110688B
我的申请054026032688B
意见反馈046014032688B
关于我们05411703275688B
扫一扫05241273247688B
  • 下图为一个示例截图:

【Gamma】“北航社团帮”测试报告——小程序v3.0-LMLPHP

前端测试——网页端

这一版网页端没有新加功能,仍按上阶段进行简单测试。

功能测试表格

  • 社团信息的修改
  • 新闻的录入和修改
  • 活动的录入和修改

功能测试表格

社团信息的修改1.不能修改:社团名称、类别、星级
2.能够修改:logo,英文名,简介,微信公众号,QQ群,社团介绍推文链接。
3.能够删除和增加社团标签:0-3个,每个标签字数限制在1-4个字之间。
4.能够上传社团图集,效果是完全覆盖,而非追加。
5.小程序端正确地进行相应的变化。
录入新闻1.能够录入新闻标题、链接、上传图片,且这三项都必须录入。
2.小程序端正确地进行相应的变化。
修改新闻1.能够修改链接和图片,不能修改新闻标题。
2.小程序端正确地进行相应的变化。
录入活动1.能够录入活动名称、地点、描述、开始时间、结束时间、活动介绍推文标题和链接、活动回顾推文标题和链接、活动大致规模、是否需要报名、其它共同举办的社团。
2.活动名称、地点、描述、开始时间,此四项为必填项。
3.能够上传横版和竖版海报。
4.小程序端正确地进行相应的变化。
修改活动1.除了活动名称之外的信息都可修改。
2.小程序端正确地进行相应的变化。

功能测试通过。

兼容性测试

目前我们支持的浏览器有:

  • chrome,谷歌浏览器
  • microsoft edge,wins自带的浏览器

回答课程组问题

测试中发现的bug

答:在全面测试时发现了个bug。有gamma阶段的bug,也有beta阶段未发现的bug。

bug具体记录如下:

(1)后端:

人文学院学生无法学生认证后端学院名称表中人文学院名字打错
有时图片获取时间很长图床逻辑Bug
生成海报返回的二维码不能正常解析二维码编码方式与json冲突
活动时间更新后不重新推送消息定时任务逻辑写错
社团录入新闻后不显示后端未同步公众号绑定信息
新闻页面轮播图排序异常排序时并不是按热度排的而是按id排

(2)前端--小程序:

新闻页面有时不能正常加载onLoad异步调用
海报图片保存延时很久本地图片无法以网络图片相似的方式处理
我的申请页面社团信息缺省时未隐藏判断条件异常
社团详情页面出现null值显示判断条件异常
用户信息政治面貌修改后不保存接口调用写错
社团标签如果不填满三个会有空白标签空值条件写错
海报生成在模拟器上能加载图片在真机上不能加载微信小程序基础库api变动
个人信息修改查看他人信息时也支持页面参数传递解析错误
通过用户id搜索管理员时,点击搜索出来的用户能跳转用户信息bindtap忘了去掉
点击底部tabbar的第三个图标切换到社团页时,在极少数情况下会只显示搜索框。页面加载异步问题

(3)前端--网页端:

  • 未新增功能,无。

场景测试

你是怎么进行场景测试(scenario testing)的?包括你预期不同的用户会怎样使用你的软件?他们有什么需求和目标?你的软件提供的功能怎么组合起来满足他们的需要?(仅描述新功能即可

  • 萌新:
姓名萌新M
用户身份某学院大一新生
用户情况刚入学,对于各个社团的情况不大了解。通过beta版小程序的使用初步了解社团,申请加入社团后不知道申请进度以及缺少明确提示而不知所措。
用户需求知道申请进度以及当前阶段应该做什么。
用户痛点对社团的了解度还不够,而且加入社团的步骤比较麻烦,需要一定提示,否则晕头转向。
软件对应功能1.在通过北航学生认证后,用户能在社团讨论区中看到常见问题的回答,以及提出自己的问题,从而增加了用户对社团的了解。
2.学生认证系统,使用户能一次填写自己的信息,多次使用,加入多个社团时不用重复填写个人信息,能直接一键填写入社理由后申请入社。
预期使用场景用户申请社团时提供额外的流程指引。
  • 社管S:
姓名社管S
用户身份某社团管理人员
用户情况社团管理人员
用户需求希望在小程序上发布活动后更多人能看到
用户痛点小程序缺乏推广活动的途径
软件对应功能提供海报生成功能,对活动生成海报,让用户可以在朋友圈、群里转发扩大活动认知程度,并可以通过扫描海报二维码方便地跳转到小程序活动详情页。
预期使用场景社团管理员发布一个活动后自己生成海报,发到社团群里和朋友圈里,感兴趣的人开始滚雪球转发,活动迅速扩散被很多人知道。
  • 社团活跃用户
姓名社团活跃用户N
用户身份某学生,积极参与社团活动
用户情况加入或关注某些社团,希望参与活动,却常常因为缺乏提醒错过活动时间
用户需求对自己关注的活动在活动开始前收到提醒
用户痛点收到活动的提醒并包含必要活动信息
软件对应功能活动关注后24h前发送微信推送提醒用户活动即将开始
预期使用场景用户在小程序上看到自己喜欢的活动后点击关注,活动开始前收到提醒,第二天记得参与活动,满载而归。

回归测试

你是否有回归测试确保新功能的加入没有影响已有功能?请给出一到两个测试用例并解释。

是的。下面给出两个测试用例:

  1. 活动详情页面我们加入了分享和关注推送功能,这对之前的点赞活动、写评论、点赞评论、跳转推送的新功能、跳转社团、展开和收起活动介绍的功能没有任何影响。
  2. 个人信息支持修改,这对个人信息查看无影响,在查看他人信息时不提供此功能。

测试矩阵

  • 小程序:
Android 97.0.3正常正常正常正常正常正常正常正常正常正常正常正常正常正常正常正常正常一般正常正常正常较慢
IOS 12.27.0.3正常正常正常正常正常正常正常正常正常正常正常正常正常正常正常正常正常较慢正常正常正常较慢
1Android 87.0.3正常正常正常正常正常正常正常正常正常正常正常正常正常正常正常正常正常较慢正常正常正常较慢
IOS 12.17.0.3正常正常正常正常正常正常正常正常正常正常正常正常正常正常正常正常正常一般正常正常正常较慢
Android 97.0.4正常正常正常正常正常正常正常正常正常正常正常正常正常正常正常正常正常较慢正常正常正常较慢
IOS 12.27.0.4正常正常正常正常正常正常正常正常正常正常正常正常正常正常正常正常正常一般正常正常正常较慢
  • 网页端:(测试矩阵还不够充分)
Chrome72.0.3626.109正常正常正常正常
Chrome74.0.3729.169正常正常正常正常
Microsoft Edge42.17134.1.0正常正常正常正常

出口条件

  • 兼容性:

    • 小程序:对Android和IOS操作系统、不同版本的微信都兼容。
    • 网页端:对主流浏览器Chrome和Microsoft Edge兼容。
  • 易用性:底部导航易用,功能入口明显,交互结果的弹窗提示等。
  • UI美观:内容较多的页面中,能美观地进行布局,提升用户体验。
  • 功能正确性:各功能正确,页面跳转正确。
04-29 22:50