移动性能测试 包含功能验证的性能测试,该如何做?

amada · 2017年07月17日 · 最后由 amada 回复于 2017年07月17日 · 2708 次阅读

产品简介:现场互动,用户手机端签到、并参加主办方后台设置的一系列游戏比如摇红包,主办方后台管理签到及活动数据管理并在大屏幕上投放现场签到及游戏互动。

问题描述:该产品中的一个游戏 “摇红包”,上线前做过了压力测试。接口测试全部通过。上线后却出现了在并发压力较大的情况下,出现了:手机端第一名展示是 A、大屏幕展示第一名是用户 B,实际第一名是用户 A,这样的情况。

问题排查分析:经过对问题的初步分析,和对前端代码的 codereview,发现问题是服务器不稳定的情况下,前端没有同步到最新的数据,直接把它最后一次获取到的第一名数据,返回给了大屏幕。

请教:如何在性能测试的过程中,把手机端、大屏幕段、后台的数据进行三方比对,保证接口正确的情况下,前端展示也是正确的?

共收到 2 条回复 时间 点赞

“服务器不稳定” 太暧昧,需要继续问 “为什么”
关键是,整个系统的设计里,前端怎么判断抢红包的过程结束了呢?
如果是这种轮询设计:

1、前端:“现在第一名是谁?” 后端:“是甲。”
2、前端:“现在第一名是谁?” 后端:“是乙。”
3、前端:“现在第一名是谁?” 后端:“抢完了别问了。”

服务器在并发压力大的情况下,漏了第 2 步的响应——网络不好,服务端出错,都会产生这个 bug 。
排查后得到的 bug 根因就不是性能问题,而是设计问题。

1、前端:“现在第一名是谁?” 后端:“是甲,没抢完。”
2、前端:“现在第一名是谁?” 后端:“是乙,没抢完。”
3、前端:“现在第一名是谁?” 后端:“是丙,抢完了。”
黑水 回复

给回复点赞~

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册