测试|提高处理BUG效率第一步:提高测试工程师排查BUG能力

背景:

一家主要是做一款APP的公司,公司技术部门有三个组:爬虫组、服务端组和APP客户端组。

事实回放:

1)每次运营或产品提出一个BUG给到测试工程师后。

2)测试工程师就会凭感觉和经验(而不是技能判断)判断这个BUG是哪个组,判断之后就会把这个BUG指派给该组的负责同事A。

注意:我们的绩效是按照每个团队每位同事产生的生产BUG去扣分的。

3)接收到这个BUG的开发同事A开始排查问题,花了半小时排查完之后发现这个BUG不是我这边的问题,于是就又丢给测试工程师,同时责备测试不应该把不是他的BUG指派给他,一来浪费他的时间,二来又影响他的绩效。

4)测试根据开发同事A的各种排查描述,得知这个BUG可能(是的,可能)是另一个组的开发同事B的问题,于是测试就把这个BUG指派给开发同事B。

5)接收到这个BUG的开发同事B开始排查问题(每个组的开发排查方式未必相同),顺利的情况下,最后排查得出这个BUG确实是我的。

6)开发同事B开始处理BUG,处理完之后给到测试验收,直到BUG关闭。

流程图如下图1:

图1

在这个过程中,还有隐形的多种问题:

1、验收在接收到测试工程师指派的无法确定是否是需要我处理的这类BUG时,会一直让这个BUG挂机在那不做处理,原因很简单,我花半小时去排查这个BUG,很有可能这个BUG不是我的。

2、开发经常性怼测试工程师,你怎么证明这个BUG就是我的?我就是不处理!还有你为什么总是把不是我的BUG指派给我?而测试工程师的回怼总是无力的“我怎么知道这个BUG是不是你的?”。

3、在互相扯皮的过程中,严重降低了“测试-研发”的合作效率。

处理方案:

孔子曰“其身正,不令而行;其身不正,虽令不从”,对于测试工程师来说,打铁还需自身硬。提高测试工程师排查BUG的能力势在必行。

当测试工程师拿到一个BUG时,可以通过APP抓包和查找数据库表的方式排查这个问题到底是那个开发工程师的。

举例:在APP上有一张图片无法正常呈现出来,而这个图片是由爬虫工程师采集过来的。

处理:

1)测试工程师先通过抓包的方式找出这个图片相关的HTTP请求内容,如果这个请求内容里面的图片URL为空,那么这个BUG很可能就是爬虫在采集数据或入库数据时出了问题,找出共性和规则给到爬虫工程师去处理。

2)如果这个图片URL是有值的,并且这个URL可以正常打开,但是这个URL的格式不是OSS的格式(服务端会把外面的图片保存到我们的OSS环境中),那么这个问题就是服务端在保存图片时出了问题,找出共性和规则给到服务端工程师去处理。

3)如果这个图片URL的格式是OSS,并且可以正常打开,但是只是在APP上无法呈现,那么这个问题就是客户端在显示图片时出了问题,找出共性和规则给到客户端工程师去处理。

如果测试工程师可以做到这样的话,BUG提交和处理的流程变成如下图2所示:

图2

当然,在这个过程中,测试工程师一要提高自己排查BUG的准确度,二要提高自己排查BUG过程可以给开发做参考的可用度。

扩展:

“作为一名软件测试工程师,需要具备哪些能力?”需要具备的能力很多,但是我觉得排查BUG能力是最重要,最有效,也是最容易被忽视的一点。

测试工程师的主要职责包括质检和质控,质检的东西大家都说的很多,质控的就比较少啦,我在这里也提一下。

质控一:上游工作质控

在产品刚立项、进行需求确认的时候,测试人员就会参与进去,仔细地Review需求,看需求是不是完整、有没有漏洞,这个时候还没有进入正式开发,修改需求对于项目组来说代价是最少的。在这个环节,测试人员凭借缜密的推演、发散性的思维,往往能发现很多需求的漏洞,提高了项目的整体效率。

另外,测试人员在完成测试计划、测试用例以后,会邀请开发、产品一起评审测试用例,在这个环节,由于测试人员把每个需求如何细化测试都体现在了用例里面,就相当于再次把需求分析了个透,往往还能发现很多需求的漏洞。这也是提早发现需求漏洞的有效环节。

质控二:下游工作质控

在产品完成了测试以后,就是发布的环节了,测试人员在发布的环节也能发挥作用。首先,测试人员为了部署测试环境,研究自动化部署的技术,可以把上线部署的环节也自动化,以前需要2个小时的部署环节压缩到半个小时甚至更少,而且更加准确可靠。

如果有些版本修改比较多,上线的质量风险大,测试人员会跟产品一起制定灰度发布的方案并在技术上进行实现,让版本先面向一小部分用户开放,如果发现Bug了,影响的用户也比较小,Bug改掉以后,再逐渐扩大用户范围。

另外,优秀的测试人员还会发动项目组的其他人一起来保证项目质量,比如推动开发进行代码Review;引入冒烟自测流程,让开发先自测以后再提交给测试做冒烟测试;通过在项目组分析Bug,让开发提高自测,降低Bug数量等;引入策划、交互、视觉在测试阶段进行走查等等各种措施。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏福利活动清单

新用户有哪些优惠——腾讯云篇

满200减150 / 满500减375 / 满1000减750 / 满2000减1500

1.6K2
来自专栏用户2442861的专栏

教你阅读Python开源项目代码

作者:董伟明 链接:https://zhuanlan.zhihu.com/p/22275595 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,...

4391
来自专栏jouypub

数据仓库之ETL实战

ETL,Extraction-Transformation-Loading的缩写,中文名称为数据抽取、转换和加载。

5861
来自专栏ImportSource

服务之美-读《微服务设计》笔记全集(一)

最近在微信读书上读《微服务设计》一书,目前读了30%多了,其间想法有点多,现分享给大家。

1402
来自专栏人工智能

微信机器人-Python学习日志(1)

一直以来,这个号发的都是《狼人杀小程序的开发日志》,体现产品的思路比较多,从纯技术的角度看其实并没有很精彩。这次,来讲讲我在其他方面的探索吧。 众所周知,微信公...

5298
来自专栏phodal

如何看待 GitHub 上许多笔记、面经等获得过多的 star?

文章来源于,我在知乎相关话题上的回答。问题大意是:SQLite 和 SQLAlchemy 项目的 Star 比许多学习笔记、面经还要少。

1071
来自专栏企鹅号快讯

PHP 霸主地位被动摇,JIT 是穷途末路后的绝地反击?

关键时刻,第一时间送达! 摘要:PHP 是 Web 开发最常用的语言,自创建以来,PHP 语言经历了许多激烈的改进,其中性能是开发人员在评估新版本时考虑的主要标...

2597
来自专栏后端技术探索

性能优化模式(纯干货!!)

性能优化涉及面很广。一般而言,性能优化指降低响应时间和提高系统吞吐量两个方面,但在流量高峰时候,性能问题往往会表现为服务可用性下降,所以性能优化也可以包括提高服...

1384
来自专栏喔家ArchiSelf

来吧, BlueTooth Mesh

期待已久的蓝牙网格(BlueTooth Mesh)网络技术终于可以应用了。 蓝牙技术联盟在2017年6月份正式发布, 在现有的蓝牙网络拓扑(点对点、星形和广播)...

892
来自专栏瓜大三哥

MIG例化技巧

Unbuffered DIMM,定位于桌面市场,指地址和控制信号没有经过缓冲器,没有做任何时序调整(缓冲器延迟是有的),直接到达DIMM上的RAM芯片。而Reg...

1165

扫码关注云+社区

领取腾讯云代金券