软件测试人员如何避免成为“背锅侠”

news2024/10/7 9:17:05

在这里插入图片描述

作为一名软件测试工程师,我们的角色可以算是“战场上的后勤”,战役的胜败和所有团队人员都息息相关。

但是难免碰到战役失败后,很多团队互相推脱的局面,而测试人员就是所有团队中的弱势群体,自然是首当其冲的背锅侠!

相信你在做测试时肯定听过下面这些话吧:

“哪有这么多测试时间,你加快点测就完了”

“这么明显的bug居然没测出来,这关我们开发什么事”

“出现这么多bug,你当时怎么测的啊”

“仔细核对下需求,这个不是bug”

“这么低级的bug你都测不出来吗?,你到底怎么做测试的?”

“这么明显的bug都没测出来就让我们上线了”

“研发时间不够,你压缩一下测试时间”

“你测出问题要第一时间和我们反应啊,谁会每时每刻盯着禅道去看刚提的bug啊”

我相信很多测试猿听到这些话都会被气的直哆嗦,脾气爆一点的恨不得立马吵架,干架。

所以研发团队里谁最受伤,我说测试第二,谁敢说第一?但是在生气之余,我们得反思一下自己是否有地方需要改进,尽量减少精神内耗的发生。

你要相信世间之事总有应对之法,如果你工作感觉很累,那肯定有什么地方需要改变了。

就像我之前提到的,测试人员除了需要埋头苦干的“智商”,更需要点“情商”在所有团队成员之间斡旋,既要将测试工作做好,也要保障自己的利益。

我从事测试八年之久,形形色色的研发人员见得太多了,发生的摩擦次数当然也比走过的桥多,但我始终相信方法总比困难多,今天就给大伙分享一下个人心得。

下面列出几个比较常遇到的沟通问题,结合具体情景,给出具体对策:

01 “哪个用户像你这么操作?”

相信很多测试小伙伴老被开发这样吐槽,但是如果我们真的顺着开发去测试了,那我们测试存在的意义何在?

解决方式:

开发一般只注重需求的实现即可,而测试人员要始终站在用户的角度思考问题,在测试过程中,我们不妨将用户想象成一名“老人”。

老人可能对于很多浅显易懂的功能都是不会用的,所以我们测试时对易用性就要特别关心。

但是用户具体对哪里陌生,用起来费事,我们不可能完全知道,所以只能尽可能地去覆盖到位。

当然我们也不必过分担心,毕竟用户也是成年人,且对该系统比外行人会更了解。

但是一开始开发肯定还是一根筋地把需求实现就完事了,所以我们得在平时就给他们灌输用户至上的理念,让他们多想想用户的难点,也是给他们自己后期减少麻烦,何乐而不为?

我相信开发在你强大的PUA攻势下,肯定会有所改变,双方沟通的多了,也习惯了双方的工作方式和思维模式,那么下一次出现这个问题的时候,会更快更好的解决。

即使开发不耐烦,测试也要多多提出来这类的问题,这是帮助开发进步的一个方式。

总之:一切站在用户的角度看问题。达成共识很多问题就不会是问题了。(如果你中了头彩遇到个硬茬,说啥他都不听,那你可以第一向领导反映,第二做好沟通的记录,将来秋后算账也是维护自己利益的好证据。)

02 “你这提的bug根本无法复现”

解决方式:

如果你经常遇到开发说这样的话,那么你得好好检讨一下自己了。

首先检查自己提交的bug描述是否简洁,正确,易懂,重点是否突出,复现步骤是否精准,复现的概率;

如果你觉得你自己已经做到了这点,开发还是说这种话,那么你可以跟他当面沟通,看看是哪里还需要改进,哪有有什么误会;

如果你发现自己做的已经足够好,开发还是抛出这样的话,那么你可能需要将具体的bug给到相关人员,特别是上级去看了,以证清白了!

03 “需求没规定的怎么能算bug”

我以前遇到过一个bug,在一个OA系统登录界面上,注册时用的大A开头的用户名注册的,结果用小a输入依旧可以登录,这就是典型的未作大小写区分导致的。

提了bug给开发,开发却回到:“用户没有要求做大小写区分,所以这不用管”,这可能是客户默认的应该有的功能,只是未写到需求中,开发就以此为借口。

诸如此类的bug会有很多,所以这就很考验测试人员的经验和坚持。

解决方式:

如果遇到这类问题,首先要参考市面上主流的产品或者系统是什么样的基本功能,如果和主流的有区别那就要加以注意了。

其次呢如果自己无法确定是否要提这样的bug,可以让PM或者产品来做决定,即使他们否定了你的建议,你还是得做好记录以防他们事后甩锅。

04 “这不是代码问题,需求就这么定的”

解决方式:

所有的需求都是人定的,既然是人定的,肯定会存在异议的地方。

如果测试人员发现某处需求设置的不合理,是可以找需求人员了解清楚,为什么这么定,然后进一步和需求探讨,再看他们怎么决定。

如果你能讲得有理有据,我想先需求一般能被说服,当然很多时候是测试不太了解客户需求,反而被需求说服了哈哈,这当然也是好事。

但是如果遇到有些需求比较强势,既说不出道理,也听不进测试的话,那这种情况你可以先找领导协商一下,如果领导也偏向于需求,那只能作罢了,但还是那句话,你得把这个沟通结果和这个发现的bug记录到禅道等缺陷管理工具中,以后也有证可查!

05 “你这个bug是其他人负责的,我这边的都是正常的”

相信很多测试的小伙伴会经常发程序猿甩锅的现象,如前端推后端,后端推前端。作为测试人员夹在中间反而感到尴尬,仅凭测试人员有限的开发知识又不可能准确知道具体是谁的bug,这该如何是好呢?

解决方式:

遇到此类情况如果去找PM定夺,当然是很快能解决的,但是如果次数多了就显得我们测试很业余了。

那该怎么办呢?其实很简单,只要把开发拉到一个讨论组,把具体问题在讨论组里说一下,让他们自己认领,如果还是有问题没人认领或者互相推脱,那就只能将该bug记录下来,并和PM第一时间反馈,这样该bug即使出现在在客户面前,你都是有理的。

现将软件测试人员如何避免成为“背锅侠”总结为以下几点:

避免“背锅”是软件测试人员日常工作中非常重要的一项任务。以下是一些建议:

1. 明确责任和任务:

在项目初期,确保测试人员与项目团队一起明确测试任务和责任。

明确测试的范围、目标、计划以及各自的角色,避免在后期因为责任不清晰而产生问题。

2. 参与需求评审:

积极参与需求评审,确保对需求的理解一致,避免由于需求不清晰或理解偏差导致的问题。

3. 提前介入项目:

尽早介入项目,确保在需求和设计的早期阶段就开始测试相关工作。这有助于早期发现和解决潜在问题。

4. 详细记录测试过程和结果:

在测试过程中,详细记录测试用例、执行过程、环境配置以及测试结果。

通过详细的记录,可以追溯问题的来源,避免因为信息不足导致的责任争议。

5. 及时报告问题:

发现问题后,及时向开发团队和项目管理人员报告问题。

不要将问题留存在测试环节,及时沟通问题有助于避免问题扩大化。

6. 合理评估测试时间:

在测试计划中合理评估测试时间,确保有足够的时间进行全面的测试。

过于紧张的时间安排可能导致测试遗漏或质量不足。

7. 建立良好的沟通渠道:

与开发团队、产品经理和其他团队成员建立良好的沟通渠道。

开放式的沟通有助于及时了解项目进展和发现问题。

8. 定期进行进展汇报:

定期向项目团队和管理层汇报测试的进展情况,以及已经发现的问题和解决方案。

及时的进展汇报有助于项目团队全面了解测试工作。

9. 主动学习和提升技能:

持续学习新的测试工具、技术和方法,提升自己的测试技能。

通过不断提升技能,能够更好地应对各种测试挑战。

10. 参与项目总结和复盘:

在项目结束后,参与项目总结和复盘,分析测试中发生的问题,提出改进意见。

这有助于总结经验教训,为下一个项目做好准备。

11.谨慎接受任务:

在接受任务时,要理性评估自身的能力和项目的风险。

谨慎接受任务,避免因为无法完成任务而被迫承担责任。

12. 与团队协作:

与团队成员保持良好的协作关系,共同解决问题。团队的合作和协同努力有助于项目的成功。

通过上述建议,软件测试人员可以更好地规避责任风险,确保测试工作的质量和有效性。

 

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

  1. 文档获取方式:

  2. 加入我的软件测试交流群:680748947免费获取~(同行大佬一起学术交流,每晚都有大佬直播分享技术知识点)

这份文档,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

以上均可以分享,只需要你搜索vx公众号:程序员雨果,即可免费领取

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1574853.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

34.Python从入门到精通—Python3 正则表达式检索和替换

34.从入门到精通:Python3 正则表达式检索和替换 repl 参数是一个函数 正则表达式对象 正则表达式修饰符 - 可选标志 正则表达式模式* 正则表达式实例 检索和替换repl 参数是一个函数正则表达式对象正则表达式修饰符 - 可选标志正则表达式模式*正则表达式实例 检索和…

JAVA并发编程(一)

JAVA并发编程(一) 1.1JAVA线程API 1.1.1currentThread package com.lisus2000.thread;/** * 当前线程 * */ public class Test07 extends Thread {public Test07() {System.out.println("new Test07()......" Thread.currentThread().getNa…

全网短剧搜索前端源码开源分享可改自己的接口

全网短剧搜索前端源码 内含7000短剧资源(不支持在线播放) 源码全开源,可以修改成自己的接口 178、226、347行修改 源码免费下载地址抄笔记 (chaobiji.cn)https://chaobiji.cn/

HarmonyOS实战开发-如何实现蓝牙设备发现、配对、取消配对功能。

介绍 蓝牙技术是一种无线数据和语音通信开放的全球规范,它是基于低成本的近距离无线连接,为固定和移动设备建立通信环境的一种特殊的近距离无线技术连接。本示例通过ohos.bluetooth 接口实现蓝牙设备发现、配对、取消配对功能。实现效果如下&#xff1a…

小秦网站部署上线

叮~您有一份消息,请注意查收! 小秦个人网站终于上线了: 网站主要有:免费听歌、看小姐姐、AI女友、留言板等功能,建议收藏、收藏、再收藏、重要事情说三遍!!! 网站&#x…

【Angular性能优化】项目8版本加载速度缓慢、白屏时间、首页渲染性能优化方案

前言 随着业务的代码一点点增加,加上Angular的项目本身就比 vue、react 的重一些,随之而来的启动速度,更改文件后编译速度,以及打包速度也会变慢,于是乎想着优化下我们的项目。 本文章主要说的是 : 打包Angular项目的一些配置,性能优化方面的方案打包后,用户进入页面…

vitepress系列-02-设置自定义的首页

文章目录 设置自定义的首页进阶版设置首页 设置自定义的首页 初始首页效果: 设置成自己的首页,更改config.mts和 docs/index.md文件: 设置版权 export default defineConfig({lang: en-US,title: "东东爱编码的技术博客",descrip…

Linux进程状态深度解析:探索进程的生命周期

文章目录 一、引言1、进程的概念与重要性2、Linux系统下进程状态的意义3、进程状态与系统性能的关系 二、Linux下进程状态概述1、Linux进程状态的分类2、进程状态信息的获取方法 三、Linux下进程状态详解1、运行状态(Running)2、可中断睡眠状态&#xff…

笔记 | 软件工程:需求分析

1 需求分析 #需求分析 1.1 需求分析概述 初步软件需求存在的问题:不具体,不清晰,关系不明朗,存在潜在缺陷,没有区分不同软件需求(有必要鉴别不同软件需求项的重要性差别,区分不同软件需求的开…

Spring——框架介绍

每一个Java技术中都会存在一个“核心对象”,这个核心对象来完成主要任务为了得到核心对象,需要创建若干个辅助对象,从而导致开发步骤增加JDBC中 JDBC 核心对象——PreparedStatement 通过DriverManager得到数据库厂商提供的Driver对象DriverM…

VMware Esxi安装群辉系统

群晖的网络存储产品具有强大的操作系统,提供了各种应用程序和服务,包括文件共享、数据备份、多媒体管理、远程访问等。用户可以通过简单直观的界面来管理他们的存储设备,并且可以根据自己的需求扩展设备的功能。总的来说,群晖的产…

每日一题(leetcode1026):节点与其祖先的最大差值--dfs

考虑到只能计算祖先之间的节点差而不能计算兄弟之间的节点差,所以思考使用dfs来解决该题。 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), ri…

bugku-misc 啊哒

拿到题目得到一张图片 尝试查看属性看到照相机型号 应该是加密字符,用010打开图片查看源码 文件结尾看到50 4B,是压缩包形式并且看到flag.txt 猜测是文件包含 kali用foremost尝试分离图片 得到zip文件,打开显示需要密码 想到一开始图片属…

搭建python编译环境

目录 1.安装依赖包 2.安装失败进行换源 3. 更新系统 通过C 语言调用 Python 代码,需要先安装 libpython3 的 dev 依赖库(不同的 ubuntu 版本下, python 版本 可能会有差异, 比如ubuntu 22.04 里是 libpython3.10-dev &#xff09…

Cypress自动化测试开发指南!

cypress是基于JavaScript语言为编写语言的自动化测试开发工具,配合使用cucumber测试开发框架,以node.js为服务进程,可以简单的帮助测试人员完成需要人工手点的所有页面人机交互操作,可以模拟键盘和鼠标输入,快捷完成ca…

未来的技术发展趋势

文章目录 前言一、人工智能技术势必聚焦安全能力二、单云环境逐渐让位于多云环境三、后量子密码或将在美大范围普及总结前言 2023 年,与网络空间安全息息相关的人工智能等技术发展迅猛,新的信息安全时代已然拉开大幕。在目睹了 ChatGPT、“星链”和量子通信等技术展现出的巨…

血细胞检测数据集 | 用于血细胞计数+检测的小规模数据集_已经整理成VOC格式_总共410张图

项目应用场景 面向血细胞检测计数数据集,已经整理成 VOC 格式,可以直接用于目标检测算法的训练,如 YOLO 等目标检测算法的训练。血细胞检测数据集图片质量好,可直接训练出一个血细胞检测模型,或者作为血细胞检测数据集…

头盔检测 | 基于Caffe-SSD目标检测算法实现的建筑工地头盔检测

项目应用场景 面向建筑工地头盔检测场景,使用深度学习 Caffe SSD 目标检测算法,基于 C 实现。 项目效果 项目细节 > 具体参见项目 README.md (1) 安装 Caffe SSD(2) 执行训练 sh examples/Hardhat/SSD300/train_SSD300.sh (3) 部署算法 项目获取 h…

Mysql索引总结(1)

文章目录 InnoDB索引与MyISAM索引实现的区别是什么?一个表中如果没有创建索引,那么还会创建B树吗?B树索引实现原理(数据结构) InnoDB索引与MyISAM索引实现的区别是什么? MyISAM的索引方式都是非聚簇的&…

前端学习之DOM编程案例:全选反选案例

代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>全选反选</title> </head> <body><input type"checkbox" id"all">全选<ul><li><…