此文已由作者王晓明授权网易云社区发布。

欢迎访问网易云社区,了解更多网易技术产品运营经验。

各位看官,可能看到标题的你一定认为这是一篇涉嫌“炒作”的文章,亦或是为了吸引眼球而起的标题,恭喜你猜对了一半,确实是为了吸引大家的关注而起的这个标题,不过不是为了“炒作”而只是为了让更多人关注bug,重视bug,从而挖掘bug的潜在价值--技术团队的财富。

Bug一词估计也只有相关从业人员才会比较了解,我想了解它的人没有一个不讨厌它的。这一点从给它起的名字就可以看出来,“bug”翻译成中文就是“虫子”,大家对虫子第一影响就是厌恶,所以没人喜欢它是人之常情,今天我们却要走相反的路线,好好的“夸一夸”令大家都不爽的“虫子”。

研发人员的“错题集”--bug追踪记录

说道错题集估计大家都不陌生,但凡热爱学习(关注成绩)的同学可能都有自己的“武林秘籍”--考试或者练习测验中做错的题目。通过对这本武林秘籍中的题目进行针对性的练习,来减少重复踩坑带来的分数损失。对于研发同学在研发阶段产生的bug和线上出现的事故,我们也可以做个类比,把它们称为研发同学的“错题集”。对于研发同学如何对待这本“错题集”,不仅仅关乎软件代码质量的提高,更关乎个人技能的持续成长。如何让一个人不重复犯同一类错误,如何让一个团队不重复踩相同的“技术坑 ”,如何把团队付出昂贵代价积累下的经验传承下来,一直都是技术管理者头疼的问题。那“研发团队错题集”不失是一种可行的方案,通过实际的bug案例,产生的原因、造成的影响、如何避免类似问题的产生,可以让新来的同学迅速继承以前趟过的坑。我认为对技术团队来说,技术积累大致可以分为两类,“成功案例”和“失败教训”,我认为失败教训对其他团队的参考意义更大,因为相对于成功来说,失败有更大的普适性。综上,认真对待自己犯过的“错误”,把它当做持续提高自己的“训练集”,既能完成软件代码质量的不断提高,又能让研发团队整体战斗力持续提升,你说它是不是一笔“财富”。

测试人员的“遗漏用例集”--非用例执行bug记录和在线bug记录

如果你认为bug只是针对研发同学的,那就大错特错了。对于测试同学bug也是一种“财富”,这不仅仅体现在“工作量”上,更体现在后续根据bug不断改进用例设计方法的实战经验上。相信测试同学大部分会有这样的经历。

经历A:

一期需求中辛辛苦苦准备了很多用例,开发提测后按照用例执行一遍发现没有发现几个bug,于是基于职业敏感,开始又一轮的探索性测试,又发现很多bug,甚至比通过用例发现的bug还要多,于是提出“设计测试用例无用论”。(私下认为,应该是设计用例的方法有问题,需要改进设计用例的方法,并推广之,让更少的同学经历A事件)

经历B:

辛辛苦苦熬到需求上线,发布不久出现线上故障,紧急回滚或者紧急线上修复,所有事情都忙完后,开始准备线上故障报告,包括故障原因,开始时间,修复时间,解决方法,后续避免措施,怀着忐忑的心情结束一天的工作。

其实经历A、B本质上讲都是由于用例设计不充分导致的,在互联网敏捷发布、持续交付的大环境下,如何更好更快的设计更加全面的测试用例是测试同学需要不断追求的,而bug集恰恰是最好的“场景数据”,从这个角度讲我想大家也都认为bug是一种财富。

bug不仅是软件研发中发生的错误,同时也是帮助大家技能持续成长的一种财富,如何把这种潜在资产的价值发挥出来,是研发团队需求不断探索和实践的。

网易云免费体验馆,0成本体验20+款云产品!

更多网易技术、产品、运营经验分享请点击

相关文章:
【推荐】 Android优化之内存优化倒计时篇

Bug是一种财富-------研发同学的错题集、测试同学的遗漏用例集的更多相关文章

  1. [每日电路图] 7、设计一个PCB的流程及细节·总结——给外行的同学或刚入行的同学一个宏观鸟瞰电路板设计的大致流程的文章

    前言 最近两天使用AD14软件设计了一个蓝牙防丢器电路板(PCB)图纸,中间有一些细节在本文中记录下,方便下次设计PCB时参考.也希望能给外行的同学或刚入行的同学一个宏观鸟瞰电路板设计的大致流程的文章 ...

  2. centos LB负载均衡集群 三种模式区别 LVS/NAT 配置 LVS/DR 配置 LVS/DR + keepalived配置 nginx ip_hash 实现长连接 LVS是四层LB 注意down掉网卡的方法 nginx效率没有LVS高 ipvsadm命令集 测试LVS方法 第三十三节课

    centos   LB负载均衡集群 三种模式区别 LVS/NAT 配置  LVS/DR 配置  LVS/DR + keepalived配置  nginx ip_hash 实现长连接  LVS是四层LB ...

  3. 阿里云移动研发平台 EMAS 助力银行业打造测试中台,提升发版效能

    随着移动互联网的发展,手机银行凭借低成本.操作简单.不受时间空间约束等优势,正逐步替代传统的网银交易方式.越来越多的银行开始了“业务移动化”转型之路,“手机APP”已经成为企业价值传递和关系维护的关键 ...

  4. 测试同学难道要写一辈子的hello world?

    最近我们在测试团队内推行自动化用例责任制,大致的意思是:我们安排培训资源,提供技术支持和一对一辅导,要求每一个自主选择了自动化和接口测试发展通道的同学必须让自己负责的项目自动化用例覆盖率有所提升. 后 ...

  5. Apache shiro集群实现 (八) web集群时session同步的3种方法

    Apache shiro集群实现 (一) shiro入门介绍 Apache shiro集群实现 (二) shiro 的INI配置 Apache shiro集群实现 (三)shiro身份认证(Shiro ...

  6. Android JSON原生解析的几种思路,以号码归属地,笑话大全,天气预报为例演示

    Android JSON原生解析的几种思路,以号码归属地,笑话大全,天气预报为例演示 今天项目中要实现一个天气的预览,加载的信息很多,字段也很多,所以理清了一下思路,准备独立出来写一个总结,这样对大家 ...

  7. 测试的发现遗漏BUG的做法

    首先要确认BUG的影响范围: 后续做法如下: 1.从测试角度来说,外部缺陷等同与系统崩溃,测试是必须提的2.可以询问主管或负责人是否在后一个版本中修改3.评估缺陷对于用户使用存在多大的不便4.判定缺陷 ...

  8. Eclipse调试Bug的七种常用技巧(转)

        注意事项及小结: (1)Line Breakpoint:如果设置Conditional,监控的变量需要比当前行高一级block,譬如for(int i=0;i<20;i++)中的i,fo ...

  9. Eclipse调试Bug的七种常用技巧

    1. 条件断点 断点大家都比较熟悉,在Eclipse Java 编辑区的行头双击就会得到一个断点,代码会运行到此处时停止. 条件断点,顾名思义就是一个有一定条件的断点,只有满足了用户设置的条件,代码才 ...

随机推荐

  1. JS:jquery插件表格单元格合并.

    公司需要用到单元格合并,于是动手封装了一个简单的jquery插件,封装的函数是直接写好转的,请多多提意见看代码是否有优化的地方..... 截图: 代码: /* * mergeTable 0.1 * C ...

  2. IOS开发之——IOS模拟器调试蓝牙BLE

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/zhenyu5211314/article/details/24399887 因为在iPhone 4s ...

  3. 作为PHP开发者请务必了解Composer

    Composer是一个非常流行的PHP包依赖管理工具,已经取代PEAR包管理器,对于PHP开发者来说掌握Composer是必须的. 对于使用者来说Composer非常的简单,通过简单的一条命令将需要的 ...

  4. 2018.11.29 Struts2中拦截器的学习&项目的实际运用

    struts2官方架构 拦截器的创建 第一种方式 第二种方式 看源码AbstractInterceptor 底层已经帮我们写过这些方法了 第三种方式(推荐) 拦截器API学习 放行 前后处理 不放行, ...

  5. 【luogu P1144 最短路计数】 题解

    题目链接:https://www.luogu.org/problemnew/show/P1144 #include <iostream> #include <cstdio> # ...

  6. css块元素的 display 属性 inline-block 的应用

    <%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> < ...

  7. Extjs treePanel 加载等待框

    beforeload : { fn : function (store, operation, eOpts){ loadMask = new Ext.LoadMask(Ext.get(this.get ...

  8. JavaScript js调用堆栈(二)

    本文主要介绍JavaScript的内存空间 var a = 20; var b = 'abc'; var c = true; var d = { m: 20 } 首先需要对栈(stack),堆(hea ...

  9. Oracle中的一些查询语句及其执行顺序

    查询条件: 1)LIKE:模糊查询,需要借助两个通配符,%:表示0到多个字符:_:标识单个字符. 2)IN(list):用来取出符合列表范围中的数据. 3)NOT IN(list): 取出不符合此列表 ...

  10. spring入门(八) spring mvc设置默认首页

    1.web.xml配置如下 <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3// ...