发布网友 发布时间:2022-04-14 17:55
共12个回答
热心网友 时间:2022-04-14 19:25
这让我想起了自己曾经做程序员的苦*日子,那一次遇见的BUG超级头疼。让我现在都记忆犹新。从发现bug 到最终解决耗时一个月,当时项目已经马上要发版本,所以期间每天搞到12点。累计投入1个专职测试,最高峰时期有一个10人的攻关小组,这很菊花厂,其中一半以上的都是senior developer,一个价值上百万的bug。调试的难度可以说是灾难级的,让我来回忆一下自己的经历吧。
1.数据不一致,很难测试
测数据库一致性的用例一般用转账的例子,例如A给B转10块钱,那就需要把A的账户余额减10,再给B的账户余额+10,然后再判断一下A和B总的账户余额不变。当然你也可以扩展到多个表,但是基本原理类似。我们的测试是用TPCC,所以一致性使用的是TPCC的业务模型,模拟往TPCC的warehouse之间出货,然后查库存是否一致。为了尽量模拟用户的真实使用场景,当然得导入大量的数据,加大并发,中间还会故意模拟各种故障。 所谓的各种故障,说白了也无非是杀进程,下电,模拟磁盘故障,因为Taurus又是一个分布式的数据库,网络故障必不可少,模拟网络抖动,丢包,网络割裂。
2.定位和解决
最开始接手这个问题的时候,首先当然是看测试测的对不对了,因为之前也乌龙过几次,测试一开始导入的数据就有部分不成功,导致一致性检查一开始就没通过。确认问题后,就开始定位。首先我们想的是找到重现条件,好吧,那就开测吧,搭个环境,导个数据,1天下来也是能够重现一次的。那不一致的日志有没有什么特征呢?插入的数据有上千万条,每次测试出来的不一样的记录,连不一样的表都不重样。
总之,遇见问题一定要冷静,仔细分析,询问老前辈。最后祝愿你能解决每一个难题!
热心网友 时间:2022-04-14 20:43
是在工作中,我们经常会遇到一些诡异的工作,但到最后通过大家的努力,还是解决了,从中我们也得到一些启发和经验热心网友 时间:2022-04-14 22:17
工作的时候有时候同一台机器,同一个人使用,今天好好的,明天就出现问题,怎么修也修不好?结果第二天又恢复正常了,很多毛病,就是一直找不到真正的原因,这个也是很诡异的问题热心网友 时间:2022-04-15 00:09
有一次会议中,电脑数次闪退,而技术部检测电脑发现压根没问题,最后换个插座就好了。热心网友 时间:2022-04-15 02:17
有一次维修自动化的机器时,明明已经检查出坏的地方,而且已经修理好,但是机器就是不能正常工作,最后什么都没动,过了一会自己又好了。热心网友 时间:2022-04-15 04:41
我在工作中遇到的bug就比较多,因为经常使用软件办公。软件如果出现故障的话,是谁都束手无策的。只能关机重启或者换一台电脑试一试。热心网友 时间:2022-04-15 07:23
电脑卡机十分严重,工作在兴头中的时候,电脑突然来了黑屏,坑啊,最后把工作给耽误了。热心网友 时间:2022-04-15 10:21
工作中正在起劲,希望能快点完成任务,晚上能去嗨会,可是中途给我来了个大停电,让我措手不及的,真的非常令人头痛的事,意想不到。热心网友 时间:2022-04-15 13:35
有一次在作图的时候,正做的飞起,突然一个停电,啥都没保存,后来只能重做了。热心网友 时间:2022-04-15 17:07
我觉得工作中的bug多半是电脑带来的,多尝试一下开机关机会恢复。热心网友 时间:2022-04-15 20:55
改图修图改图修图最后还是第一版比较好热心网友 时间:2022-04-16 00:59
工作的时候网断了,好几天了都,有网不能上网,最后发现是网线断了