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

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

各位看官,可能看到标题的你一定认为这是一篇涉嫌“炒作”的文章,亦或是为了吸引眼球而起的标题,恭喜你猜对了一半,确实是为了吸引大家的关注而起的这个标题,不过不是为了“炒作”而只是为了让更多人关注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. bootstrap table通过ajax获取后台数据展示在table

    1. 背景 bootstrap table 默认向后台发送语法的dataType为 json,但是为了解决跨域问题我们需要将dataType改为jsonp,这时就需要修改bootstrap table ...

  2. xHTML与HTML的写法有什么不同?

    全部标签都必须小写 在XHTML中,全部的标签都必须小写.不能大写和小写穿插当中.也不能全部都是大写. 事比例如以下. 错误:<Head></Head><Body> ...

  3. 2018.11.15 Nginx服务器的使用

    Nginx简单教程 1.什么是Nginx? Nginx(engine x)是一款轻量级的Web服务器.反向代理服务器及电子邮件(IMAP/POP3)代理服务器 什么是反向代理服务器? 反向代理方式是指 ...

  4. 三、详述 IntelliJ IDEA 的使用界面

    是否还记得在博文“IntelliJ IDEA 安装目录的核心文件讲解”中,这张充满神秘色彩的图片呢?进入她,让咱们一起感受她的魅力吧! 如上图所示,打开 IntelliJ IDEA 后,首先迎接咱们的 ...

  5. HDU1214 圆桌会议(找规律,数学)

    传送门: http://acm.hdu.edu.cn/showproblem.php?pid=1214 圆桌会议 Time Limit: 2000/1000 MS (Java/Others)    M ...

  6. 简单实现CombineFileInputFormat

    import java.io.DataOutput; import java.io.IOException; import org.apache.hadoop.conf.Configuration; ...

  7. 使用带有字符串的data-ng-bind

    <!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...

  8. 书籍《深入理解Spring Cloud 与微服务构建》勘误、源码下载

    转载请标明出处: https://blog.csdn.net/forezp/article/details/79638403 本文出自方志朋的博客 文章勘误 错误在所难免,欢迎大家批评指正,在文章下方 ...

  9. 关于SQLNET.AUTHENTICATION_SERVICES= (NTS) 的解释

    原文转自:http://www.360doc.com/content/12/0207/12/3446769_184740592.shtml       标题所代表的意思为 使用操作系统本地验证,一般不 ...

  10. 嵌入式:FreeRTOS的使用(未完)

    为了方便与UCOS对比,顺序按照UCOS那篇编写. 0.一些移植.系统相关 1.框架写法(个人习惯相关) 1-1.main 函数里创建一个开始任务 int main(void) { 初始化外设 xTa ...