啊胡

V1

2022/09/02阅读:29主题:绿意

测试人员如何优雅的反驳开发

昨天跟粉丝交流的时候,她提到一个问题,我觉得这是测试人员在工作中经常遇到的,所以拿出来跟大家一起分享下。以下是粉丝的原话:

这里有几个问题:

测试人员为什么经常和开发争论?

不论是从整个产品诞生的生命周期来看,还是从开发和测试人员的角色来看,产品就像开发的“孩子”,是开发一行一行代码写出来的;而测试的工作更多的是去找这个“孩子”身上的毛病。

相信应该没有人喜欢别人对自己的孩子各种挑错吧,所以开发和测试才会日常互撕!

测试和开发的常见对话如下

开发:测试就是找茬,用户根本不可能像他们那样使用软件!

测试:虽然是在极端场景下产生,但是既然出现了,就说明用户也还是有可能发现的!

开发:测试花在异常情况下的精力比测试主流程还多,一点都不分轻重!

测试:开发从来不考虑我们的感受,写完代码完全不自测就扔给我们了!

开发:我都测完了,还要测试人员干什么?

测试:连基本流程都走不通,怎么测试啊?

测试为什么提了BUG之后经常被开发怼?

常见原因如下:

  • BUG描述缺少辅助截图

    很多测试人员提BUG都是一个标题完事,这其实是远远不够的,BUG描述需增加辅助页面截图,包括报错页面截图、报错日志截图等,一方面是为了表达的更清楚,减少文字描述带来的歧义;另一方面,某些偶发BUG留下“事故现场”的证据很有必要,如果有个录屏作为证据,就由不得开发反驳了。

  • 用词不准确

    很多测试人员提BUG描述的都很模糊,比如“【xx】按钮点击没有反应”。“哪个页面的哪个按钮?”,“操作路径是什么?”,“接口有没有请求?”,“请求有没有报错?”...

    BUG描述的不清楚,用词不准确反而会增加沟通成本,效果肯定不会好。即使负责测试的同学不是技术出身,无法完全用专业术语,也要尽量把BUG和正确结果描述的清楚到位。

  • BUG指派错误

    发现BUG之后没有任何的排查,就指给前端或者后端,常见的对话就是“这个是前端的问题不要指给我”,“这个是接口的问题你指给我干嘛?” 这是最见测试技术功底的地方,测试人员的经验一般从这里体现的淋漓尽致。

    还是上面这个BUG“【xx】按钮点击没有反应”,测试人员可以先抓包确定这个BUG属于前端还是后端(方法不会的可以进主页查看「页面按钮点击无反应如何排查 APP端」),然后再提BUG,BUG标题改为“【APP端】,xx页面的【xx】按钮点击后,xx接口请求报错:xxx“,BUG描述里填写报错接口的路径,参数,以及接口响应,然后附上APP操作路径录屏,抓包接口界面截屏,如果能力强的伙伴,还可以直接在服务器端找到接口的报错日志,一并截图附上,最后再指派给后端开发伙伴。

  • 某些问题的解决方式没有变通

    测试过程中经常会有些突发情况,例如测试过程中才发现原有的需求逻辑疏漏或错误,特别是时间很紧张的情况下,此时不要慌了手脚忙着给开发提BUG,可以先拉上产品和开发沟通、听取建议,咨询有否有什么方式可以在变动最小的情况下达到目的。

    如何处理测试过程中的突发情况,也是最考验测试人员职场软实力的地方,根据不同的情况需要变通解决方案,需要多多磨练。

测试人员如何改善和开发人员的关系?

也可以称之为“如何更好的反驳开发?”

  • 提高自身业务能力

    俗话说“打铁还需自身硬”。首先,我们还是得从自身做起。不仅开发伙伴需要提高自己编写代码的能力,测试工程师也更加需要提高自己的核心业务能力。 对于测试来说,一方面,我们要充分的熟悉产品,清楚产品的逻辑,打好基础;另一方面,要提升自己的工作输出能力,例如保证输出的BUG质量,可以清晰的编写BUG的描述和步骤,排查问题,以及做好BUG复现。

  • 提高沟通能力

    测试人员面试时,很多公司也都会要求善于沟通和表达,因为高情商的表达和巧妙的沟通方式可以更快的解决问题。作为测试人员,我们在坚持自己的测试立场同时,也要有同理心,也要站在开发的角度去看问题。

    开发和测试的冲突,实际上很多都是源于大家对需求的理解不一样。所以我们和开发持有不同观点时,可以先不要直接否定他,而是找到一些可靠论点,从用户的角度出发,从软件安全性/易用性考虑,说服开发接受理解并接受我们的观点。

    此外,工作之余大家可以多沟通,多参加一些团建活动让大家更加熟悉,关系和谐了,在遇到问题时沟通起来也会好很多。

  • 推动建立完善的测试流程

    从测试的角度,可以完善用例评审过程,让开发参与认同测试的场景和步骤;要求开发提供规范的提测报告,写明改动范围和涉及功能,让测试可以更加全面的进行测试;规范开发处理BUG的过程,比如关闭BUG之前必须发通知跟测试确认,说明BUG原因,帮助测试进行BUG验证和回归测试;规范代码审核以及最后阶段的代码封禁,提高代码的质量等等。

    这些流程的推动,虽然看起来很繁琐,但是只要严格执行起来,是能够解决很多实质性问题的,可以缓解开发和测试之间的尖锐冲突。

写在最后

术业有专攻,每个人都有自己擅长的领域。

总而言之

  • 我们作为测试人员,要清楚自己的定位和职责所在,对于原则问题要坚守,不要害怕争论,争论也是达到目标的一个过程;
  • 虽然开发和测试之间存在着难以避免的“敌对”关系,但是完成好一个项目需要开发和测试的携手合作。许多开发人员认为测试人员是在故意给他们找碴挑刺,而事实上,我们都是在帮助公司的产品在找问题、解决问题,大家的目标是一致的,所以要理性地看待争论,就事论事,以解决问题为目标。
  • 在提高自己业务能力的同时,也要提高自己的职场软实力,例如沟通能力、表达能力等,有些问题也许不需要争论就能解决,共同营造一个良好的工作氛围。

最后,大家在工作中是否遇到过这些问题呢,都是怎么处理的?也欢迎评论区一起讨论!

分类:

后端

标签:

软件测试

作者介绍

啊胡
V1