「线上Bug」方法调用错误导致

最近上线了一个项目,运行10天,发现一个问题,一个取消的操作,导致数据库表中的某些字段被更新为null

作为测试,难辞其咎;

思考为啥会出现这样的错误的时候,

场景是: 本次给表A中的增加了一个字段,本次对这个新增字段SS,做一些CRUD;

我只关注了对这个新增字段的验证,新增数据则该字段有默认值,更新字段该值变化,再次更新再次随之变化,

而这个表中的字段BB,CC和DD也随之改变了。 上线之后才发现他们被改变了!!!

本次是功能验证,在呈现上,SS和BB/CC/DD没有关联,所以理所应当的认为其他字段不会受影响。

但是!!开发人员调了一个udpateObject的方法,而不是UpdateSSbyID。

如果udpateObject方法之前能取出该对象的全部属性,当然也不至于有问题,问题在随着业务增加,该表有78个字段了,然后udpateObject之前,QueryObjectbyID只查询了其中62个字段。

我觉得这个单纯的功能测试,不可能保证线上没有bug的;

需要知道本次功能涉及的接口,然后对请求体,返回值一一验证。

不然,历史总会惊人的相似。每天都会忙碌的fix数据,风风火火显得自己很忙。

猜你喜欢

转载自www.cnblogs.com/qianjinyan/p/12339798.html