1.  起因

前两天我发布了一个京东微信端截取到的三张图,并简单阐述了这三张图中的bug发现过程:

有朋友的评价是图中这样的,可实际上,他应该是没有看出来这个bug代表的内容有多少。今天心血来潮决定详细写一下,展现一下老程序员的酸腐气质!

2.  过程详述

京东微信端可以签到获取金币,每天一次一个金币,结果没有任何提醒,签到积累30金币的时候就不能签到了,我一直不知道怎么回事。

这一天决定兑换一下这种100-10的券,因为提示是早上9点开始,此前9点多点击,都没有抢到,我只是觉得奇怪。

今天我仍然在9点多进行了点击兑换,系统提示如下图所示:

系统告诉我兑换优惠券需要花费10金币,我点击立即兑换。

结果系统显示说,手速太慢,券已经被抢光了哦!明天记得早点来抢哦!

可是我明明记得抢光了应该是灰色的,而这时候是红色的。注意,不是上面已领取得券,而是金币30下方的券。

10点多,意外过来看了一眼,点了一下,居然兑换成功了,我连点了两次,结果扣了我20金币,系统告知只能抢一张,我没有太注意,也忘记截图了。

下午终于看到系统表示券已经被抢完了,截了张图如下。

这里才是抢光的结果,这时候,我看了一眼100-10的券,确实只有一张,晚上又看了一次,发现变成两张了,具体这里就先不分析这个问题了,因为要分析,我需要积累超过20金币以后才能进行这项测试。

下面我们来分析一下为什么会发生上面的情况,或者说,什么情况下会发生上面的情况。

3.  分析

下面逐项进行相关bug的分析描述。

3.1          实际兑换时间与界面提示兑换时间不同

实际可以兑换的时间是10点,而界面提示是9点。

从这个现象可以看到如下问题:

1,         京东的测试团队是分离的

业务逻辑测试团队和界面测试团队应该不是同一个人或者同一组人。

这在互联网软件测试中是有问题的。当然也可能就是同一个人,这个人太过于粗心了,不过,从常理来看一般不至于犯这样的错误。

2,         代码层面上界面推送和逻辑判断没有同步

这个问题很严重,常规来说应该有两种实现方式:

一种是懂一些技术的业务人员进行后台设定和前台页面修改,当然,最大的可能是一开始就考虑是9点,结果一个需求变更认为是10点,而开发人员忘记对页面进行修改,测试因为是两批人在做,也没有完成同步。

或者说,京东研发测试团队的需求跟踪做得不到位,需求变更发生后没有对所有涉及到该需求的点进行全面检视。

另一种是通过后台逻辑代码进行业务实现的设定和界面设定。

这种方式应该是最好的方式,也最容易避免这类问题。但,很明显京东没有这样做,可能是人力不足,也可能是仓促上线,但是上线已经半年的系统还是这样,就有点奇怪了。

Btw:我只能说京东的开发团队问题实在不是一般得多,大家可能会说,我靠打击京东来宣传自己,抱歉,如果这样说,我四年前给几个大学做的演讲中对腾讯的批评更多,其中涉及到腾讯游戏内部的很多管理问题和开发问题的推演分析结果,这些结果都是得到了腾讯游戏集团级专家人员的承认。

3.2          提示信息与逻辑不符

明显应该是灰色的时候才应该提示:手速太慢,券已经被抢光了哦!明天记得早点来抢哦!

却在早上9点还没有开始抢的时候做出了这样的提示。

这里能看出来,京东研发中的随意性,提示是默认设定的,而不是与逻辑关联的。

或者说,提示只是前端的推送和后台业务完全无关。这样的设定会使得推送的结果因为前端程序员的偷懒或者疏忽等问题而造成不必要的麻烦,甚至可能应该是每一个页面单独写提示,而不是系统进行的统一提示告警处理模块完成的。

对于成熟的系统,所有的异常和提示信息应该是同一模块统一完成的,要根据不同的逻辑展现不同的提示结果,不至于让用户觉得很奇怪。

当然,这里很有可能是为了减少前后台的交互而刻意做的提示结果,也就是我前面提到的,前端程序员疏忽或者偷懒就进行了默认设定,结果测试人员ye没有测出来或者不负责任就直接通过上线运行了。

3.3          提示信息欠缺

金币最多30枚,超过就不能领用,一个简单的提示都没有做,更可以看到京东系统的薄弱和问题所在。

这样的系统逻辑错误放在十多年前我们研发的电信行业业务系统中都是不可容忍的,京东的实际业务处理水平确实是相当得有问题。

3.4          前台提示与后台逻辑冲突后前台的错误提示

还是3.2问题的一个延续。

9点多点击,提示:兑换优惠券需花费10金币。说明这个业务逻辑没有走后台判断。

而被拒绝后,前台没有获取业务逻辑判断的提醒代码或者说没有代码,只是给了一个拒绝信息,于是只能提示用户:手速太慢,券已经被抢光了哦!明天记得早点来抢哦!

这说明后台逻辑的推送要么没有异常处理,要么就是前后台分离开发后,前台对后台的异常处理做了简单化地响应处理。

这在业务逻辑上是不可能被容忍的。而这样的错误居然都检查不出来,京东的测试团队的能力不是一般得弱小。

[技术讨论]关于前几天发布的京东bug上的问题分析相关推荐

  1. 实战react技术栈+express前后端博客项目(8)-- 前端管理界面标签管理+后端对应接口开发...

    项目地址:https://github.com/Nealyang/R... 本想等项目做完再连载一波系列博客,随着开发的进行,也是的确遇到了不少坑,请教了不少人.遂想,何不一边记录踩坑,一边分享收获呢 ...

  2. 欢迎加入Hello China技术讨论群组-QQ群:38467832

    欢迎加入Hello China技术讨论群组-QQ群:38467832 在此群组内,我们可一起讨论Hello China及其它嵌入式操作系统的技术问题.应用问题以及其它相关问题. Hello China ...

  3. 技术支持售前人员岗位技能与职责

    售前是什么 在开始之前呢 我们先说下什么是售前人员 对于售前人员来讲 我可以称呼他,如售前工程师.解决方案专家.售前咨询工程师.技术顾问.售前技术支持工程师等等. 售前的主要工作内容 1.销售人员拜访 ...

  4. sae-v2ex 一个运行在SAE上的类似v2ex的轻型python论坛 - 技术讨论 - 云计算开发者社区 - Powered by Discuz!...

    sae-v2ex 一个运行在SAE上的类似v2ex的轻型python论坛 - 技术讨论 - 云计算开发者社区 - Powered by Discuz! sae-v2ex 一个运行在SAE上的类似v2e ...

  5. 每日新闻:中关村六大重点技术领域收入前三季增16.1%;云计算将是政企客户重构IT的关键技术;明年推广电子客票,可凭身份证坐火车...

    关注中国软件网 最新鲜的企业级干货聚集地 趋势洞察 郑叶来:云计算将是政企客户重构IT的最关键技术 华为云BU总裁郑叶来表示:在Cloud1.0时代,互联网公司以其了解个人用户的优势在云计算市场势头极 ...

  6. delphi cxgrid读取本地image_技术讨论 | PHP本地文件包含漏洞GetShell

    序言 让我们突破重重苛刻环境GetShell,文中有以phpmyadmin包含漏洞做演示. PS:本文仅用于技术讨论与分析,严禁用于任何非法用途,违者后果自负. 漏洞背景 当您在发现PHP本地文件包含 ...

  7. 3月8日云栖精选夜读:《云栖精选阿里巴巴技术实战2016年刊》重磅发布

    1.<云栖精选阿里巴巴技术实战2016年刊>重磅发布 作者:云栖小秘书 2.性能.稳定性.反压.Exactly Once,Jstorm开源最佳实践全解析 作者:场景研读  3.珠联璧合 中 ...

  8. winr8文件服务器,技术讨论 | Windows全版本提权之Win10系列解析

    原标题:技术讨论 | Windows全版本提权之Win10系列解析 一. 背景介绍 2018 年 8 月 27 日,境外安全研究人员 SandboxEscaper 在其个人主页上披露了影响 Windo ...

  9. 实战react技术栈+express前后端博客项目(3)-- 后端路由、代理以及静态资源托管等配置说明...

    项目地址:github.com/Nealyang/Re- 本想等项目做完再连载一波系列博客,随着开发的进行,也是的确遇到了不少坑,请教了不少人.遂想,何不一边记录踩坑,一边分享收获呢.分享当然是好的, ...

  10. 全球最大的中文技术讨论区

    关注好友动态,请访问CSDN个人空间:http://my.csdn.net/ 技术精品文章,请访问CSDN博客:http://blog.csdn.net/ 全球最大的中文技术讨论区,请访问CSDN论坛 ...

最新文章

  1. themleaf返回可以带目录结构
  2. Java 集合系列(四)—— ListIterator 源码分析
  3. ERROR MESSAGE: Invalid command line: Malformed walker argument: Could not find walker with name
  4. stm32 led屏控制卡_室内LED显示屏如何安装?
  5. 【图像超分辨率论文】BasicVSR++: Improving Video Super-Resolution with Enhanced Propagation and Alignment
  6. [译]ABP vNext介绍
  7. Android 人脸照片对比,人脸对比
  8. 45 FI配置-财务会计-固定资产-一般评估-指定折旧条件转移
  9. 问题 E: Search Problem (II)
  10. python歌星大赛评分_2018年机器阅读理解技术竞赛模型,BLEU-4评分排名第6, ROUGE-L评分排名第14...
  11. mpvue中小程序自定义导航组件开发指南
  12. 跟我一起了解less(3):判断和循环
  13. Linux上安装RePlace
  14. Eclipse输入或创建txt文件位置
  15. 【RS-422与RS-485】RS-422与RS-485串行接口标准
  16. 2022秋招蚂蚁金服数据研发一面
  17. 15.6寸键盘的详细介绍
  18. 迅雷极速版阻止自动更新(亲自摸索出来,可用)
  19. 2016猴年春联集锦
  20. 凸优化—凸松弛(Convex Relaxation)

热门文章

  1. ftp服务器默认文件路径,ftp服务器默认文件路径是
  2. w7电脑蓝屏怎么解决_为你解答win7电脑蓝屏怎么办
  3. 骁龙855音频解码芯片_小米10、小10 Pro详细对比:骁龙865最强悍5G旗舰手机
  4. yield在python中是什么意思_python中的yield代表什么
  5. html背景图片显示不出,css中背景图片显示不出来
  6. NPOI Word插入图片的方法
  7. 马斯克 超级计算机,超级计算机升空 马斯克的SpaceX负责运送
  8. 互联网在线地图平台对比分析
  9. 内存管理API之get_unmapped_area
  10. 百度常用搜索语法 超详解