让测试人头疼的这几件“小事”

对于测试而言,测试之旅充满了有趣的挑战和宝贵的经验教训,良好的测试人懂得通过项目不断总结经验与汲取教训。而成功的产品离不开PD、开发、测试全体项目伙伴的通力合作。但在实际工作中,大家身处的项目往往不随人意,下面我总结下站在测试角度最讨厌的一些点:

1. 要求不明确。

需求是产品开发的基础。需求可以以规范与故事的形式呈现。但无论哪种方式,都应做到尽可能详细并做存档。

在我的职业生涯中,服务于多个公司,每个公司都会存在需求不明确的情况。

需求乃项目的基础,如果模糊不清,则会给开发和测试团队带来了挫败感。对于测试人员来说,如果产品需求设计不清楚,我很难知道要测试什么,最终可能会导致产品缺陷多以致质量差。

2. 不切实际的期望。

测试人员是质量的最后一道保障。每个人-公司、领导者、经理、产品经理、用户、客户和其他利益相关者都期望发布的产品具有高质量。

职业生涯中我有遇到过一种情况是这样的,当时测试团队被要求在2天内对产品进行完全测试并保证最终发布上线!

实际上该产品具有许多新功能以及很多严重的错误需要修复。

这给我和其他测试人员施加了压力,要求我们即便在发现了缺陷之后也要保优先发布。

另外,我之前做过一个项目,项目经理要求该项目需要实现100% 的自动化覆盖率。那就是-所有的测试用例都应该是自动化的。

有多年经验的测试人都知道,并非所有测试用例都可以自动化实现。实际在大家做的项目中,80%的测试用例实现自动化就已经很不错了。

3. 没有自动化测试。

测试有时候是无聊的。如果是手工测试,我们必须一次又一次地继续执行相同的测试用例。这也是我们觉得测试是一件无聊的事情。

而自动化测试是解决此问题的方法,自动化测试可以帮助测试提高效率并快速发现错误。

如果没有自动化测试,则测试同学会成长非常慢。

4. 测试环境不稳定。

测试环境很重要!测试环境很重要!测试环境很重要!重要的事情说三遍。

稳定的测试环境必须保证线下环境和线上环境的配置、DB、代码最大程度上保持一致,并且要保证随时可用(环境拉起、销毁、代码部署等)。

工作过的这几个公司,测试环境稳定性问题始终存在,但是阿里对测试环境的管理和维护是最好的,基本上可以做到随时可用。

详情可以了解我的历史文章《阿里微服务质量保障系列:研发环境知多少

为什么大家都这么讨厌不稳定的测试环境?

最根本的原因是环境不稳定增加测试噪音。讲个我工作中遇到的问题吧。

之前很多文章都介绍到了,我们公司的产品技术实现架构是微服务,所以不同的业务模块分别有不同的测试团队负责,这也导致上下游质量同学只对负责的业务比较熟悉,对于下游的业务不熟悉的问题。而上游的同学排查问题也第一反应找到应用报错对应的质量同学,因此下游的质量同学在工作中经常遇到上游抛来的各种报错。

我工作中遇到的一个情况是,上游的同学说他们的用例在x日突然都挂了,然后拿来让我定位问题。

我最终比较了用例报错前后的报文差异,发现报错的用例中,上游调用下游的接口时候,少传了一个字段,导致调用报错。我让他查看当前环境部署的代码是否是最新的代码。最后,果不其然是环境部署代码的问题,环境中的代码被别人部署了特定分支。

另一个后果就是,不稳定的环境会导致我们自动化用例发生不预期的报错,也会增加问题定位的时间。

5. 团队之间沟通不畅。

沟通为王。想必大家都同意这句话吧。

团队之间应该有明确地沟通诉求。产品团队应该明确地描述需求,开发人员应讲懂其代码实现逻辑,测试人应该准确地报告缺陷,任何偏差都会产生巨大的影响。

当参与产品开发的不同团队之间沟通不畅时,可能会导致测试出现问题。

作为一名负责任的测试人员,应该尽可能准确评估测试工作,并将这些信息提供给所有项目相关者。

6. 没有职业成长机会。

我相信个人成长是每个人在公司长期坚持的动力。

我为公司工作,同时也是为自己的成长工作。我希望公司发展壮大的同时,也希望自己能够成长。

但事实上,并非所有的测试人员在测试职业中有不断地成长机会,这可能会令人沮丧,并导致测试同学离开公司。而面对这种问题,领导和经理应该通过发放奖励、定期晋升、放权来激励团队。

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

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

相关文章

洛谷 P1135 奇怪的电梯 P1135 奇怪的电梯

提供两种思路 第一种DFS 超时第九和第十点 import java.util.*; import java.io.*;public class Main{static BufferedReader br new BufferedReader(new InputStreamReader(System.in));static BufferedWriter out new BufferedWriter(new OutputStreamWriter(System.out)…

fastjson 1.2.47 远程命令执行漏洞

fastjson 1.2.47 远程命令执行漏洞 文章目录 fastjson 1.2.47 远程命令执行漏洞1 在线漏洞解读:2 环境搭建3 影响版本:4 漏洞复现4.1 访问页面4.2 bp抓包,修改参数 5 使用插件检测漏洞【FastjsonScan】5.1使用説明5.2 使用方法5.2.1 右键菜单中&#xff…

pycharm中快速对比两个.py文件

在学习一个算法的时候,就想着自己再敲一遍代码,结果最后出现了一个莫名其妙的错误,想跟源文件对比一下到底是在哪除了错,之前我都是大致定位一个一个对比,想起来matlab可以快速查找出两个脚本文件(.m文件)的区别&#…

Anylogic 读取和写入Excel文件

1、选择面板-连接-Excel文件,拖入到视图中 然后在excel文件的属性中进行绑定外部excel文件。 绑定完之后,在你需要读取的地方进行写代码, //定义开始读取的行数 //这里设为2,是因为第一行是数据名称 int row12; //读取excel文件信…

23面向对象案例1

目录 1、计算连续表达式的一个过程 2、优化后的代码 为什么不能return resultn? 3、用面向对象的方法可以解决冗余的问题,但是还是不能解决result的值可以被随意修改的问题 4、解决不能被随意修改的问题,可以将类属性改成私有变量吗&…

1.X3-Warming up

/* 此程序使用 Boost Spirit 库来解析用户提供的逗号分隔的数字列表。它演示了如何使用 Spirit 来定义解析 器和执行解析操作,并且在用户输入时反复执行解析操作。用户可以提供一系列逗号分隔的数字,程序会检查它们 是否符合指定的解析规则。如果解析成功…

acwing算法基础之数据结构--单链表

目录 1 知识点2 模板 1 知识点 一般以指针实现为主,可以预生成N个结构体。 struct ListNode {int val;ListNode *next; };但这里以数组模拟为主。 单链表和邻接表。 双链表。 (一)插入操作 链表插入操作的关键步骤,比如在结点…

C++位图,布隆过滤器

本期我们来学习位图,布隆过滤器等相关知识,以及模拟实现,需求前置知识 C-哈希Hash-CSDN博客 C-封装unordered_KLZUQ的博客-CSDN博客 目录 位图 布隆过滤器 海量数据面试题 全部代码 位图 我们先来看一道面试题 给 40 亿个不重复的无符号…

STM32成熟变频逆变器方案

该方案是一款成熟的变频逆变器的方案,主要是把电源从直流到3相交流的转换,包含变频控制板,逆变主板,IO板,变频控制板主控是STM32F103VET6,配套软件。每一块板子都是原理图和PCB一一对应,并且配套…

gitlab版本库安装

gitlab版本库安装 下地址 https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/ https://packages.gitlab.com/gitlab/gitlab-ce此处以 gitlab-ce-14.3.0为例 安装依赖 [rootebs-139265 opt]# sudo yum install -y curl policycoreutils-python openssh-server perl […

组件封装使用?

组件封装是指在软件开发中,将功能代码或数据封装成一个独立的、可重用的模块或组件。这种封装可以使得代码更加模块化、可维护性和可重用性。在许多编程语言和开发框架中,都有不同的方式来实现组件封装。 以下是一些常见的组件封装方法和技巧&#xff1…

如何让你的程序支持lua脚本

最近做了一个控制机械臂的程序,使用C语言开发的,调试的时候总是需要修改代码来调整运动轨迹, 总是要编译,实在烦人 不过有个方法就是使用lua来调试运动逻辑 代码如下 static int lua_up(lua_State*l) {size_t stepluaL_checkinteger(l,1);//向上动作up(step);return 0; }st…

Vue路由守卫有哪些,怎么设置,有哪些使用场景?

Vue 路由守卫是在 Vue Router 中提供的一种功能,它允许您在导航到某个路由前、路由变化时或导航离开某个路由时执行代码。Vue 路由守卫提供了以下几种类型: 1.全局前置守卫 router.beforeEach 在进入路由前执行的钩子函数,它会接收三个参数&a…

bat脚本字符串替换:路径中\需要替换,解决一些文件写入路径不对的问题

脚本 set dir_tmp%~dp0 set dir%dir_tmp:\\\\\% set dir_tmp%~dp0 新建一个变量dir_tmp,存储获取的脚本当前路径 set dir%dir_tmp:\\\\\% 新建一个变量dir ,存储字符串替换之后的路径 其中黄色的\\实际上代表的是一个\

基于springboot实现音乐网站与分享平台项目【项目源码+论文说明】计算机毕业设计

摘要 本论文主要论述了如何使用JAVA语言开发一个音乐网站与分享平台 ,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,面向对象编程思想进行项目开发。在引言中,作者将论述音乐网站与分享平台的当前背景以及系统开…

全球产业链:人形机器人产业链

本心、输入输出、结果 文章目录 全球产业链:人形机器人产业链前言人形机器人架构层划分机器视觉芯片运动控制模块机身减速器机器人关节控制系统执行器零部件全球产业链:人形机器人产业链 前言 全球产业链:人形机器人产业链,涵盖了硬件制造、软件开发和服务应用等多个环节。…

Android Studio git 取消本地 commit(未Push)

操作比较简单 1.选中项目然后依次选择:Git->Repository->Reset HEAD 2.然后再to Commit中输入HEAD^,表示退回到上一个版本。

Js高级技巧—拖放

拖放基本功能实现 拖放是一种非常流行的用户界面模式。它的概念很简单:点击某个对象,并按住鼠标按钮不放,将 鼠标移动到另一个区域,然后释放鼠标按钮将对象“放”在这里。拖放功能也流行到了 Web 上,成为 了一些更传统…

【树莓派 picamera】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言https://www.cnblogs.com/uestc-mm/p/7606855.html 一、picamera是什么?二、使用步骤1.引入库2.先要安装opencv 总结 前言 想用树莓派libcamera &a…

P4451 [国家集训队] 整数的lqp拆分

传送门:洛谷 解题思路: 考虑设 f ( i ) f(i) f(i)为和为 i i i的拆分权值和,那么我们可以得到一个递推关系式 f ( i ) ∑ i 1 n f ( n − i ) ∗ f i b ( i ) f(i)\sum_{i1}^nf(n-i)*fib(i) f(i)i1∑n​f(n−i)∗fib(i)这个表达式的含义就是枚举一个数的值,由于分配率,我们…