所以对微信公众号有些怠于更新了。这里将知识星球的前期一些章节在这里分享,主要是一些对测试的误解。
从业多年,我们看到了太多对测试的误解,包含兄弟部门对测试的误解,测试行业对自己的误解,真的是见惯不怪了,甚至有的时候,你也只能苦笑而过。
- 兄弟部门对软件测试的误解
我们总是习惯了先说别人,这是一个不好的习惯,遇到事情,我们还是需要多从自身、己方来找原因,看清楚哈,是自己的己方,不是甲乙的乙方。
如下几条是非常扎心的测试人员的委屈,在现场引起了高度共鸣。
*************************************************
误解1:如果发布出去的软件有质量问题,那是软件测试人员的错
在实际的工作中,测试人员经常会被指责:为什么这个没测出来,,测试人员经常成为那背锅侠。真正印证了那句:没问题的忽略你的存在和功劳,但是出了问题,都是你的问题,你的错!
然后,我们要正视:
- 软件测试是一种有效的提高软件质量的手段
- 即使在投入上有所保证,测试也不能百分为百发现所有质量隐患
- 软件质量并不仅仅是测试出来的,Bug永远不会是测试人员制造出来的
*************************************************
误解2:软件测试技术要求不高,至少比编程容易多了
1.十几年前的测试行业是个高门槛的职业,技术要求更是高于开发,要能进行代码走读、要能从底层设计上指出设计缺陷,做外企,如微软,更是有SDET职位,薪资和要求一点都不比开发工程师的低
2.如何在有限的投入下,提高软件测试的效率和产出是一件很见功底的事。好的测试人员不仅要掌握各种测试技术,还要具备丰富的编程经验和对BUG的敏感。测试的复杂之处,除了测试技术问题之外,还有测试管理问题。
3.目前测试行业的门槛低,是整个行业造成的。任何职业的从业人员都是呈现金字塔分布的,但是近些年的底部面积拉大,尤其是互联网行业下的质量要求降低,系统质量的要求往往没有传统软件那么高,这也导致了出现小问题,不怕。门槛一降再降,甚至直接锯掉了,“凡是阻碍朕骑车的门槛,一律锯掉”。所以越来越多的同学涌入测试行业,甚至转行、跨专业等,来做一些技术要求偏低的手工测试工作。
注:2019年,我在NCTS会议演讲的时候,曾经说过,测试的地位低是大量从业人员自己造成的,也是产品趋势造成的。细细品品哈。
*************************************************
误解3:有时间就多测试一些,来不及就少测试一些
测试不是可有可无,随心所欲的。
规范化的软件开发需要对软件测试早做计划,分配必要的时间、人力和财力等资源,并将其作为项目管理的一个部分加以控制和协调。
但是在有限的时间里,我们一定要抓住核心功能、重点关注的部分,来大力投入,通过有效的手段,比如关键字、标签、功能相关性、精准测试方法等找到你需要重点关注的部分。
*************************************************
误解4:设计-实现-测试,所以软件测试是开发后期的一个阶段,也只是测试人员的事情,与他人无关
大家热衷于讨论人人都是产品经理,却很少有人愿意讨论人人都是质量人。
扯点题外话,曾经有人开玩笑,产品经理有种与生俱来的优越,让人很向往,因为好歹是个经理嘛。其实我对产品经理的期望是蛮高的,作为产品的Owner,产品定义、项目管理、横向沟通、对外销售对接等,所以真正给个经理的title,并不为过。
那么测试到底在开发的哪个阶段呢?在当下讲敏捷研发,讲DevOps,我们认为测试无处不在,贯穿在研发中的每一个地方,当然你可以把测试扩大到“质量活动”这个概念上来。
在敏捷组织转型里,有一些人会把开发测试产品放成一个Scrum团队,这是一个产品化的管理模式 ,那么在这样一个产品化管理模式里,开发测试产品在一起摸爬滚打,打造一款产品,有着共同的目标,所以要背负同样的质量任务。祖国建设不分职业贵贱,需要各个工种精诚合作。
在CICD、DevOps趋势下,我们为了加速交付,需要实现持续测试,所以会把测试/质量活动,融入到CICD的流程中去,如何时触发自动化的接口测试,何时触发代码扫描,实现部分的测试左移等等,这些都对质量活动的发生阶段提出了更多的要求。
测试人员/领导对测试的误解
每次谈到这个话题的时候,其实比谈兄弟部门对测试的误解,心情还要沉重,因为这反应出了测试行业自身的问题。自己不争气,怎么都没用,不是吗?
*************************************************
- 误解1: 测试人员的职业发展,自动化测试一定比功能测试高级吗?---好好想想,再回答!
看到这个命题的时候,不知道各位怎么看,或许有人嗤之以鼻,不以为然,心里默默的说:简直废话。
可是,我沉默了,我是多么希望有人能帮我指出这句话中的问题。
其实:功能测试和自动化测试本来就不是一个维度的东西,为什么要放一起呢?
我记得做培训现场,我讲到这个章节的时候,是对现场的同学做了一些提问的,这里也希望大家能一起思考一下,或者回忆一下你在最近的各种场合,如面试中,是如何回答的?
对于这么常见的问题和答案,大家发现了什么问题没有?
我一般遇到这种答案的时候, 会启示候选人这个答案有什么问题吗?当然,有些同学在这个时候,会有点懵。
我继而会启发,那目前的经验和后续希望的方向,有哪些区别?同学们会回答功能测试主要是日常工作,自动化测试更能体现技术水平,也是很多公司喜欢的定位。
其实,候选人的这个答案,最大的问题在从不同的维度来划分了测试种类。
和功能测试同一个分类维度里有哪些呢?
这个观点,有些测试总监也分不清,对吗?
我们一起想一想你们的测试总监是不是有时候也会说:别天天做功能测试了,做点自动化测试吧,这样对你们职业发展有帮助。
似乎苦口婆心,其实他犯了一个最根本的错误,把分类搞错了,自动化测试对应的是手工测试。
说到这里,大家是不是真的相信了,似乎你自己的回答、你领导的说法,都被我说中了吧。
*************************************************
误解2:测试开发工程师的职级问题
前几天,我关注了一个抖音公众号,说实话,我是抱着学习的心态去关注的,他一万多粉丝,做测试公众号里,算成绩很好的了吧,我认真看了他的几个短视频。
- 首先,我必须说,我不理解为什么有些公司会允许团队花费这么多时间在这上面,如果是专业运营团队,无可厚非哈,比较短视频是流量入口。然而这是一个公司内的测试团队,测试总监带着团队成员开公众号,拍视频,如果我是领导,我会不开心的,有点浪费公帑啊。前几天,恰好也看了一篇文章:“你的副业正在毁掉你的职业发展”,希望大家能好好思考。
- 自诩年薪50万,列出了自己的职业发展路径,似乎自己已经属于测试行业的头部一样,殊不知百万级的测试总监还是有一些的哈。
- 给出的一些测试知识,在我看来完全是误人子弟啊。我记得前几天,我写过他对职级的划分,让我大跌眼镜。
“今天看到一个测试公众号,上万粉丝,给定义的测试人员职业生涯的几个阶段:
0-1:初级测试工程师
1-3:中级测试工程师
3-5:自动化测试工程师、性能测试工程师、安全测试工程师
5-8:测试开发工程师、性能测试专家、安全测试专家
8年+ :测试总监
看着就来气,竟然这样划分的。我只能送一个大大的叉号 了。
我就搞不懂了,这2个职位是按照年限来分的吗,和年限有什么关系?就没有2、3年的测试开发工程师吗?他的划分真的是完全的一窍不通,完全搞不清楚:
年限是经验或者经历,而职能是分工,而至于初级、中级、高级才是职级。
靠着标榜年薪50万的测试总监,就出来开公众号,真心为为那1万多的粉丝着急。 ”
在一个组织里,各个职能分工、各个级别的工程师,是需要配合、磨合、优化的,我们希望测试开发工程师来赋能测试团队,自动化测试工程师来解放手工测试工程师的工作,甚至通过这2点来降低测试资源投入。
而评定初级、中级、高级,我们是要看一个工程师的多因素的,比如业务理解、技术深度、广度、文化推动、领导力等等。
*************************************************
误解3:测试人员的考核与培养:
最近经常有一些测试总监来找我咨询,说很困惑几点:
1.通过bug数量考核测试人员
2.不想花时间培养测试人员,因为培养好了也留不住
3.不想招聘高端的测试,担心自己的位子受到威胁
我想说:个别测试总监在我眼里,也就是个测试组长而已,目前做的事情,就是带领几个同事一起负责测试项目而已。不知道这句话会得罪多少总们,请见谅,只是希望测试行业越来越好。
如果你面临这些困惑,说明你还需要成长,当我们把困惑解决了,成长了。从不舒服,到舒服,说明你成长了。
*************************************************
From uncomfortable to comfortable
但是我们要时刻保持清醒,走出舒适区。
只有当你的下属能够成为你,你才能有机会获得更多,比如职位升迁,当然注意这里我说的是有机会,这也是为什么有些测试领导担心自己的职位受威胁,因为他没抓住那个下属成长给他带来的机会。
所以
请抓住下属成长给你带来的机会!
请抓住下属成长给你带来的机会!
请抓住下属成长给你带来的机会!
重要的事情说三遍,希望测试管理者能明白这个道理!
*************************************************
*************************************************
这个内训,当年是在非常气派的深圳平安大学,给深圳的某测试团队输出的一次培训,现场效果非常好!
平安大学是中国最早成立的企业大学之一,同时还被评为中国最美丽的企业大学。是中国国内三大企业学校之一。 占地面积20万平方米,建筑面积7.85万平方米,有多间独具特色的教室、研讨室和会议室,能同时容纳1000人学习,适合承办各类会议和研修培训班;拥有高尔夫球场等一流的康体设施,星级服务的配套酒店,以及商务中心、超市等服务设施。
这个系列课程的大纲,如下,当然不排除经过自身这3年的成长,我对一些知识点的理解或者优先级等可能会有些变化,后续会对大纲做部分调整。
一. 软件测试介绍
对软件测试的误解
如何理解软件测试
软件测试的定义
软件测试的对象
软件测试分类
常见问题分析
试用场景介绍
优缺点比较
软件测试的目的
软件测试的起点
从计划开始?
测试计划
需求分析
测试流程
软件测试的终点
报告为终点?
测试报告
客户支持
二. 不同研发流程下的软件测试
软件测试内容及主要技术
接口测试
功能测试
白盒测试用例设计方法
黑盒测试用例设计方法
健壮性测试
性能测试
用户界面测试
安全测试
OWASP Top 10 项目
可靠性测试
安装/反安装测试
瀑布式模式下的软件测试
敏捷模式下的软件测试
开发测试比例?
测试教练
自动化测试
探索性测试方法
…
多层质量保证活动
环境、系统及质量活动
代码扫描
持续集成
每日执行自动化用例集
自动化冒烟测试
三. 自动化测试框架选择
什么是“软件自动化测试”?
金字塔模型分析
软件自动化测试的优点?
自动化测试工具概述
自动化测试框架介绍(DDT、BDD、Keyword 驱动)
自动化测试使用场景
自动化测试流程及 CI 结合
四. 测试人员的职业发展及困惑
如何衡量测试效率?
在敏捷研发里,测试在哪里?
DevOps & TestOps
职业发展方向及重点
职业困惑
知识面的扩展
白盒测试有助于测试用例设计
五. 质量体系
软件质量要素
研发过程质量
软件结果质量
质量指标获取
质量数据持续改进
QA 流程规范
六. 团队管理
组建及管理团队(质量中心)
质量中心团队架构
质量中心团队职责与分工