bug来源与如何避免

前提更要:从初来乍到,到熟悉业务核心代码。总有一天我们要去更改或者升级核心内容,对于逻辑复杂业务繁多的功能模块或者是流程,如何能够完成更改或者升级,且避免bug的出现,保正新旧业务流程能够正常使用。
目录

bug来源与如何避免
目录
一、修复现有的bug
二、首次开发新项目
三、二次开发
栗子:

优惠券使用经历4次bug修改
满减赠的二次开发:增加N元任,选前台购买涉及到分摊优惠,对分摊优惠进行重新整理(在尽量不改的原有的其他功能的逻辑的基础上,对代码整合个更改,便于可读和后期的再次开发)
抢购超卖的问bug,库存不足,则返回生成订单失败
一、修复现有的bug

步骤:bug怎么产生的 -> 快速定位 -> 熟悉代码 -> 改bug ->测试bug

开发前须知:
1.1 bug是如何提出来源:用户、不正常的数据、运营、开发人员操作
1.2 快速定位:(apache的错误日志、重现操作、数据库错误数据)
1.3 熟悉原有的代码逻辑,清楚了解如何更改现有的代码
开发后测试
2.1 该bug是否对原有的逻辑流程或者数据造成影响(较难,主要是细心)
2.2 除了此bug外,造成bug的因素是否还存在一定的潜在影响
2.2 改完后,会不会导致其他的功能不能正常使用,(必须测试)
例子一:优惠券分摊不均衡,10元优惠券分摊到两个价格相同的商品上,分摊金额是2.5 :7.5 应该是 5:5
例子二:检查订单是否能使用某张优惠券,以用户已经领取到的优惠券为判断依据
coupon,user_coupon
ps:优惠券使用经历4次bug修改

二、首次开发新项目

开发前须知
1.1 熟悉需要开发的内容
1.2 列需求文档、api接口
开发后测试
2.1 测试各个接口
2.2 所有需要走的逻辑流程是否正确
优点:对开发内容和功能了如指掌,确保接口程序无误即可
缺陷:初次开发,考虑简单需求,虽尽可能完善,但仍会有某些功能忽略掉,后期会进行二次开发
三、二次开发

难点:必须熟悉项目整理流程

开发前须知:
1.1 熟练掌握现有的功能和代码逻辑
1.2 了解二次开发目的和内容
1.3 清楚二次开发的程序如何写,且尽可能不影响原有的功能(是在原有的基础上扩充还是另写,或者合并)
开发后测试
2.1 局部测试:新增的功能是否能正常使用,所更改的代码是否对原有的逻辑造成影响
2.2 全局测试:对原有的功能进行测试,
缺点:对原有的功能块和程序逻辑不熟悉;若代码逻辑负责,业务繁琐,修改很容易出错;因新增加功能,对代码进行整合,也很容易出问题
注意:逻辑过于复杂的话,测试时不可能每种情况都测试到,所以需要自己审核代码

发表评论