收藏
回答

话题

你遇到过什么样的Bug,记忆犹新?

经常以为调完这个Bug就可以下班,没想到......调完1个Bug多出来99个新Bug?😭

调完前端Bug,发现后台也有Bug;调完后台Bug,发现xx好像也有Bug?🤷🏻‍♂️

总之,Bug是程序研发过程中难以绕开的话题,你遇到过什么样的Bug到现在还记忆犹新呢?

图:当你以为fix了1个Bug时......⬇️


写回答关注话题邀请回答

30 个回答

  • Stephen
    Stephen
    2019-12-09

    记得那一年刚毕业,第一家公司,开发一个OCR识别学生作业的系统,其中有一个关键接口,经常出问题,做了一个出现异常就发一封邮件给相关负责人的功能,邮件内容先插入数据库,然后定时任务定时定量发送,结果定时任务发送完更新邮件状态的地方出现bug了,结果晚上所有人的邮箱都爆了,发了几千封邮件出来,发邮件用的账号也都被限制了,第二天老大是提着刀来公司的。


    2019-12-09
    赞同 28
    回复 4
    • Kiddo
      Kiddo
      2019-12-10
      兄弟别误会,点赞只是因为这张图太TM形象了!
      2019-12-10
      回复
    查看更多(3)
  • Hanks🇨🇳
    Hanks🇨🇳
    精选2019-12-09

    目前记忆比较深刻的是和【粗心大意】有关的BUG,赔了20多台高级智能安卓手机

    我们大部分的项目都是H5,H5里有一半是抽奖项目。一般的奖品都是一些奖券,或者现金红包,或者一些价值不是很高的单品奖品。写的多了,感觉很熟练了,也就不那么严谨了。

    那次的项目,是高级智能安卓手机做推广,用户扫码,进入H5,玩个小游戏,然后大转盘抽,一等J是新款高级智能安卓手机一部(价值好像3K左右,记不清了),其他的小奖也就记不清了。这个H5并不是在线上推的,而是在高级智能安卓手机实体店打印出来的一张海报,扫描二维码进入H5体验。写项目,都是后台执行抽奖逻辑,各种防刷机制该加的加一加,前端就根据后台返回的数据进行展示就OK。平时测试的时候,都没有问题,各个奖项都涉及到了,唯独由没有测试后台返回奖品没有了的逻辑。前端处理返回数据的时候,是if-else。唯独在最后的else里写了提示‘获得一等奖’!奖品中奖概率也不低,项目上午上线,到中午,一等奖已经有人获得,但是在下午的时候,全国几十家店铺,反馈说有多人获得一等奖!大约20多台手机。

    这个bug也没的洗,抽奖用户都是在店铺现场拿出手机抽奖的,人家都等着兑奖呢!有的店铺还有多个中奖用户!


    这个bug产生就是因为大意!前端在开发阶段测试时候的代码,最后上线的时候也没有修改掉。就这样,公司赔了几万块。

    每天写代码,哪能不写bug?但是以后凡是涉及到钱的项目,希望大家引以为戒,千万要谨慎,测试要全面,日志一定要保存好。


    PS:我不是那个项目的前端,我也不是那个项目的后台。


    2019-12-09
    赞同 20
    回复 14
    • Stephen
      Stephen
      2019-12-09
      下次出现这种bug的时候及时告诉我一下
      2019-12-09
      4
      回复
    查看更多(13)
  • 子不语
    子不语
    2019-12-09

    有一次,用fetch做前后端分离请求,前端用vue,后端php,但是不管怎么配置都提示跨域。


    各种测试、调试、修改,从下午1点过搞到了下午5点过,依然不行,都开始怀疑人生了,我都照着文档一模一样的写了,为什么还不行?百度、谷歌都被我翻烂了,都没有解决。


    直到,我不经意之间用chrome打开了网页……


    行吧,safari把我的网络请求什么的都给缓存了,牛逼


    从那以后,网站开发绝不使用safari,再您🐴的见!

    2019-12-09
    赞同 20
    回复
  • var 友原
    var 友原
    2019-12-09

    bug不bug的不重要,主要是测试环境明明没问题的,相信大家都遇到过,一到上线就。。。。如下图:


    2019-12-09
    赞同 16
    回复 3
    • 天魔&龙魂
      天魔&龙魂
      2019-12-09
      这个是实际情况啊
      2019-12-09
      回复
    查看更多(2)
  • 卢霄霄
    卢霄霄
    精选2019-12-09

    那是我一个朋友刚参加工作的时候的事情了。每次升级,他都要写word文档给测试人员,然后测试人员会拷贝文档里的命令去linux执行。。但是有时候会出现从word里复制内容去linux的时候,会自动加个空格。那次升级里有个操作是

    cd /xxxxx

    rm -rf ./*

    然后测试人员复制出去的时候就变成了

    rm -rf ./ *

    然后测试人员以为是执行命令的时候,电脑卡了,前后换了4个测试环境执行升级。。那时候是 vmware环境,还没普及docker。。然后十几个测试放了半天假。。

    2019-12-09
    赞同 9
    回复 11
    • var 友原
      var 友原
      2019-12-09
      你说的那个朋友是不是就是你本人
      2019-12-09
      回复
    查看更多(10)
  • 杨泉
    杨泉
    2019-12-09


    最牛逼的bug是某天中午开始干活后,一个二货说我的代码怎么有个bug,发现不了

    于是求助了好几个人,因为代码实在太简单,一目了然那种,谁都懒得断点调试,运行了好多次都发现有问题,然而怎么看都没问题


    最后一堆人说,算了,打个断点开个debug看看吧,结果发现,这二货中午睡觉胳膊压键盘空格了,把某一行代码挤到了不知道什么位置

    然而这一行是一个关键的赋值


    2019-12-09
    赞同 13
    回复 4
    查看更多(3)
  • undefined
    undefined
    2019-12-09

    晚上发布,项目打成war包放到weblogic里面运行,以前都好好的,突然报错了,我忘了具体是什么错误了,百度了一下,翻了十几页全是粘贴复制都是一个回答,不成功。我这项目不启动成功,其它项目就无法登录了,我又去问同事,同事说没见过,问技术总监也说没见过。时间过去了一小时,都晚上11点了,然后翻墙上google,查到解决方案了,我这边问题解决了,项目运行成功了,以为能撤了,其它项目组又出现问题了,等了他们2小时,才开始测试验证流程,最后凌晨3点才下班。

    2019-12-09
    赞同 10
    回复
  • 杭州弧途科技有限公司
    杭州弧途科技有限公司
    2019-12-09

    什么bug,我写的代码不可能有bug!在我电脑上好好的,就你电脑上有问题,你说说是不是你电脑问题。


    2019-12-09
    赞同 9
    回复 8
    • Hanks🇨🇳
      Hanks🇨🇳
      2019-12-09
      自己骗自己
      2019-12-09
      回复
    查看更多(7)
  • 仙森ღ₅₂₀¹³¹⁴
    仙森ღ₅₂₀¹³¹⁴
    2019-12-09

    我们小程序项目的git权限已经全部开放给测试童鞋,所有测试童鞋添加开发者权限。每次发提测邮件后附上开发分支,测试童鞋自己打开开发者工具,拉取开发版的代码,有bug就修,有UI就修。修完开发小分队群里吼一声拉下代码。测试复测,没问题。合并到master分支,解决冲突后,让测试拉下代码,卧槽,怎么图片上传失败了,怎么获取信息失败了,怎么授权失败了。emmmm。怎么在我电脑上好的,到你那就出问题了。你做了啥~开始掐架。

    2019-12-09
    赞同 7
    回复
  • song
    song
    精选2019-12-09

        刚刚过去的双十一,跟另外两个同事在公司睡的觉...

        移动端有些页面用H5开发后再用APP打开,请求里面的有些必要参数是由APP传递过来的比如用户登录信息等等,其中包括cookie,这个cookie中就包含了当前操作的用户信息,请求的时候如果没有,接口就会返回状态码401提示需要登录。

        然而,随着需求的来临,客户端APP接入了一家广告(*山甲),由于本人是个菜鸟穷逼前端,开发阶段一直用的是自己一两千块的Android手机,任务开发的也还算顺利,自己测试没问题了就发布到测试环境后通知测试同事可以开干了!

       Android测试一切顺利,下班前包打好了准备上线,由于要发版,但在iOS上测试时发现个奇葩问题,接口请求有时正常返回200有时不行返回401(需要登录),客户端APP用flutter开发的,按理说有问题的话Android应该也有问题才是,但事实证明只有iOS会有这种概率问题,但返回401的本质问题是请求时cookie没有带过去,后端验证失效导致大概晚上9点公司只剩下我、iOS跟测试同事3个人了。

    • 跨域问题:1. 接口跨域倒还好解决;2. cookie跨域,在nginx转发了一次请求。Android测试通过说明跨域应该不再是问题。

    • 异步问题:H5跟APP间的通信是异步的,用户登录的cookie就是在双方通信过程中传过来的。我也是在拿到数据后才会发出请求,而且在请求前打印的数据显示是有的,拿刀杀了我我也不知道用抓包工具看到发出的请求中请求参数跟cookie为啥都没有了。这时有同事说要不试试延时,随后我在请求发出的各个环节都加上了猥琐的setTimeout,折腾测试了好久发现还是不行,看看时间差不多11点半了,我看了看淘宝购物车,手抖着发起了支付,毕竟四百多大洋呢...

        像没头苍蝇一样折腾了一天也不知道问题到底出在了什么地方,我也开始怀疑自己可能不适合这个工作,是不是应该回家种田。最后转机发生了,测试同学偶然发现了一个必现问题,如果进入了有广告的APP页面,再进入H5页面就必现这个问题。iOS同事之前提过在这个第三方广告文档中看到,不过一直没有引起注意,这时候再去看文档的时候,发现POST请求会清除请求体,测试发现cookie也一并清除掉了。我草,原来罪魁祸首是这个刚接入的破玩意。凌晨1点多了,眼看问题是解决不了了,发版更是不可能,我们3个人决定不回去了,如果回去的话睡不了几个小时又要来,就这样差不多2点的时候趴在桌子上放下了嗡嗡的脑袋。

        第二天上班后,采用了GET请求方式,cookie里面的信息通过自定义header传过去,这样才把这个无耻的广告问题绕了过去。这次车祸现场后来想想应该是iOS接入的广告在webview拦截了请求偷偷地做了不为人知的猥琐操作...

    2019-12-09
    赞同 2
    回复 5
    • Hanks🇨🇳
      Hanks🇨🇳
      2019-12-09
      神奇的操作,细节决定找bug的速度
      2019-12-09
      2
      回复
    查看更多(4)

正在加载...

登录 后发表内容