此文已由作者夏君授权网易云社区发布。

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

BugBash源至微软概念,翻译为《缺陷大扫除》,顾名思义是集中大家力量全面清扫Bug,确保产品质量。

下面通过5w1h分析方法谈谈BugBash活动:

What  什么是BugBash?

BugBash活动就是给项目产品找出Bug的活动。该活动主要在产品发布前,由项目主管或者QA发起,召集各种角色来体验产品,让各种类型的Bug尽早发现,Bug趋势尽早收敛。

Why 为什么开展BugBash?

互联网行业产品迭代周期短,QA与开发处于半敏捷状态,包括前期的需求评审,发起BugBash,而不只是从测试人员角度发现问题,可以集产品、项目主管、运营、甚至其他业务团队成员所有人的力量,让各种类型的BUG尽早发现,可以在项目周期短的前提下,让Bug趋势尽早收敛。尤其是移动端产品、全新上线产品,介入BUGbash是十分必要的。

注意:

不是每个迭代都需要开展BugBash,可以在大版本或者累积好几个小迭代认认真真做一次大的BugBash、发发奖品,这样可以保持大家的新鲜感。另一个是,真的觉得有必要的时候,才做BugBash。团队如果平常会主动走查、用户反馈也很积极,到也就不必特别做BugBash,我们不用为了做而做,真的是发现有价值有需求,再推动效果反而更好。比如网易金融智投组合基金的项目,QA同学与开发负责人测试时间被压缩紧张,需要调动大家一起来BugBash,反而这样大家自己参与度高,积极性更高,最后大家体验得也high。

有人会问BugBash是不是什么功能都要测?其实也有限制。例如组合基金后台交易对账清算功能、需要时间效应,用户交互无感知,需要业务底层数据逻辑,会比较难在一两个小时内众人来做测试,对于团队来说,要真的体验整个产品整个生命周期、还是要调动相关人员关注几个交易日资产状态、金额及收益变化等,会比较麻烦,反而会阻碍其他功能的试用。这类功能,一般尽量让专业QA来做测试。当然如果项目组事前准备工作妥善,当然BugBash能覆盖这类功能是最棒。

Where 在哪里开展BugBash?  

需要选择一个集中的环境,比如大培训室,这样保证大家都不被打扰和中断,能集中精力找Bug。

Who   谁来参加BugBash?

参与的人员,应该包括项目组全体成员,比如开发、测试、项目经理等等,有资源条件,也可以邀请非本部门团队来参与体验,比如会咨询用研部门的同事一同来体验产品

When 什么时候开展?

项目迭代测试一般为3个周期,建议是在上线前,QA第二轮测试结束通过后,确保线上没有重大bug影响试用、服务是稳定的状态下,可以举行BugBash。时间点我倾向于选择项目中后期,功能基本稳定后,但是也不能太晚,假设在快要发布前做Bug bash,发现的Bug没有时间得到修改,那作用也会打折扣。Bugbash的执行时间,根据项目的规模吧,我觉得可以定1个小时左右。但这边有个两难是:确实等到前面描述的状态完成后,bug bash比较正规,团队不会因为重大bug而block各环节的试用,而且是比较接近上线后用户的使用状态;但坏处是通常开发时间是很紧凑的,当到第二轮测试结束后,通常离上线也没几天,如果BugBash提出很多需求类的bug、新需求、大改动的部份,其实已经来不及在本版本实现,就会放入需求池或之后版本实现。经常最后BugBash很多提出的问题或需求都会越积越多,修复之日路漫漫。

当然解决方式,可以在提测后,就邀请产品策划、交互、视觉针对产品做个验收,确认产品是否跟设计符合,以及是否有些需求bug、新需求、改进提出,可以减少BugBash时的需求类bug的数量,及早让团队因应。

How  怎样开展?

  • 前期准备:邮件内容覆盖(时间、地点、准备工作、规则、统计BUG工具、权限是否开通等)

  • 说明测试内容:产品未实现功能告知,避免无用功。

  • 安排答疑、环境解决人员。

  • 报Bug的格式、标题内容需要说明。

  • 组织者实时播报Bug战况,营造竞争氛围,提升参与者的士气。

  • Bug结束时,组织参与者进行Bug triage,评估Bug是否修复、何时修复。

  • 组织者负责整理本次Bug bash活动的胜利成果(Bug数、Bug类型、找Bug获胜者),邮件通知参与者。

  • 为发现Bug数量最多的人颁发小礼品。

  • 统计工作:Bug Bash结束后,QA/产品主持人要统计全部issue数、有效bug数、需求数(案例见下图)。并检查是否有重复提交的问题,若有重复可以按照提交时间的先后顺序,决定这题算是谁的,或是各得一半的分数。然后再把bug跟需求区分开来。另外有些团队也可以根据提bug的价值与重要程度,给予不同奖励。当然BugBash如果经费允许,可根据不同表现,给予对应同学一些奖励,促进大家积极参与。

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

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

相关文章:
【推荐】 NOS跨分区灾备设计与实现
【推荐】 消息推送平台高可用实践(下)
【推荐】 分布式存储系统可靠性系列五:副本放置算法&CopySetReplication

BugBash活动分享的更多相关文章

  1. 社区活动分享PPT:使用微软开源技术开发微服务

    上周六在成都中生代技术社区线下活动进行了一个名为"微软爱开源-使用微软开源技术开发微服务"的技术分享. 也算是给很多不熟悉微软开源技术的朋友普及一下微软最近几年在开源方面所做的努力 ...

  2. 2014.7.12 敏捷个人奥森健步走&敏友分享会.活动报道

    今天是个阳光明媚的日子,正式开起了敏捷个人2014年每月一次的健步走&读书分享活动. 周老师一大早8点就到了森林公园南门,一边看书一边等候敏友们的到来.时间走到了9点半,大家基本到齐了,我们准 ...

  3. 云+社区分享——腾讯云OCR文字识别

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由云+社区运营团队发布在腾讯云+社区 前言 2018年3月27日腾讯云云+社区联合腾讯云智能图像团队共同在客户群举办了腾讯云OCR文字识 ...

  4. .NET西安社区 [拥抱开源,又见 .NET] 活动简报

    拥抱开源, 又见 .NET」 随着 .NET Core的发布和开源,.NET又重新回到了人们的视野.除了开源.跨平台.高性能以及优秀的语言特性,越来越多的第三方开源库也出现在了Github上——包括M ...

  5. fir.im Weekly - 论个人技术影响力是如何炼成的

    每个圈子都有一群能力强且懂得经营自己的人,技术圈也是如此.本期 fir.im Weekly 一如往期精选了一些实用的 iOS,Android 开发工具和源码分享,还有一些关于程序员的成长 Tips 和 ...

  6. 微信小程序开闸,关于入口、推广、场景的一些观察与思考

    今夜(1月9号)零点,微信小程序正式上线.在体验了很多款小程序后,我对小程序的使用场景有了更多的认识.以下是一些想法,欢迎交流. 一.小程序的"入口"在哪儿? 1.只有访问过的小程 ...

  7. Python教程大纲

    缘起:最近想在部门推Python语言,写这个blog主要就是个教程大纲,之前先列出一些资源:Python历史:http://www.docin.com/p-53019548.html          ...

  8. 深入Go的底层,带你走近一群有追求的人

    目录 缘起 自我介绍的技巧 硬核知识点 什么是plan9汇编 汇编角度看函数调用及返回过程 汇编角度看slice 正确参与Go夜读活动的方式 阅读原文 上周六晚上,我参加了"Go夜读&quo ...

  9. 如何精准实现OCR文字识别?

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由云计算基础发表于云+社区专栏 前言 2018年3月27日腾讯云云+社区联合腾讯云智能图像团队共同在客户群举办了腾讯云OCR文字识别-- ...

随机推荐

  1. springboot使用schedule定时任务

    定时任务一般会存在中大型企业级项目中,为了减少服务器.数据库的压力往往会采用时间段性的去完成某些业务逻辑.比较常见的就是金融服务系统推送回调,一般支付系统订单在没有收到成功的回调返回内容时会持续性的回 ...

  2. HBuilder 做移动端app流程

    1.新建一个移动项目 2.编写代码 3.发行-发行为原生安装包,配置参数 选择icon 和引导页

  3. Arduino ESP8266编程深入要点

    Arduino for ESP8266的话,如果不修改代码,默认没有办法进入轻睡眠的省电模式,只能进入Modem Sleep,也就是说Wifi可以暂时睡眠但是CPU没法睡,Modem Sleep最低功 ...

  4. Android给图片加文字和图片水印

    我们在做项目的时候有时候需要给图片添加水印,水寒今天就遇到了这样的问题,所以搞了一个工具类,贴出来大家直接调用就行. /** * 图片工具类 * @author 水寒 * 欢迎访问水寒的个人博客:ht ...

  5. MySQL表的碎片整理和空间回收小结

    MySQL表碎片化(Table Fragmentation)的原因 关于MySQL中表碎片化(Table Fragmentation)产生的原因,简单总结一下,MySQL Engine不同,碎片化的原 ...

  6. 数据库之存储过程-- 基于MySQL

    存储过程基本语法 create procedure procedure_name  [;number] [{@parameter data_type}[varying][=default][outpu ...

  7. cookie存验证码时间,时间没走完不能再次点击

    <script> var balanceSeconds=getcookie('Num'); console.log(balanceSeconds) var timer; var isCli ...

  8. UVA1610 PartyGame 聚会游戏(细节题)

    给出一组字符串D,要找一个字符串S使得D中一半小于等于S,另外一半大于S.输入保证一定有解.长度要尽量短,在此基础上字典序尽量小. 分类谈论,细节挺多的,比如'Z'. 其实直接暴就过了,没分类辣么麻烦 ...

  9. CF Gym 100187J Deck Shuffling (dfs判连通)

    题意:给你一堆牌,和一些洗牌机,可以改变牌的顺序,问你能不能通过洗牌机把数字为x的牌洗到第一个位置. 题解:反向建边,dfs判断连通性 #include<cstdio> #include& ...

  10. Linux学习日记:第一天

    一,登录Linux Login:test Password:123456 Last Login:Wed Dec 3 22:40:02 on tty1 test@ubuntu: startx    进入 ...