测试计划、过程和结果

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

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

后端测试——压力测试

展示部分数据

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

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

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

社团接口

Document Path: /clubs/121/information
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 Path: /activities/list/hot
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 Path: /articles/latest_news_list?page=1&per_page_num=100
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

平均数据

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

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

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

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

新功能

  • 新加我的申请页面
    • 各个tab均加载正常

  • 新加意见反馈页面

    • 可正常加载、提交

  • 新加海报生成分享功能

    • 能正确加载画出海报

    • 可以保存到相册

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

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

    • 关注提示语修改

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

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

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

授权登录与权限检查

  • 当且仅当用户同意授权登录我们的小程序时,才能使用我们的小程序,且在第二次登录时能直接进入主页。测试通过。
  • 一共4种用户,权限列表如下:
1.在社团/活动的讨论区进行发言和点赞 2.申请入社 3.申请认证为社长 4.审核或拒绝入社申请 5.在所在社团的讨论区进行删除、置顶 6.网页端录入和导出数据 7.小程序端增删社团管理员
强制删除社员
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的性能测试非常类似,性能的常用指标也大致相同。包括页面的白屏时间,首屏时间,资源占用,页面渲染时间,帧率等等。
  • 只需要小程序开发版中打开性能窗口即可看到各页面的性能数据,下表为一次测试时所有页面的性能数据:
页面 CPU(%) 内存(m) 页面切换耗时(ms) 启动耗时(ms) 初次渲染耗时(ms) 数据缓存
授权登录 0 220 1100 32 96 0
新闻 0 249 250 32 110 688B
活动 0 383 236 32 107 688B
活动详情 0 490 296 32 150 688B
写短评 0 495 256 32 74 688B
社团 0 486 254 32 110 688B
某类别社团 0 493 126 32 47 688B
某社团信息页 0 502 615 32 348 688B
新闻详情 0 594 116 32 45 688B
我的 0 598 271 32 60 688B
关注的活动 0 600 180 32 61 688B
关注的社团 0 554 115 32 41 688B
所在的社团 0 618 155 32 53 688B
学生认证 0 557 121 32 89 688B
社长认证 0 572 260 32 147 688B
管理社员 0 569 166 32 84 688B
管理管理员 0 562 234 32 110 688B
我的申请 0 540 260 32 688B
意见反馈 0 460 140 32 688B
关于我们 0 541 170 32 75 688B
扫一扫 0 524 127 32 47 688B
  • 下图为一个示例截图:

前端测试——网页端

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

功能测试表格

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

功能测试表格

功能 验收标准
社团信息的修改 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?有哪些是Beta阶段的新Bug?有哪些是Alpha阶段没有发现的Bug?

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

bug具体记录如下:

(1)后端:

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

(2)前端--小程序:

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

(3)前端--网页端:

  • 未新增功能,无。

场景测试

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

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

回归测试

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

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

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

测试矩阵

  • 小程序:
OS 微信版本 登录 新闻 新闻详情 活动 活动详情 社团 某类别社团 社团信息 我的 关注的社团 关注的活动 加入的社团 学生认证 社长认证 管理社员 增删管理员 页面跳转 图片加载 我的申请 意见反馈 消息推送 海报生成
Android 9 7.0.3 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 一般 正常 正常 正常 较慢
IOS 12.2 7.0.3 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 较慢 正常 正常 正常 较慢
1Android 8 7.0.3 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 较慢 正常 正常 正常 较慢
IOS 12.1 7.0.3 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 一般 正常 正常 正常 较慢
Android 9 7.0.4 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 较慢 正常 正常 正常 较慢
IOS 12.2 7.0.4 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 一般 正常 正常 正常 较慢
  • 网页端:(测试矩阵还不够充分)
浏览器 版本 社团信息修改 活动录入和修改 新闻录入和修改 页面跳转
Chrome 72.0.3626.109 正常 正常 正常 正常
Chrome 74.0.3729.169 正常 正常 正常 正常
Microsoft Edge 42.17134.1.0 正常 正常 正常 正常

出口条件

  • 兼容性:
    • 小程序:对Android和IOS操作系统、不同版本的微信都兼容。
    • 网页端:对主流浏览器Chrome和Microsoft Edge兼容。
  • 易用性:底部导航易用,功能入口明显,交互结果的弹窗提示等。
  • UI美观:内容较多的页面中,能美观地进行布局,提升用户体验。
  • 功能正确性:各功能正确,页面跳转正确。
 posted on 2019-06-17 17:37  BuaaRedSun  阅读(396)  评论(0编辑  收藏  举报