Beta阶段测试报告

Beta阶段测试报告

测试过程中发现的Bug

在测试中发现的Bug,我们都按照约定好的规范记录在Notion文档当中:

Beta阶段Bug汇总

场景测试

测试场景1

  • 典型用户:张三——北航新生

  • 用户的需求/迫需解决的问题:

    • 张三刚被北航录取(还未开学),希望可以了解一下北航的各类设施,规划一下大学生活
    • 他对大学生活充满憧憬与疑惑,希望能够有热心学长解惑
  • 场景描述

    1. 张三同学首先打开网页,默认便是北航地图页面。张三可以先大略了解学校布局,再对感兴趣的设施进行搜索。也可以对一个设施打开地图钉详细了解具体功能,如果还有疑惑,可以在地图钉中打开相关推荐论坛,在论坛中询问。
    2. 张三同学热衷于美食,他首先在地图搜索框选择食堂tag,查看了所有食堂的信息。之后在论坛搜索“美食”关键词,在美食相关帖子中浏览、询问(当然需要注册)。
    3. 张三同学向了解自己专业的课程情况,希望能够在暑假进行一定的预习工作。在论坛中发布了一个新的帖子,“计算机专业大一新生预习”,并在帖子中提出自己的问题,由热心的学长学姐为其解答疑惑。

    至此,张三同学完成了对北航的了解,日复一日地憧憬大学生活。

测试场景2

  • 典型用户:李四——北航研一学生

  • 用户的需求/迫需解决的问题:

    • 李四喜欢打羽毛球,但是不知道羽毛球场地在哪里
    • 他也不知道如何预约,价格如何
  • 场景描述

    1. 李四同学首先打开网页,默认便是北航地图页面。登录后搜索“羽毛球”,点击搜索结果中的“羽毛球馆”,便可获取羽毛球馆的位置。
    2. 李四可以点击羽毛球馆的钉子,查看“羽毛球馆”的详细信息,例如开放时间,预约方式等。
    3. 李四还可以从钉子中跳转到论坛中和“羽毛球馆”相关的贴子,以查看更详细的信息。
    4. 如果李四还有其他疑问,他也可以直接进入论坛,发布和“羽毛球馆”相关的帖子,来让大家解答该疑问。

    至此,李四同学对羽毛球馆有了初步的了解,可以快乐的打羽毛球了,他甚至找到了几位球友。

测试场景3

  • 典型用户:王五——北航大四学生

  • 用户的需求/迫需解决的问题:

    • 王五要准备入职手续,需要准备若干材料(如成绩单、学历证明)
    • 他不知道怎么能最快地收集全部材料
  • 场景描述

    1. 王五同学首先打开网页,默认便是北航地图页面。未登录情况下,王五可以浏览“办公”标签筛选得到的所有地点的分布;也可以点击“知行楼”“思源楼”等地点的钉子,查看详细信息。
    2. 王五可以从钉子中跳转到论坛中和“知行楼”“思源楼”相关的贴子,以查看更详细的信息。
    3. 王五也可以在论坛的”办公”标签浏览和搜索相关的帖子,关键词可以是“大四学生 入职 材料”,这样可以得到更整合的攻略
    4. 如果暂时没有相关帖子,王五也可以登录后在论坛”办公”分区发帖直接询问“大四学生怎样才能优雅地出宿舍一趟收集完所有的入职材料”,并等待他人的回帖回复。

    至此,王五同学对在校内办理入职材料的路线有了基本的了解,可以快乐地办理材料,离成为社畜又近了一步。

测试场景4

  • 典型用户:Endurance——希望来BUAA参观的帅小伙

  • 用户的需求/迫需解决的问题:

    • BUAA校内有哪些地方可以参观!
    • 在BUAA校内参观的时候,有什么需要注意的!
  • 场景描述

    1. Endurance的同学告诉他,可以看看BUAAMapForum来做做功课,并且把网站的链接转发给了他。
    2. Endurance浏览了几个钉子,大致了解了北航校内的情况。为了在论坛参与讨论,他注册了一个账号,并且和同学分享了在论坛上的见闻。
    3. 在分享的时候,同学发现钉子A的信息有错误!于是马上反馈给了管理员。
    4. Agile - 埃杰团队的成员接到了反馈信息,核实之后发现A的信息确实有错,并且及时更新了信息。
    5. Agile - 埃杰团队的成员顺便处理了论坛社区中的一些不和谐的言论

    Endurance在第二周周末预约了入校,并且和同学玩的很开心;当然,他的使用也在无意当中提高了BUAAMapForum社区的质量。

兼容性测试矩阵

我们使用LAMBDATEST进行了兼容性测试,并且绘制了测试矩阵。

PC端

浏览器内核 支持版本
Blink 100及以上
WebKit 11及以上
Gecko 80及以上
Trident 不支持
浏览器 内核
Chrome Blink
Microsoft Edge Blink
IE Trident
360、QQ 等国内浏览器 Trident[兼容模式] / Blink[极速模式]
Firefox Gecko
Safari WebKit
浏览器 版本 注册 登录 地图渲染 地图钉展示 地图钉添加 地图钉修改 地图钉删除 地图钉类别选择 地图放大缩小 个人信息修改 登出 密码修改 页面跳转 图片显示 论坛浏览 发布/回复/评论 我的帖子/楼层/消息 修改/删除 帖子/评论/回复 管理员功能 地图聚焦
Chrome 112.0.5615.138 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常
Edge 112.0.1722.58 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常
Firefox 112.0.1 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常
Safari 16.3 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常 正常

Mobile端

由于手机品牌较多,对种手机仅测试了地图显示,论坛显示,登录功能。

手机品牌 支持操作系统版本
Samsung Galaxy S9+
Google Google Pixel 4+
OnePlus OnePlus 7+
Microsoft Microsoft Surface Duo+
Xiaomi Xiaomi Mi 8+
Realme Realme 5+
Huawei Huawei P20 Pro+
Sony Sony Xperia xz2+
Motorola Moto G6+
LG LG V20+
Oppo Oppo R9+
Vivo Vivo V15 Pro+
手机品牌\浏览器 google Chrome Firefox Opera
Samsung 正常 正常 正常
Google 正常 正常 正常
OnePlus 正常 正常 正常
Microsoft 正常 正常 正常
Xiaomi 正常 正常 正常
Realme 正常 正常 正常
Huawei 正常 正常 正常
Sony 正常 正常 正常
Motorola 正常 正常 正常
LG 正常 正常 正常
Oppo 正常 正常 正常
Vivo 正常 正常 正常

Huawei部分机型地图界面无法长按出菜单

压力测试

获取所有帖子api(/forum/post/getPosts)测试

我们选取Beta阶段最典型的获取所有帖子的api进行压力测试。

Beta阶段测试报告_第1张图片

Beta阶段测试报告_第2张图片

Beta阶段测试报告_第3张图片

获取收到消息api(/InfoPage/MyMessage/getReceiveMessage)测试

Beta阶段测试报告_第4张图片

Beta阶段测试报告_第5张图片

Beta阶段测试报告_第6张图片

登录api(/auth/login)测试

Beta阶段测试报告_第7张图片

Beta阶段测试报告_第8张图片

Beta阶段测试报告_第9张图片

测试结论

从测试结果可以看出,服务器在50并发下能以较快速度处理请求,100并发数下处理速度仍比较优秀,而并发数到500时处理速度便很慢。但登录接口的处理速度比其他较慢,可能因为登录需要对密码进行加密以及判断是否相等,涉及其他工具的实现。

这一结果对于我们平台100活跃用户的预期是完全足够的。

后端单元测试

测试环境

使用idea的插件TestMe测试,选用JUnit5 + Mockito。

测试对象

后端主要针对所有的服务类进行单元测试。由于测试的是Service层,只需要验证提供服务的逻辑是否正确,不需真实操作数据库。因此我们使用Mock构建虚拟类,指定Mapper层的执行情况。

测试代码

Beta阶段测试报告_第10张图片

测试结果

Beta阶段测试报告_第11张图片

所有测试用例都通过,且基本所有类的行覆盖率达到90%以上,只有部分异常情况难以构造样例触发和提供图床服务的类难以测试。

Beta阶段出口条件

  1. 通过功能测试

    软件所提供的功能应当与功能规格说明书描述高度近似,并且经过功能测试无误;软件在整体上的功能需要明确、具有引导性、便于用户使用。我们设计了场景和流程,并且对软件的核心功能进行了测试。在正确的情景下,能够正常实现功能;在错误的情景下,能够反馈有用的错误信息。

  2. 样式美观大方,具有较好的兼容性

    在给定的、常见的使用环境下,软件能够提供正常的功能和美观的样式。我们在排版困难的地方使用了响应式布局,并且对大部分常见的分辨率进行了样式测试;除此之外,我们也对PC端和移动端不同的环境进行了兼容性测试。

  3. 软件具有安全性

    我们通过数据库加密、关闭SourceMap、后端限制用户操作等方式增强了软件的安全性,并且使用了携带审核功能的上下行流量包,确保软件的安全性

  4. 软件能够承受一定的压力

    我们对软件进行了压力测试,确保软件能够在访问量较大的时候流畅运行、正确提供各种服务

你可能感兴趣的:(前端,javascript,开发语言)