`
jiagou
  • 浏览: 2525134 次
文章分类
社区版块
存档分类
最新评论

[技术讨论]网络软件开发的bug分析与公司开发管理问题之腾讯篇二(有更新)

 
阅读更多
接上文腾讯篇第一部分,地址是:http://blog.csdn.net/qingrun/article/details/8541521

5.5 微信的bug——微信不识数
2012年12月26日腾讯手机管家截屏微信bug——关于非朋友最多显示十张照片的错误。
使用过微信朋友圈和查找陌生人的都知道,微信有个提示:“非朋友最多显示十张照片”,可是实际上呢?看下图。

这是多少张照片?至少十三张了。
其实微信要想改正这个bug很容易,在照片上面增加一个组别,或者上传次数的概念,也就是说,修改成,非朋友最多显示十组照片,一切就都解决了。
照片的数量和上传的批次被微信的开发人员给搞错了,而这个bug还扔给了几亿用户去看。哎!让我说些什么好呢?难道告诉人家,我们这些程序员实际上都是小学数学没学好所以没有出路找不到工作才来当程序员的么?
5.6 微信的问题
大家都在认为微信是个好产品的时候,我不禁感叹了一下。
微信至少有三点做的非常差:
第一, 是它的聊天记录,完全没有保存和管理,全部都是混乱的方式。
这一点我觉得和主创人员的经历有关,张小龙的foxmail就是使用自己的文件型数据存储管理方式,但是,当一个邮箱文件夹下的邮件达到1G左右的时候(具体数量并没有做专门测试所以无法明确),打开这个邮箱的速度就会奇慢无比,这和他使用的文件型数据存储管理方式有关,因为检索起来非常慢。
其次,微信的记录甚至完全没有,连QQ常规的聊天记录保存方式都没有延续,这是因为张小龙原来不是腾讯的人,不了解腾讯的QQ聊天记录的保存方式,还是腾讯原来的人不愿意把这部分代码交给微信是用呢?当然可能也因为市场需求,为了尽快推向市场,于是就不惜代价的将一个完全不成型的但是却有着特殊用途和作用的产品推了出来。
在这里至少可以看到,腾讯内部的代码管理和共享机制并没有做好,否则,微信完全可以直接借用腾讯早期的QQ记录管理部分的代码来弥补这个问题。
第二, 微信聊天语音文件的命名是混乱随机的,不具有可检索性。
从微信记录的保存上看,所有的文件名的命名都是无序和混乱的,或者称之为随机的命名更合适,这说明,微信就没打算进行聊天记录的保存管理。
微信现在提供的聊天记录的临时上传也不过是为了对这个问题进行弥补。可是实际上,在这个产品策划之初就应该有这方面的考虑和准备,至少预留下接口,类似文件名的命名也可以通过聊天双方的微信号加上时间组合起来,这样也就方便用户自己进行微信语音的管理和查询了。
第三, 申请记录在被申请方那里有显示,在申请者这边却没有任何显示和保存。
既然在被申请方那里提供了申请信息的保存,同样在申请者这边也应该保存或者允许查阅到。这个功能的提供并不复杂,代码量也不大,为什么就没有实现呢?
5.7 其他的一些bug
5.7.1 界面图标摆放位置bug

可以看到临时加上的那个花盆类的图标位置是非常奇怪的,与旁边几个图标的间距明显不一样。这说明农牧场本身这样的接口并不是标准提供的,只是程序员临时写上的。
而实际上,这样的位置摆放,应该可以通过标准接口进行挂接,同时美术设计的时候必须要考虑位置,而不是这样冒冒失失的随便挂一个位置,让用户眼睛都能看出来这位置明显不正常。
5.7.2 牧场里面居然可以给别人扩建


一个账号在另一个人哪里居然可以点击牧场的扩建,实在是很奇怪的bug。
5.7.3 QQ农场牧场餐厅一个偷懒的代码实现
居然弹出了一个系统默认的消息对话框,实在是让人咂舌。

确认后系统变成下面图中的显示状态。

正常领取参加任务的对话框应该如下图所示。

上面三张图可以看到下面几点:
1、 腾讯的程序员没有判断此前是否已经领取参加过这个活动;
2、 这样也无所谓,但是,至少你要设计一个符合你现在设计风格的界面,总不至于像这样扔出来一个系统默认对话框糊弄用户呀?
这样完全不同风格的对话框拿出来,放在行业软件里面,肯定会被骂死的。难道腾讯的质量控制人员不检查这些么?还是任由产品经理随意设计,或者说腾讯的产品经理根本就不考虑设计这种出错或者异常处理的对话框呢?
5.7.4 文字显示不完整的bug

看看上图中的“金币买”,最后那个字只显示了一半,哎!
5.7.5 一个一直存在走不动也点不了的人



上面图中红框内的人,在任何方式下都存在,就是不消失,也就是这个动作,即使进入到消灭吸血鬼的场景,这个人也在那里走动,吸血鬼也不会去触碰她。
5.7.6 QQ夜店中不能送的礼物也能回赠和帮助
两个号码,一个号码刚刚申请,还不能送高等级的礼物,在这里也都可以回赠成功。
先看小号的状态显示,苏打水和樱桃不能赠送。

正常情况下的处理结果是另一个好友的赠送和请求帮助是无法回赠和帮助,因为等级不够。

一件处理后,系统却提示成功帮助好友。

这里可以看到,小号帮助了大号这个樱桃礼物。而另一个回赠却没有成功,具体看后续分析。

回赠没有成功是因为一个代码bug,因为在领取礼物后,系统显示的是,您获得了礼物!请注意下图中的显示。

注意,一个显示您获得了礼物,一个显示青润向您索要礼物。经过测试发现,在这里面好像部分回赠或者索要是得不到的,更详细的分析就需要看代码进行测试定位了。
可能部分是因为丢失了赠送人信息,也可能是因为走到了判断无法赠送的方法,然后赠送没有成功,总之在多次使用中发现了不同的赠送成功和不成功的例子。具体的截图太多,这里就不张贴了,请腾讯的测试人员自行测试查找吧。
5.7.7 出错的对话选择框
下面这个对话选择框是笔者在调酒界面点击的时候出现的。

同样还经常出现赶走吸血鬼的对话框。
经过检查发现是因为吸血鬼或者对应的活动点正好在点击的位置,而这个位置的第一界面并不是夜店本身,而是夜店的调酒界面。
最后可以认定是在QQ夜店的点击定位方法中,并没有加入层控制的方法,也就是说,只要这个热点在这个位置,不管上面有多少层对话框,这个热点都会因为这次点击而被激活。
这个bug,如果放在行业系统中,就是事故了,而在这里,却运行了很多年,玩家不懂,只觉得是不是自己点错了,于是就尽量换个位置继续点,而实际原因却并非那么简单。
这里也可以看到,腾讯的测试人员的技能严重不足,一方面缺少代码经验,另一方面也没有进行过全面系统的测试,可能很多人只是经过培训班的培训甚至学校学一些东西就过来改行做测试的。毕竟腾讯给的工资还是相当高的。
5.7.8 出错的调酒,实际上没有这么多可以调酒的数量
可以看到下面这个界面上有4杯椰林飘香在调制,可是实际上我们看到上面只有2个位置变红,也就是说,即使第三个位置有部分空缺,也最多调制三杯椰林飘香,绝对不是目前现实的四杯。


5.7.9 代码更新后的功能不完整表现
最近意外在QQ农场里面看到了典型的功能取消后的缺失现象。
注意,下面的物品实际上已经取消了锁定功能,但是,却出现了,以前锁定的物品仍然存在锁定功能,但是功能表现却很不正常了。
在第一张图中,显示物品是锁定状态的。


点击解锁,前端界面上的锁并没有被打开,但是后面的物品却显示已经解锁。

关闭前端界面,显示这个界面上该物品已经解锁。

这时候再打开这个物品,就可以进行卖出交易了。但这时候点击锁定,前端界面上并没有变化,后面的界面上显示物品已经锁定,但是前端仍然可以修改进行物品卖出操作——这里请对比本节第一张图,那张图中卖出按钮是灰色不可操作的。

再点击锁定,前端界面仍然没有变化,后面会变成解锁状态。

重新点击锁定物品后,选择卖出2个。

结果,提示,这个物品已经被锁定。

除了前面几个曾经锁定过的物品,其他物品都无法进行锁定。
进一步的分析:
这个锁定功能是曾经完整提供的。也许因为产品需求变化,或者产品原型修改,取消了锁定功能,但是因为曾经有一些物品被锁定了,所以这个属性就不好被直接干掉。但是代码里面确实有被屏蔽了,因为这个功能不需要了。
结果,程序员就做了一个不负责任的代码修改,状态的变更在首界面显示的代码被取消了,而后面界面关联的代码却没有人修改,于是就成了现在的状态。这样的行为就类似过去听过的笑话,外科医生只管皮肤以外的问题,治疗中箭的伤兵,只要把皮肤外的箭杆剪去就完成了任务。

5.7.10 这里物品卖出后,对话界面也会回到最上端
这部分的代码和5.1中的代码几乎是完全相同的,但是结果也说明,腾讯是重新开发了一套,或者说最开始是直接复制粘贴的,但是修改的时候,就被丢在遗忘的角落里了。至少说明腾讯的需求管理和细节跟踪以及质量控制都做得非常不到位,详情还是看图说话。
图中有两个青水晶。

将位置滚动到最下端,然后打开青水晶的卖出界面,选择卖出1个,确定。

确定后,系统卖出一个青水晶,然后自动回到最上端。

这种状态就和目前蔬果管理中卖出物品后仍然留在卖出物品位置的表现已经不一样了。



下文继续腾讯篇第三部分,第三部分涉及到腾讯内部的培训文档中的错误和团队管理问题。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics