单元测试的重要性一例

        早几天产品上线,发现了一个bug,而这个bug之前是不存在的,也就是说是我修改了另一个功能的时候导致了原来正常的一个功能出现了问题。这个bug的原因很简单,我有一个对象,在页面上会用到,而我现在需要把这个对象存到数据库,里面有一些信息是不需要的,为了避免存入过多的东西到数据库,我在存之前就清空了这个对象里面的一些数据。我忘记了我是在操作同一个对象,我的这个清除操作同时影响到了这个对象在页面上的展示,其实这个问题不是技术问题,也不是能力问题,只是因为人都会有一些失误或是不可能时时刻刻都保持细心。那么我们要怎么样去规避这样的问题。

        如果没有单元测试,要规避这个问题,我想必需从以下几个方面着手:

        1. code review,如果有另一个人去review你的代码,那么发现这种问题的机率会变大,但是以我的经验,review的人通常不会太仔细去看别人的代码,一般只能发现一些很明显的问题。

        2. 加强回归测试,这也是有人的因素在里面的,通常回归测试的时候测试人员关心的主要是你修改的功能,其它的功能即使有问题他们也可能不会注意到,很容易被忽略过去,如果有自动化测试可能会好一点。

        上面的方法都带着人的主观因素在里面,如果能在一开始写好相应的单元测试,一旦新的修改影响了旧有功能,那么测试一定跑不过,那么很容易就找出问题来了,不过这里又有另一个问题,单元测试真的不是那么好写的,对开发人员的要求特别高,不过不去试着写就永远写不出好的代码来,为了避免这些bug,我们也应该努力开始写好单元测试。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值