ccbyoujian 发表于 2023-10-4 20:01:06

作为一名软件测试工程师,需要具备哪些能力?

作为一名软件测试工程师,需要具备哪些能力?

macroblue 发表于 2023-10-4 20:01:28

如果只是想成为一名低薪的测试工程师,只要掌握功能测试就可以。
但是如果想成为一名高薪的测试工程师,那就要打造你的不可替代性。

http://picx.zhimg.com/v2-af3ca39d4dac2ca4f9ec720650648bce_r.jpg?source=1940ef5c
可是,你可能会说:“我现在就是个普通职员啊,我就是个普通人,我目前还没有什么不可替代的能力怎么办?”
“要说能力也有点,但也只能让我有份温饱的工作,我该如何打造稀缺性,让我的价值变得更大呢?”
打造稀缺性其实有两个方法:
方法一:成为第一;
方法二:成为唯一

世界上最好的手机是哪个?
苹果!
那第二好的是哪个呢?
你可能就没办法一下子说出来了
为什么?
因为人们根本不关心,如果我能看到最好的,能用到最好的,我没必要选第二等的。
因此,走“第一”这条路不是不可以,但是对于普通人而言就是比较难,遇到的挑战会非常大

方法二:成为唯一
如果某个需求,全世界只有你一个人能解决,那就直接不用比了,因为就你一个人,你就是第一名!
那如何才能让自己成为唯一呢?
刚才那句话听着好像开玩笑啊,全世界那么多人,怎么可能某个需求,只有你一个人能解决呢?
其实,我们中的绝大多数人,都有成为过「唯一」的经历:
你曾经是某个人的「男(女)朋友」
世界再大,Ta的眼里也只有你!
在那一刻,你就是Ta的唯一!
就是Ta的命中注定!
就是Ta的70亿分之一!
可关键问题是,你是怎么成为对方的「唯一」的呢?
每个人在寻找伴侣的时候,都有一些条件标准,比如:
长得好看些
性格温柔些
嗯...得大学毕业
一个城市的,不想异地
她正好也喜欢我
…这些条件,每一个看上去都很普通,但是每个条件其实都会筛选掉一大部分人,最后就几乎只能剩下一个了。
大龄单身青年是如何炼成的?
不是因为要求高,而是条件太多了!每一条都需要符合,筛完就没了...[笑]
好,我们回到今天的话题上来,如何让你成为最稀缺的人才呢?
我们把择偶条件换成「能力」:
假设平面上有100个点,代表一百种个人能力
如果你会其中一种能力
那100个人里,就有一个和你会一样的;

http://picx.zhimg.com/50/v2-e5457ca8bbf0c0f480e683bbd9da237b_720w.jpg?source=1940ef5c
如果你会其中的两种能力,概率是多少呢?
任意两点的组合数量=100*99/2=4950
也就是4950个人里,才会有一个和你一样,也同时也会这2个能力
如果你同时会其中的三个能力呢?
任意三点的组合数量=100*99*98/6=161700
也就是说在16万人里,才会有一个人和你一样,同时会这3个能力!这就非常稀缺了。
每多一个能力,你的不可替代性将会大幅度增加!
所以,让自己变得稀缺最好的办法,就是让自己拥有多维度能力!

但多维能力要发挥价值,需要2个重要的前提条件:
第一,每个能力至少都是有价值的,也就是别人是需要的
第二,每个能力之间要有关联
比如乔布斯,将科技与艺术结合在了一起,创造了世界上最漂亮的计算机和手机。
但我画画很好,踢足球也不错,王者荣耀打的也很好,但因为不满足上面的两个重要前提条件,所以不能称为多维能力。
所以作为测试工程,如果想高薪,就必须让自己具备多维能力。作为一名想高薪的软件测试工程师,至少具备两方面的多维能力。一方面是技术能力,另一方面就是管理能力。其余能力,还待其他网友拓展,我这里就算抛砖引玉了
<hr/>接下来我们来详细讲解如何打造这测试领域的技术能力和管理能力:
1.技术能力

1.1基础技能
首先,需要具备一定的计算机基础知识,如计算机的基本操作、软件的使用安装等,这是从事软件测试工作的必备的基本技能,在一定程度上也能提升测试工作的实施效率。
案例1:在测试过程中需要编写测试用例、测试报告等文档,需要操作Excel、word、xmind等文本文档,如何调整文档格式、换行、缩进等操作?
http://picx.zhimg.com/v2-b265b0c3d96a22607c7e7513bbe9f7ca_r.jpg?source=1940ef5c
案例2:测试过程中会用到各种工具,有些工具是需要安装的,安装过程如何选择下一步,安装完毕之后做哪些配置等?

http://pica.zhimg.com/v2-1ed80ca760baf2197eeab034e5cb8f6f_r.jpg?source=1940ef5c

如何满足基本计算机技能?可以通过下列3个方法

[*]自己查阅资料学习基础技能
[*]不断的练习总结
[*]多和有计算机技能人沟通交流

1.2.软件测试技能

a.软件测试理论知识


http://picx.zhimg.com/v2-d67bae212e5399018608b6c254d43eb4_r.jpg?source=1940ef5c
软件测试理论知识是开展测试工作的理论依据和支撑,是测试很重要的阶段必须掌握的技能。测试理论本身的理解掌握往往通过案例反复练习思考理解的过程。理论阶段包含的核心知识内容有如下:


http://picx.zhimg.com/v2-fc12b1670d096d5abb85f0d09e422eb7_r.jpg?source=1940ef5c



[*]软件的质量模型:软件测试过程保障软件的质量,从哪些方面保障可以从质量模型出发思考
[*]测试分类:软件测试过程可以按照不同角度进行分类,基础测试到高级测试递进过程
[*]开发流程:告诉测试人员一个软件完整的生命周期,软件从无到有到消亡的过程
[*]测试流程:告诉测试人员在实际项目中如何开展测试工作
[*]测试计划与方案:如何规划在项目中开展测试活动,确保测试活动有序进行
[*]设计用例方法:黑盒测试阶段必须掌握的一些测试用例的设计方法
[*]软件缺陷:在测试执行过程中应该确定缺陷并进行提交缺陷报告
[*]缺陷管理:提交缺陷后在实际工作中如何和开发协助处理验证提交的问题
[*]测试报告:测试过程的回顾和结果确认总结

推荐视频如下:
1)北京校区-《功能测试_6天黑马手工测试2021版》 密码:ghpr
本视频b站链接:https://www.bilibili.com/video/BV1QM4y137xX
2)北京校区-《测试入门_3天黑马手工测试理论+6天实战完整分享_适合0基础》 密码:ehlv
本视频b站链接:https://www.bilibili.com/video/BV1at4y1Y7AN
3)上海校区-《移动端App测试_最新2020教学视频》20.12.6日更新密码:gpin
本视频b站链接:https://www.bilibili.com/video/BV12o4y1k7Kb
4 ) 北京校区-《1天禅道工具使用》密码:e4n3 (此免费视频对应上述6知识点)
本视频b站链接:https://www.bilibili.com/video/BV1t541147Zk
5) 北京校区-《1天软件缺陷与JIRA》 密码:zx38(此免费视频对应上述6知识点)
本视频b站链接:https://www.bilibili.com/video/BV1DU4y1w7tX
6) 实战视频-《两小时快速入门黑马头条APP功能测试实战》 密码:36gj
本视频b站链接:https://www.bilibili.com/video/BV1oQ4y1N7E2
7)实战视频-《实战项目带小白入职7-12k功能测试岗位,仅7小时【史上最快】》密码:yn8r
本视频b站链接:https://www.bilibili.com/video/BV1kw411o756
b.Linux技能


http://pica.zhimg.com/v2-14c3a9701e4c0045f573aa5c2aedafd3_r.jpg?source=1940ef5c
linux阶段知识主要是对软件测试过程中前置的知识技能的验证,该阶段技能主要体现在测试环境项目部署搭建,在测试过程中定位分析服务器端问题,后续开展自动化测试过程中必要的shell的脚本编写能力。

http://picx.zhimg.com/v2-ea87ee6353a466a85569731f27d1ade5_r.jpg?source=1940ef5c
推荐视频:《2天linux视频2020完整版》 密码:3e5z
本视频b站链接:https://www.bilibili.com/video/BV1vk4y1r7cW
c.数据库技能

http://picx.zhimg.com/v2-1c7087161d0407e5fe2767a11d46b075_r.jpg?source=1940ef5c

数据库作为软件系统必备的应用系统,在功能测试过程中往往需要操作数据库,验证数据正确性完整性,都离不开数据库的增删改查操作,在项目部署阶段数据库还需要配合项目部署。在性能测试、接口自动化测试中都需要数据库的支撑。


http://pica.zhimg.com/v2-afa8cff7027ad0e0f785036911048b0c_r.jpg?source=1940ef5c
推荐视频:《4天mysql视频教完整版分享2020版》密码:6ca9
   本视频b站链接:https://www.bilibili.com/video/BV1gK411W7Y6d.自动化技能


http://pic1.zhimg.com/v2-96b16c89cfc01c644240f2d368bcd53d_r.jpg?source=1940ef5c

自动化测试是作为测试工程师发展提升的必经阶段,学习自动化知识前提是必须掌握一门开发语言,如果是入门级别,推荐大家从python入手,同时python能够支持很多平台的应用;如果有一定开发基础,可以从Java入手,毕竟占据着开发界的半壁江山。不论选择哪门语言,最后需要集合对应的框架才能玩转自动化。常见自动化分为如下:


http://pica.zhimg.com/v2-b9c4382e790a1c8dbc9f2240c569d041_r.jpg?source=1940ef5c
一、接口测试
《4天接口视频教程2021版》   密码:zavh
本视频b站链接:https://www.bilibili.com/video/BV11g411V7Kf
《3天小程序项目2021版》   密码:m5iy
本视频b站链接:https://www.bilibili.com/video/BV12Q4y1C7Wf
《Python实现接口自动化测试视频》密码:pat9
本视频b站链接:https://www.bilibili.com/video/BV1uz411q7Pg
《python实现头条项目接口自动化测试实战》密码:ok5w
本视频b站链接:https://www.bilibili.com/video/BV1va4y1i76B

二、性能测试
《4天带你入门性能测试2021版》      密码:wi59
本视频b站链接:https://www.bilibili.com/video/BV12Q4y1C7Wf
《性能测试工具LoadRunner入门》密码:773i
本视频b站链接:https://www.bilibili.com/video/BV1dt4y1y7TM
《自动化工具Jmeter_入门到进阶6小时搞定》密码:xae3
本视频b站链接:https://www.bilibili.com/video/BV1ty4y1q72g

三、web测试
《6天UI自动化2021版》密码:51es
本视频b站链接:https://www.bilibili.com/video/BV19Q4y167Qo
推荐视频:《8天web自动化入门教程》 密码:xest
本视频b站链接:https://www.bilibili.com/video/BV1eZ4y1s7BY
四:移动端测试
《0基础入门移动自动化Appium框架》密码:qdto
本视频b站链接:https://www.bilibili.com/video/BV11p4y197HQ
《Appium进行IOS真机自动化测试》      密码:1how
本视频b站链接:https://www.bilibili.com/video/BV1tT4y137bD
《软件测试项目_6天黑马头条测试项目完整分享_首次公开》更新 密码:qcr3
本视频b站链接:https://www.bilibili.com/video/BV14f4y1v7vNe.平台自动化
这是专家级测试的目标,测试不仅仅是局限于完成某个任务,而是从测试产品化角度出发,把测试工作作为一项平台化的操作,只需要完善平台应用,将需要的需求、用例、目前输入到平台实现自动化的测试执行、自动化的测试输出,测试人员只需要监控测试实现过程。当然这个级别需要系统化的测试、开发、架构、运维等技能的支撑,目前实现起来的难度复杂度比较大。
最接近平台自动化的岗位就是测试开发。若想了解什么是测试开发,可以狠狠点击下方链接
测试开发需求量持续井喷,黑马侧开课程大纲免费分享-黑马程序员技术交流社区1.3.软件测试工具

工欲善其事必先利其器,测试工具在上述阶段都会用到,选择一款合适的工具能够让测试工作如虎添翼 工具的选择看个人对于工具的属性程度,结合项目的阶段测试的需要,选择适合的工具使用即可。对于工具的使用应该会贯穿于上述每个阶段的测试过程中,前期需要学习如何使用工具,帮助测试过程中快速实现测试结果。


http://picx.zhimg.com/50/v2-3e712e2c175af9b9152aa1de5f2fb17b_720w.jpg?source=1940ef5c
若想获得上述软件,请狠狠点击
工具篇-学软件测试所用软件(学软件测试必备软件全都有)2.管理能力


http://pica.zhimg.com/v2-4d7198566b58fdad0ca434e93894fb70_r.jpg?source=1940ef5c
正如上述案例中出现的问题,软件测试工具是一个综合性很强的岗位,不仅仅需要你已经具备一定的技术能力,还需具备团队合作及处理团队中各种各样问题。
若你想往高薪发展,此时就需要具备一定的管理技能。
这些能力的学习需要学习一些软技能,结合自身的为人处世经验总结,发现每个人的特点和优势,通过个人魅力和公司福利等方式,可以激发每个人的工作热情,发现别人的优点,委婉支持修改不足,团队会越来越好。
我将测试管理人员具备的技能总结如下。

http://picx.zhimg.com/v2-5648d3efb4de0655581ce981fe556922_r.jpg?source=1940ef5c
抛砖引玉,希望其他网友能够继续补充。
愿大家在走向测试高薪岗位的道路上,有一个方向。

--------------------------------------------------------------------------------------------------
最后,为方便大家自学软件测试,特意给大家准备了一份13G的超实用干货学习资源,涉及的内容非常全面。
包括软件测试学习路线图,黑马50多天的上课视频、16个突击实战项目,80余个软件测试用软件,37份测试文档,70个软件测试相关问题,40篇测试经验级文章,上千份测试真题分享,还有2020软件测试面试宝典,还有软件测试求职的各类精选简历,希望对大家有所帮助…..
2020软件测试学习路线图,内附视频教程+自学路线+工具+面试篇-黑马程序员技术交流社区
敲字不易,如果此文章对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。
<hr/>黑马精华知乎文章推荐

一、测试前景类

软件测试有前景吗?
软件测试行业到底有没有前景和出路?
软件测试工程师的工资有多高?
软件测试这个职业能干多久?
软件测试真的干到35就干不动了吗?
自动化测试的发展前景怎么样?相比于开发,测试的技术含量是否偏低?测试人员提升自身竞争力的速度是否没开发快?
软件测试的岗位会越来越少吗?
测试开发是什么?为什么现在那么多公司都要招聘测试开发?
国内的软件测试那么不受待见吗?
二、测试择业类

二十五岁零基础转行做软件测试怎么样?
本人女,想转行做软件测试,没有任何经验,也没有基础,现在已经毕业两年了,25岁,现在转行来得及吗?
女生学软件测试,容易吗,这个工作会不会压力很大?
软件测试员比软件开发员要求低些吗?
软件测试的魅力何在?您为什么选择测试一行而不做开发?
软件测试的工资高还是开发者工资高?
软件开发和软件测试两个岗位应该选哪个?
为什么软件测试相比软件开发薪酬待遇差别那么大?
软件测试适合女孩子吗?
男27,想转行互联网,是学习软件测试好,还是前端编程?
三、测试入门类

作为一名软件测试人员,有哪些网站是你应该多多关注的,哪些书籍是你必须要看的?
作为一名软件测试工程师,需要具备哪些能力?
软件测试人员怎么快速让自己牛逼起来?大概要多久才能很牛逼?
大四应届毕业生,想自学软件测试,要学到什么程度才能找到工作?
如何系统、高效地学习入门软件测试,并能找到软件测试的工作?
零基础想转行做软件测试,可以吗?
软件测试需要学什么?
想要成为一个优秀的软件测试人员,应该学些什么?
零基础如何通过学习进入软件测试行业?
在校生想成为软件测试工程师自学需要学什么?
新人如何入门和学习软件测试?
自学软件测试怎么学?
怎样做好软件测试
测试分为什么,白盒,黑盒,单元,集成测试?
在国外,资深的软件测试人员大多是手动测试,他们厉害之处在于测试用例的设计,但在国内,很多测试人员都把自动化测试当成很厉害的资本,为什么?
作为软件测试的前辈你能不能给我点建议?
我想问一下,软件测试要学会什么才能拿6k以上的工资?
学习软件测试有哪些推荐的网站,希望各位知友帮助?
28岁女失业,想从零学习软件测试,还来得及吗?
大四女生,软件测试岗,对测试也不太了解,编码能力也不行。不知道未来该如何规划,如何系统性学习测试呢?
没有软件测试经验的计算机毕业生如何准备面试测试工程师这一职位?
一个无经验的应届生,可以做软件测试吗?
完全未接触过软件测试的人,培训两个月就可上岗,这现实吗?
测试开发是代表懂测试的开发还是懂开发的测试?
今年30了,做了5年的软件测试,只会功能测试的怎么办?
学习软件测试需要掌握哪些知识点呢?
四、咨询培训类

软件测试培训靠谱吗?
这么多的软件测试培训机构,哪个好?
传智播客(黑马程序员)培训软件测试怎么样?
五、测试求职类

怎么的技能可以让软件测试工程师获得高薪?
面试软件测试工作,如何回答:为什么要从事软件测试行业?你觉得你会什么?
如何去面试软件测试工程师?
好的软件测试人员简历是什么样子的?
四年手动软件测试,裸辞后找不到工作怎么办?
明天去面试软件测试,给我些建议,或者面试题预测?
测试工程师面试题,你都遇到过哪些呢?
最近在找实习。面试软件测试时,面试最想听到的答案是什么?
六、技术分享类

如何编写测试用例?
手机软件的测试主要有哪些方面去测试,性能测试用什么去测试好?
如何做好app的测试工作?
软件测试完后,还有BUG,是测试人员的问题吗?
如何写出高效的软件测试用例?
做接口测试的流程一般是怎么样的?
软件测试人员能用python做哪些事情?
软件测试的环境部署怎么做?
如何做接口测试呢?接口测试有哪些工具
求推荐几款http接口自动化测试工具?
单元测试到底是什么?应该怎么做?
想学习LoadRunner,有没有好的资源(书籍、视频或网站)?
七、职场提升类

做了大半年的软件测试,可是觉得我在浪费时间,怎么办?
四年测试工程师经历,下一步转开发还是继续测试?
软件测试工程师应该怎样提高自己?
转行软件测试两个多月,感觉很迷茫,下一步该如何提高自己?
四年手动软件测试,裸辞后找不到工作怎么办?
做软件测试,如何才能实现月入20K?
如何学习自动化测试?
一个菜鸟怎样做好功能测试?
作为软件测试人,所在公司部门只有功能手动测试,如何进一步提升自己?
作为一个初级测试,想学接口测试,但是一点头绪都没有。求教大神指点,有没有好的书或者工具推荐?
做了一年的软件功能测试,想转自动化测试。目前在看了一些Python资料,感觉无从下手,求指导?
手工测试人员如何转测试开发?
已从事软件测试一年,感觉依然很菜,只会基础的功能测试,想进一步学习,有没有好的建议呢

冷白 发表于 2023-10-4 20:01:44

技能上需要掌握如下知识:
很多新手,不知道软件测试学习该如何开始,软件测试需要掌握哪些知识。下面是根据本人的理解,粗略整理的一个学习大纲,希望对刚入行或者准备学习测试的朋友提供一点指引。
— 1 —
测试基础理论
软件测试基础理论是软件测试的重要基石,首先,要了解常见的软件开发流程及模型,主要了解敏捷开发相关知识。然后,要学习软件测试的定义、分类、测试的流程、测试用例编写方法以及缺陷(bug)的管理及生命周期。其次,要了解web端和app的常见测试点和测试方法。最后,要会编写常见的测试文档,如bug单,测试计划、软件测试报告等。

http://pic1.zhimg.com/v2-9d185d41cbde83957757c6218e28f991_r.jpg?source=1940ef5c
软件测试初认识(一)软件测试初认识(二)测试工程师必须要知道的开发模式--敏捷开发软件测试初认识(三)软件测试初认识(四)黑盒测试用例设计方法一黑盒测试用例设计方法二APP功能测试要点WEB功能测试要点软件测试学习之经典书籍推荐— 2 —
数据库学习
软件前后端的交互,本质就是数据的交互,不管是功能测试、接口测试、性能测试、自动化测试等,都离不开数据库的支撑和使用。这一部分,主要了解数据库的基本概念,数据库SQL增删改查,常见的表操作语句,以及数据库工具(Navicat)的使用。

http://picx.zhimg.com/50/v2-4f580c85f6c3110dccc232ba662a4f8a_720w.jpg?source=1940ef5c
数据库基础之MySQL不要被长SQL吓到,深刻理解SQL执行顺序数据库学习之SQL查询详解— 3 —

Linux使用
linux系统是主要的服务端操作系统,作为软件测试工程师,我们常常需要在服务器端查看日志,从而定位问题的源头。当然,更多的场景是,我们需要在linux系统上搭建测试环境。这些都需要我们掌握基本的linux系统知识,熟悉常见的命令及工具。

http://picx.zhimg.com/v2-9e5883e14ddc279f2bc8fb099cfd27c4_r.jpg?source=1940ef5c
吾非同:软件测试工程师必须要掌握的linux命令linux基础分享一linux基础分享二linux基础分享三linux基础分享四linux基础分享五— 4 —

接口测试
接口测试本质也是功能测试的一种,通过脚本或者工具,模拟客户端对服务端接口进行调用。因为是从接口层测试,所以能更早的发现问题,从而提高测试效率,降低修复成本。

http://picx.zhimg.com/50/v2-a8fdeb30a03b1cf70ec5e8248d2c6743_720w.jpg?source=1940ef5c
接口测试基础全知道一文搞懂HTTPS协议Cookie和Session知识扫盲谁才是接口测试工具的"C位"?快速掌握接口测试利器Postman关于Jmeter的这些概念你必须知道快速学习Jmeter之参数化Jmeter接口测试之参数关联python之unittest框架实现接口测试的一个简单实例— 5 —

性能测试
性能测试的技术要求很高,不仅仅要对性能测试的指标、测试分类、测试设计有很深刻的理解。还要学习系统业务和架构相关知识,这样才能更好的设计性能场景,分析出系统的性能瓶颈。性能测试常用的工具有jmeter和loadrunner,大家可以根据需要进行学习。

http://picx.zhimg.com/50/v2-413f4fea1e59a22913948f6d8d9ba31d_720w.jpg?source=1940ef5c
性能测试基础概念了解一文搞懂全部性能指标Jmeter五步实现性能测试性能监控万能命令之top周杰伦发新歌《说好不哭》,程序员却哭了,来分析下性能测试的必要性?— 6—

自动化测试
学习自动化测试的基础是掌握一门编程语言,个人优先推荐Python,其次Java,并且还要掌握一定的前端知识。另外,还要掌握相关的自动化测试工具selenium、appium等,当然还要掌握常用的自动化测试框架。对于接口自动化测试,如果用python实现的话,则需要掌握requests库和unittest框架的使用。

http://picx.zhimg.com/v2-f5b6b65f5463e15fdb3328a240087f54_r.jpg?source=1940ef5c
Python基础知识思维导图|助你快速入门Python编程一文搞懂Python自动化测试框架(资源帖)快速入门web自动化之selenium学习送你一张selenium全知识思维导图,快来收藏吧!功能测试工程师的自动化学习之路— 7 —

其他
这部分主要测试需要掌握的公共知识,比如版本控制以及持续集成等。


http://picx.zhimg.com/50/v2-f712d6f5ccee2106adeb575c35274d44_720w.jpg?source=1940ef5c
持续集成快速入门Git快速学习-End-
后续会继续优化这个测试技能图谱,希望对大家的学习有帮助。
如果觉得文章有用,欢迎点在看,转发,感谢!
非技术能力
1.良好的沟通表达能力,有耐心,态度诚恳。
2.有逆向逻辑,会进行发散思考。从不同角度分析软件的缺陷,设计不同的测试场景。

http://picx.zhimg.com/v2-5352c9bda58ef9d11420709b29829d02_r.jpg?source=1940ef5c
<a data-draft-node="block" data-draft-type="mcn-link-card" data-mcn-id="1257394514480078848">

时代电脑 发表于 2023-10-4 20:02:32

2022年,软件测试行业还值得入行吗?
行业的现状及前景

那么处于2022年,软件测试这个行业又将如何发展呢?我谈一下几点,如果你处在这个行业,一定能体会到我说的对不对。
这里为你准备了500G软件测试教程资料,包括用例模板、计划模板、报告模板、性能调优、自动化教程、测开模板、简历模板、面试技巧、大厂真题等!点击下方自行获取:
[*]表面"衰落"的测试行业
鉴于过去的大形势变化, 不懂技术的测试工程师会逐渐被淘汰出局. 一波测试工程师的失业潮是在所难免的.

虽然早期我也呼吁身边的人赶紧脱离落后的业务体系, 脱离落后的测试技能, 但是看到很多人越来越生活艰难, 也是挺心痛的.
包括测试工程师的需求越来越少, 招聘职位也越来越少, 典型的新崛起的巨无霸公司比如facebook早期都没有QA.
甚至前几年一度有QA团队是否值得存在的争论. 表面看起来是测试行业衰落了.
有趣的是大家讨论QA团队是否值得存在的初衷, 是为了更好的保证质量. 这还是挺耐人寻味的.
绝大多数的公司, 都是非常支持QA部门的存在的, 问题在于QA团队的存在的价值到底是大还是小.
过去陈旧的测试体系, 落后的测试人员能力, 冗长的测试流程是被整个IT行业诟病的一个关键.
当研发的生产力在逐渐的提升, 运维的部署在逐渐的自动化, QA所带来的价值和耗费的成本就越来越不能忽视了. 甚至成为了一个项目的最大的成本.
这是任何一家公司都无法忽视的问题. 早年阿里巴巴的高管曾经集体去硅谷拜访新崛起的巨无霸, 得到的结论就是他们的流程和执行力比国内强很多. 甚至facebook早年都没有QA就成长为大公司了.
所以阿里就迅速推动了流程的裁剪. 这部分包括裁撤SQA, 裁撤需求分析师, 裁撤项目经理, 削减QA名额. 进入产品, 研发, 测试三足鼎立的最简模式.
QA会不会被撤掉也取决于这个部门的价值. 所以不要想当然的觉得"存在即合理", 现在部分的公司已经在试验"无QA"的模式了. 互联网唯一不变的就是变化
比如一个典型的例子, 在搜索, 推荐, 机器学习等方向的算法测试是很重要的领域, 是需要专业的测试工程师参与的. 这个行业能容纳很多的测试团队.
但是测试行业这些年就没形成对这个领域的正确测试方法, 结果最后丢失了这个市场. 现在都是研发自己保证了. 因为找不到合格的测试工程师去保证这个业务.
同样在性能测试领域也是如此, 随着性能测试平台, 全链路压测, 性能监控, AB Test, 云压测这类技术和服务的出现, 性能测试工程师的需求也会缩小.
越来越多公司里的性能测试都已经变成研发主导了. 丢失了这块的业务, 性能测试QA的需求量自然会受影响.
一定要记住, 业务空间决定QA的生存空间, 这是所有行业都通行的道理.
如果你不能满足业务需求, 就会被淘汰出局, 要么选择退守防御要么选择勇于接受挑战
那测试行业的未来是什么样的那, 很多人会担心. 不过我还是整体乐观的.
因为我喜欢整个行业, 这些年也一直在进行不断的思辨. 说下我的看法
如果你是测试在职,觉得自己技术不错,这边组建了一个2022年名企大厂测开岗位内推群,去年已经内推200+的同学进入大厂,最高的年薪达到70W+,点击下方进入内推通道:2. 测试从业人员的规模
从业人员规模跟生产力负相关, 跟业务规模正相关. 以后能有多大取决于技术和业务规模的双重因素.
首先是大环境因素, 随着各种行业的互联网化, IT行业在扩大, 外卖, 美甲, 甚至是无人机汽车航天产业都将成为科技公司.
研发的队伍会扩大, QA的队伍自然也会整体扩大. 前提是QA自己要跟得上时代.
其次是随着生产力提升自然就不会需要这么多人的. 哪个行业都这样, 测试行业并不特殊.
就跟汽车行业一样. 早年堆人, 然后堆工具, 堆技术, 上机器人, 改进流程.
行业技术改进, 测试技术改进, 测试工具和测试服务的改进, 都会一定程度提高了测试效率, 减少了成本. 这种改进会导致QA的团队更精炼高效.
人数多意味着大家的价值跟富士康工厂里的工人一样廉价. 追求高附加值才是正确的路. 这对公司和测试团队都是双赢的.
第三个因素是行业地位. devops的流行是推动了研发和运维的密切合作. 一旦这个阶段完成, 产品的生产部署会非常的流畅.
随之而来的就是问题会越来越早的暴露, 大家对质量会更加的重视. 到时候就会进入一个新的时代, DevQA.
运维逐渐会管道化, Dev和QA会成为新的主角. 只是到时候能撑大局的不一定是现在的软件测试工程师了 会是新时代的测试工程师.
测试行业会越来越专业. 人才, 技术, 工具, 开源平台, 服务会越来越多. 越来越完善. 术业有专攻, 专业化分工仍然是大趋势.
技术层面上也会有创新. 以前的测试只能留下测试用例和业务知识文档 没有什么连续性积累.
随着接口测试, 质量监控, 覆盖率分析, 业务建模等技术的突破, QA也会形成自己稳定可积累的业务数据, 并逐渐形成自己的平台和业务.
业务空间+技术门槛的双重因素是我坚信QA部门能长期存在的一个核心因素.
3. 测试行业的管理会逐渐扁平化
几乎大部分的互联网公司都在分拆业务和QA团队从而提高执行力. 所以管理上百人的总监职位会越来越少, 而管理百人以下的总监会越来越多. 不排除少量的巨无霸仍然没有改变. 或者有些烧钱的初创公司倒行逆施. 其中这些测试管理者会遇到一些新的挑战, 比如更高层是研发出身居多. 不懂研发体系几乎没有发展空间了. 测试管理体系失去了上层建筑, 对未来的影响还是深远的. 会有阵痛, 但是结果肯定会是好的
4. 测试技术人才需求增多
原因是多方面的.
大公司因为分拆的问题. 不再有统一的测试技术支撑部门, 所以分拆之后的每个团队都需要组建对应的职能团队, 对测试技术人员的需求反而会增多.
中小型公司也苛求质量保证效果, 不止是要好, 而且要求更快, 也需要大量的技术人才. 这几年通过各种招聘网站的招聘job的描述也能看得出来.
5. 外包测试的灾难和新生
原来做欧美日韩外包业务的公司会因为国内互联网的发展逐渐式微, 他们需要转型做国内.
但是国内对外包业务也大多排斥, 而且外包业务在效率沟通管理上都有诸多弊端. 其自身也无法承载对测试工程师的培养和长期发展. 所以这几年会有大量的外包测试工程师转型.
这方面需要有新的优秀的外包服务公司.能做到有自己的测试服务, 测试技术和高级的测试研究工程师才行.
比如东软也开始做自己的各种云测平台之类的, 就是一种为了迎合新时代的变更.
6. 不懂开发的测试工程师已经是新时代的文盲
第一个是工作上已经没有太大的晋升空间. 第二个是也很难跳槽. 最好的结果是凭借多年的经验转管理.
我跟行业的很多测试经理交流过, 大部分工作超过6年的人, 在测试执行上会倦怠, 在测试技术的改进上已经无法入门, 还不如招实习生.
相对来说, 有技术基础的人在工作8年以上仍然会保持自己的学习热情.

所以未来测试团队的架构基本会是多数业务测试工程师+少数测试专家+测试经理的管理模式.
以前不识字的是文盲, 后来是不识英文的是文盲, 在继各国呼吁加强对IT技术的重视后, 新时代的文盲就已经快是不懂开发的人了.
testerhome社区的成立的初衷就是希望唤醒整个行业对测试技术的重视.
7. 测试行业的门槛增加
以前处于发展期, 行业对人才的苛求是第一位的. 现在随着大公司发展稳定, 招人已经稳定了.

他们基本只在211院校校招. 社招也看学历. 初创公司多是融资烧钱为主, 在学历上和阅历上也是看的很高. 能够不拘一格降人才的公司会越来越少.
我之前推荐了不少同学去其他优秀的公司, 其中有一部分同学就是技术不错, 但是学历未过关. 所以希望大家技能和学历上能够好好的重视这个问题.
除了学历门槛, 如上一条所说技术门槛也存在. 所以加油吧, 少年!
8. 测试行业的薪资在提高
测试行业经过自身的净化洗涤会有新生. 典型的变化就是薪资从以前的3k-15k的范围, 整体提升到1w-3w之间.
技术含量的提升, 责任的提升必然会带来整体的回报. 现在只要技术好, 学历没问题. 工作3年拿个两三万的月薪是很平常的.
后面会详细说薪资的方面。
9. 研发工程师进入测试领域
这些年整个行业对测试行业的发展非常不满意, 通俗点讲, 大家都觉得测试很Low, 但是又不能没有。
研发提交项目给测试的心情就跟以前过年要去火车站排队买票一样. 要申请测试资源, 给测试讲解业务和实现, 遇到比较low的或者新入职的, 连搭建环境都不会还得手把手教.
研发只是修改一行代码, QA或者测试那边就炸锅了.各种流程足以让研发头发都能掉好几根.
作为参考对比, 再思考下运维. 当年部署个环境跟提交测试很像. 要申请运维的介入, 要申请机器资源, 然后提交部署文档, 还要明确基础环境, 依赖库等各种细节的版本号.
遇到本地行发布环境不行之类的问题还得跟运维撕逼. 当年运维行业还流行着一句, "人"才是最关键的发布保证者.
而现在随着持续交付和devops的流行. 发布都已经做到"丝般柔滑"了, 一键发布,自由选择灰度,平时的发布甚至都不需要运维参与.
尝试了新模式的甜头后, 对测试行业的弊端已经很难忍受了.
所以在优秀的测试工程师和架构师难找的情况下, 已经有越来越多的公司选择直接用研发工程师来顶了.
他们的追求很简单. 单测->接口测试->基础的冒烟测试, 能够做到自动化就可以了. 如果能像运维那样做成测试即服务就更完美了.
那么说成为一名软件测试工程师要学习哪些内容呢?

针对0-3年的软件测试工程师必备技能,如果你想升职加薪,这些核心技术你必须掌握!

绝对不是泛泛而谈!建议收藏或关注,日后去验证。
文章主要针对技术专家路线,关于管理路线的情商、管理能力在这里不讨论
我根据薪资的不同,划分成以下几个阶段具体说一下:

[*]月薪5-9k:从零基础入门到能够找到工作
[*]月薪15-25k:测试在职搞定性能测试和自动化测试
[*]年薪30W+:搞定测试开发,进入一线大厂
第一个阶段:月薪5-9k,刚刚入行,先学会功能测试!

可能你是刚毕业的学生,也可能你是打算转行进入软件测试这个行业,那么首先以下基本的理论你是必须要掌握的:
软件测试的定义、生命周期、工作流程、需求分析;
测试用例的设计、编写、评审;
bug的基本知识以及禅道的使用;
测试计划、测试报告的编写;
SVN、Git版本控制工具的使用;搞定上上面的这些基本必备内容,就已经知道可以做具体的实战内容,这个时候最好是先找一个web测试项目去做一下,假如一个项目拿到手之后,按照下面的一套流程跑一遍:
发布项目进行立项,建立项目组进行分工;
需求评审,学会如何看需求文档,进行需求分析,罗列测试点;
整理测试点,编写测试用例,然后进行用例评审;
执行测试,比如功能、界面、前后台、兼容性、数据库,对于发现的bug提交到禅道;
分析、总结、编写测试报告;这个流程完整的跑一遍之后,只能说对于整体的测试流程算是掌握了,但是仍然不足以找到一份合适的工作,想要学会做功能测试,以下的内容也是必须掌握的:
Linux相关技能
操作环境、命令、安装数据库、部署测试环境等数据库相关技能
各种命令用法、字段、增删改查接口测试相关技能
接口测试基本理论、http协议、测试方法;
接口测试需求分析、用例编写、评审;
几种工具的掌握,jmeter、postman、soupUI;APP测试相关技能
安装/卸载、离线、UI、登录等测试内容;
兼容性测试、monkey、fiddler抓包;OK,搞定了这些,恭喜你已经可以投出你的简历去寻找一份测试的工作了!
简历不会写?文末帮你解决这个问题!
如果你已经入行了,且能够正常上手业务了,那么你就要思考第二个问题:如何获取更高的薪资?
第二个阶段:月薪15-25k,搞定性能、自动化测试,独当一面!

都说自动化玩好了很牛掰,但是性能测试才是互联网企业的核心痛点!
对于性能测试,业界很多都是在“耍流氓”,举个栗子:
我拿到了一份“流氓”的性能测试报告,上面只写了响应时间、TPS是多少,然后罗列了一下压力机基本配置情况,比如40个并发相应时间是5秒,TPS是260。
那么,我该怎么判断这次性能测试的有效性:
1.场景是否合理?
2.压力是否传递均匀或者传递到指定目标?
3.是否有干扰因素,或者说那些数据是否有效?
4.有没有一些可信的判断方法?
这些问题的出现,其实就是反映出了目前在做性能测试的一些误区:

[*]只测不调,无法给出研发和运维人员执行建议
[*]无法定位问题,缺乏清晰的逻辑和数据证明价值
[*]性能测试工具≠性能测试
[*]性能测试技术体系落后(loadrunner),急需拥抱开源软件
如果要搞定这些问题,那么性能测试你得这么去学:
性能测试的概念和流程
常见问题剖析、流行工具、方案设计性能测试工具
jmeter工具的使用、实战;
jmeter多协议、拓展与定制;
分布式压测与任务调度;性能监控
性能监控体系与监控数据采集性能实施
分布式服务压测,场景设计、场景执行
测试结果关联分析,TPS、响应时间、线程关联分析,压力和资源使用率关联分析性能分析与报告
jvm调试与系统调试
性能瓶颈分析
http://picx.zhimg.com/v2-d0474cdc0e01d99d7cbef0c5b1ca01de_r.jpg?source=1940ef5c
搞定这些,你完全可以很自信的和面试官说自己精通性能测试!
性能测试你能到这个程度,15k那是妥妥的了,如果下面自动化测试的学习内容你能够掌握,那就可以直接冲击月薪25k!
搞定Python或者Java语言,建议先从Python入手
基本的语言知识,语法、函数、模块、输入与输出、面向对象编程
脚本编写、标准库、多线程、第三方库,外部数据处理
unittest、pytest测试框架、参数化、数据驱动web端的自动化测试
selenium安装、录制、处理
web控件、JavaScript脚本、PO模式移动端APP自动化测试
appium使用、录制、元素定位方法
APP控件定位、交互,参数化用例
appium问题定位分析、源码分析、二次封装服务端接口自动化测试
接口自动化测试框架request
接口请求构造、断言
json/xml请求、响应断言
headcookie处理、认证体系
http://picx.zhimg.com/v2-520ac576efbc83ffbb6e8125264323a5_r.jpg?source=1940ef5c
上面这些说的是性能和自动化测试的学习路线和内容,搞定这些,基本上在这个行业,月薪2万以上是非常轻松的事情了!当然如果你想成为技术专家,或者想带领技术团队进行实施落地,那么请你接着往下看,关于年薪30W+的测试开发需要学习哪些内容:
完善测试技术体系
Linux、docker、shell、SQL、Python/java打牢自动化测试技术基础
web自动化测试
selenium测试框架
PageObject设计模式、原则、演练APP自动化测试
Android自动化测试框架
appium高级应用于原理剖析
APP自动化测试实战
测试框架封装改造
ios自动化测试移动专项测试
健壮性测试、弱网测试、崩溃检测、耗电量分析等
移动端性能测试
移动端安全测试接口自动化测试
接口协议与抓包、代理技术与mock
接口自动化测试框架、HTTPrunner测试框架
dubbo接口自动化测试
接口管理工具swagger、接口安全测试docker容器技术
docker容器、docker镜像持续集成/持续交付/devops
jenkins持续集成
Jenkins持续交付
http://picx.zhimg.com/v2-50d57f9b48b2de4f39a832291eaf0b55_r.jpg?source=1940ef5c
以上内容绝对不是泛泛而谈!建议收藏或关注,日后去验证。
如果你是测试在职,那么相信文章后半段的内容,你一定能够看到其中的价值所在!毕竟按照这个路线和内容去学习的同学,已经进入了BAT等一线的名企,目前最高级别是阿里P7,年薪最高是60W+!
软件测试工程师的“生命周期”

聊完了行业背景、发展趋势和学习内容,接下来聊一聊关于你自身的发展规划。
注意,接下来聊的就关系到你的薪资了!
产品的生命周期是从准备进入市场到淘汰退出市场的全部过程,一个软件测试工程师的职业生涯的周期也是这样。如何把“生命周期”的每个阶段都最大程度的利用好,是我们每个软件测试从业者都应该关注的问题。
1. 入门阶段
这个阶段你或许是刚从学校毕业,也或许是从其他行业转行,就会对软件测试行业产生一系列的疑问,比如前景怎么样?薪资高不高?加班多不多?零基础应该如何学习?需要学会哪些技能才能找到工作?
其实这些都不重要,重要的是你一定要搞明白这个行业是做什么的,你是否适合这个行业。
前些年培训大热的时候,很多同学听到“前景很好,互联网薪资高,不用写代码,不用加班,越老越吃香”的吹嘘,便一股脑的投入到这个行业来。干了几年,钱没挣到,技术也没有沉淀,混不下去只能再次转行。
如果你像题主一样,还没有进入这个行业或者刚开始了解,那么几个问题你一定一定要进行思考:

[*]你是否能够接受互联网行业的工作节奏?
[*]你是否真的热爱这个行业,起码有足够的热情愿意去钻研?
[*]你的学习能力是否能够让你在日新月异的技术浪潮中不掉队?
首先作为互联网行业,必然会有加班,即使不是996,也必然会有紧急任务或者上线,问下自己是否能够接受这样的工作节奏。如果赶到要上线了,通宵也是常有的,第二天早上你下班了,你的同事刚刚拎着早餐上班。
其次,如果你对这个行业有者基本的热情,或者说不讨厌这个行业,那么起码你能够有动力去钻研,去自我驱动,这样才能保证你的工作对自己不是一种煎熬。
最后,互联网行业,技术日新月异,能够在软件测试这个行业长久的走下去,必然要不断的学习。如果讨厌学习,或者上进心比较差,那不建议你进入这个行业。
如果上面3个方面都没有问题,那么恭喜你可以进入下一个阶段。

http://picx.zhimg.com/v2-70683358863e6ec9be910f822ab73731_r.jpg?source=1940ef5c
2. 初级阶段
到了这个阶段,你已经开始上手做测试了,哪怕是最基础的点点点,你也已经知道互联网企业测试流程是什么样子了,可以说这个时候是你最朝气蓬勃的时候。
你在工作中遇到问题时的窘、遇见大神时的敬仰,都会转化为你努力求知的动力。阅读书籍、看公开课、逛论坛,你的各种知识和技能会在这个阶段急剧扩充。
但是这个时候,也尤其要注意不要病急乱投医。
这个阶段我不建议基础没有打牢,就开始学习自动化,最后啥也没有搞明白。业务能力才是最重要的,自动化玩的再溜,也只是个辅助。基础不牢,地动山摇。

http://picx.zhimg.com/v2-67bd7d8e4e10f2e5487050a6aa4c5048_r.jpg?source=1940ef5c
3. 中级阶段
这个时候的你,或许已经做测试有1-2年的时间了,很多工作也得心应手,薪资也基本稳定,技术上知道的也比较多,但是仍然感觉自己什么都不会。
对,你缺少某个方向的深入研究!
处于软件测试行业的中级阶段,必然要面临的一个问题就是我该朝哪个方向去深入发展。自动化还是性能?Python还是Java?APP还是web?
我以我的经验给你一点建议:

[*]关于发展方向
无论APP测试也好、web测试也好,或者想研究自动化,或者想专精性能,都是可以的。没有什么所谓的好不好,重要的是你喜不喜欢,如果你觉得性能做着心累,没有自动化测试有成就感,那就一门心思去研究自动化测试。只要往某个方向专精,一段时间后你就可以成为大神。

[*]关于语言选择
以前我专门写过一篇关于软件测试工程师语言选择的回答,简单来说,就是刚接触的时候,可以选择Python,上手更快,更加灵活,到了高级阶段,应对更大的业务形态,还得学会Java。做技术的,会很多种语言很正常。

[*]自动化测试还是性能测试
对于自动化测试,不要被其牵着走,不要过分夸大作用,也不要为了自动化而去自动化。
性能测试某种程度上会比自动化更难搞定。代码、运维、计算机原理、数据库、业务等等,你都要搞懂。写脚本或者执行都还好,难的是性能分析和调优。当然如果这个阶段你对自己的要求还不是很高,那么掌握性能测试的基本流程和简单的性能分析就可以了。更多的比如搭建压测环境、监控性能指标等等,还是要在实战中去积累经验的。
对于这两个方面,我建议都去学习,因为目前的招聘需求,都已经是标配要求。

http://picx.zhimg.com/v2-0389d9c84261595378d0d477b7890afb_r.jpg?source=1940ef5c
4. 高级阶段
如果你已经是软件测试行业的老油条了,那相信你很多“坑”都已经踩过了。
到了这个阶段,可以说是软件测试工程师的最大的职业发展瓶颈。业内的大神们,也都是突破了这个阶段,才获得新的发展。
一般在这个阶段,会面临3个方向的发展:

http://picx.zhimg.com/v2-861c8666ccf1ea4c2605bdfcbb53a88c_r.jpg?source=1940ef5c

[*]技术专家
这条路较为坎坷,但是也最为抗打。如果你不善于人际关系,不问世事,又对技术有这浓厚的兴趣,那么建议你走技术这条路。平时多撸代码、多和开发沟通,写一些测试平台或者测试工具。同时开发能力也要不错,这样才能成为一个高阶的测试开发工程师。

[*]管理方向
做技术累,做管理更累,因为和人打交道是最复杂的。既要协调上下级的关系,又要统筹安排好各项工作。如果喜欢走管理路线,不要脱离业务只做管理,建议做一名技术管理,在带领团队的同时,不断的提升自己的技术。一方面技术不行很难服众,另一方面也是锻炼自己落地一些团队方案的能力。虽然说管理的“生命周期”比纯技术会长一些,但是一定不能放弃技术。

[*]转行其他
研发、产品、运维,或者创业,都是面临瓶颈之后的新的出路。其中尤其是创业,不要草率,见过太多创业失败又回来上班的,啥都折腾没了。

http://picx.zhimg.com/v2-d682ea85fbe2c6a3ceb51f796b1b0f2e_r.jpg?source=1940ef5c
软件测试工程师的核心竞争力是什么?

薪资不能完全代表你的能力,但是能够代表你的实力。
我从互联网薪资等级入手,谈一谈该如何提升自己的核心竞争力。
1.薪酬数据参考
我根据人才的基本属性并用实际的例子总结, 按照8年跨度. 总结了行业的一些典型人才的现状. 为了保密, 我模糊了相关数据. 与真实情况会有偏差.

http://picx.zhimg.com/v2-42dc509bfb07429fa286cd2446a23736_r.jpg?source=1940ef5c
我手里也有更多的数据, 我也一直想搞个决策树模型, 但是一直没完整的做出来. 这次就先简单列举这几个典型的案例吧.
2. 职业上升的关键因素

[*]技术能力决定了你的薪资增长加速度. 在月薪1w到3w中间. 技术能力助力会较多.
[*]管理能力决定了你的薪资阶层. 月薪2w-5w是管理层基本薪资. 后面的要靠公司的股票和奖金
[*]业务能力决定了你的地位和长期回报. 对业务的把控决定你在团队的影响力和重视度. 也关联期权和股票的数量.
[*]运气和选择决定了你的人生轨迹. 选择的好就能获得最大回报.
[*]股票或者期权回报是超过工资的. 选择一家靠谱的可持久的公司很重要.
作为个人发展, 我的建议是扎实的提升你的技能, 培养好你的人脉和软实力. 至于运气和选择不用焦虑, 如果你有能力, 自然会有高人拉拢你. 比如之前就经常有朋友联系我, 说是XX公司要发期权了, XX公司要上市了, 跟我们一起干吧. 人品好, 技术好, 大家都会喜欢与你为伍的。
如果现在的你还是处于比较初级的技能阶段,建议你可以从以下几个方面逐步的提升自己:

[*]软实力:
1、不达目的誓不罢休,研究问题搞不明白就不放弃,这是你的职业精神,也是决定你能否具备钻研能力持续成长,我们的校长思寒老师,有时候半夜研究出来一个问题,还在群里很开心的说他研究出来了,人家都是架构师了,还这样呢。
2、耐得住寂寞,可能在你刚进入测试行业,很长一段时间你的能力也提升不上去,有时候工作有是比较重复,觉得自己没有价值。但是只要方向是对的,量变终究会引起质变。
3、学会沟通,学会与开发沟通,学会与产品沟通,学会与团队沟通,还有就是学会与你自己沟通。
4、不断学习,不要吃老本。
软件测试工程师35岁以后怎么办?

35岁干不动,都只是借口而已。
能干的,依然能够很好的在这个行业发展,干不了的,注定会被一浪比一浪高的后浪,拍死在沙滩上。我身边一堆做测试开发的、自动化或者性能测试的大咖们,基本上都是35+了,怎么能说35+干不动呢。
所以,按照我前面说的,尤其是职业规划和核心竞争力那里,尽早的对自己进行规划和提升,确定好目标,坚定不移的走下去,所谓的职业瓶颈,是困不住未来你这位大牛的!
另外关于职场,也有一些过来人的经验想要啰嗦一下:
职场建议


[*]切莫在不该有的年龄追求权利
这会断送你的整个前程. 在一些面试场合, 如果面试官问你愿不愿意做管理, 如果你回答是, 那么面试基本就挂了.
一定要确认面试你的人是不是真的希望你走管理路线. 大多只是测试你是不是真的是个实干家.
过早参与管理工作也会导致个人技能发展的不健全. 这会为以后带来隐患.
过于追求权力必然也会引发办公室政治和各种利益斗争. 所以请谨慎面对这个毒苹果。
[*]在薪资和工作机会之间做合理的权衡
每家公司都有自己的薪资体系. 你要参考这个数据来合理的确定自己的薪资, 不要有幻想. 不要觉得别人因为某次成功的忽悠拿到多就懊恼.
一个优秀而扎实的工作经历会让你受益一生, 会为你的简历增光不少. 对于这种机会降薪也值得去.
一个合理的节奏是1-2年主要是积累能力. 能糊口即可. 2-5年可以适当的跳槽追求更好的待遇或者更闪光的工作履历. 五年以上就是物色好的机会一飞冲天了.
如果跳槽太多, 一些大公司也会非常的在意, 会影响你的面试. 比如工作经验不到一年或者两年就跳槽的人, 很容易被BAT认为轻浮。
最后再次奉上500G软件测试教程资料,包括用例模板、计划模板、报告模板、性能调优、自动化教程、测开模板、简历模板、面试技巧、大厂真题等,一定有你需要的!点击下方自行获取:福利福利:

最近大厂又在裁员,裁员的同时也在招人,可以肯定的是,进大厂比以前更难了。除了学历要求之外,技术要求上卡的也更严了。当然想要进入大厂,技术水平的高低不是决定性的因素,尤其在今年大环境不好,到处裁员的情况下,想要进入大厂就更难。
我这边把2022年内推资源释放出来,共覆盖100+名企大厂的测试经理,找到我,拉你进入2022年名企大厂测试岗位内推群。
找我免费获取:
1、名企大厂面试真题

http://picx.zhimg.com/v2-51404213c4c3f148838e8c2e746fe5eb_r.jpg?source=1940ef5c
2、高级测试工程师简历模板

http://picx.zhimg.com/v2-8021c6ed1fcbe1a6ca7326780f67d9ff_r.jpg?source=1940ef5c
3、100+名企测试经理直聘

http://picx.zhimg.com/v2-5f29ae47519bb7b69e5e9127291f6fa4_r.jpg?source=1940ef5c
4、海量测试内推岗位更新发布

http://picx.zhimg.com/v2-cced69dfd12d2ddf0de3e5f1be2a935a_r.jpg?source=1940ef5c
<a data-draft-node="block" data-draft-type="ad-link-card" data-ad-id="Plugin_88929afbc81d11267a5ac7f4453054e1">

fanswu 发表于 2023-10-4 20:03:15

一、知己识人
         所谓知己就是清楚的认识自己,什么才是对自己最重要的。就测试这个职业来讲,我认为自己得到什么,学到什么才是最重要的。很多人看到这里可能觉得是正确,这种大道理谁都知道。但是平时呢大部分往往,嗯,保证产品 质量,保证公司企业的质量。但是有多少测试做的事情是真正自己想做的,又有多少做的事情是对自己有意义的。可能工作本身带来不了很多的学习点或者兴趣点,但是我们不能被忙碌的工作,频繁的项目,坑爹的老板所迷惑,因为我们是测试,我们是一个需要提升自我修养,提升自我知识面才能够更上一层境界 的职业。所以笔者自己是时不时的会问自己到底学到了什么,自己需要的是什么。
          所谓识人,这里所说的识人不是说怎么识别好人坏人,而是如何去面试一个测试,如何给一个测试去定一个要求。为什么笔者会提到这点,就如上面所说的,现在很多人进入了测试的圈子。笔者自身是一个做移动互联网的测试,同样也经历过了上海,北京,杭州等地在各个不同阶段的面试。感觉到了不仅仅应聘测试的IT们迷茫,企业 本身对于测试的定位也很迷茫。面试就是第一个能够看出来的地方。个人觉得测试这个职业很奇特,因为除了学历,技术还和这个人的各个方面素质有着紧要的关系。当然这里我不想多的举例子,我只想给各个面试官以及企业 一点建议,筛选海量的简历的确可以靠曾经的工作经验,可以靠学历。但是希望在面试过程中能够从“态度”“开拓性思维”“为什么要做测试”三方面去做检查,如果发现有欠缺能够在入职之后进行相应的培训补足,这样的话,我相信对于广大测试人和企业来讲都是会看到好处。同样的会加速推动测试行业的发展。
二、找到测试的意义
          这里其实就和知己很像,我相信这次chinatest的讲师也好,我碰见的各位同仁也好,每个人在企业中都分别扮演着自己的角色。我相信我们大家的角色绝对不会只是定位在找bug。但是我也同样的看到很多测试人没有找到测试的意义,很多上层或者老板觉得测试就是为了保证质量,呸!他们只会觉得测试是为了找到bug的,无论嘴上说的多好听,很多人最后还是会用数据来定你的KPI。但是,我们不能因为如此迷茫了自己,迷失了做测试的意义,不能 最终 为了测试而去测试。测试的意义在于从各个角度,各个维度去保证 产品的质量。这句话是废话,也是空话。但是为什么我想这里提醒大家找到测试的 意义呢,是因为只有测试人找到了测试的意义(可能是提升自己的管理 能力,提升自身的技术能力 ,分析能力等),那么才不会在各种困难,各种挫折面前迷失了自己,才不会为了测试而测试,最终得不偿失。
         
         当你在执行测试用例的时候,意义在学习别人写用例的思路,学习设计方法,不在重复劳动上面。
         当你在编写测试用例的时候,意义在于怎么能够更好的分析需求,分析需求,写出有意义的有限的用例,不在为了完成任务,写上成千上万条用例。
         当你面对找缺陷这个常见的任务的时候,意义在于学习研究各种方法,各种技术找到质量高的缺陷,分析总结,不在为了去完成缺陷数量而去找。
         当你作为一个测试管理者的时候,意义在于你要学习管理,你要引导测试人,你要体谅沟通 。不在写好用例之后简单的让他们去执行。
         当你面对一个周期很短,测试又很少的项目的时候,意义在于你要学会评估风险,合理使用好各种方法应对,从而积累,不在用自己的生命换取产品所谓的质量
         当你觉得做测试没有意义的时候,意义在测试为你带来了什么,测试让你学到了什么,不在你是不是想跳槽或者转行
三、心理素质
         笔者为什么将这条放在那么前面呢,这里不得不提到,笔者在仅仅只有两年工作测试经验的时候就已经亲身经历过了身边的测试由于心理问题而最终选择绝路的事情。能从心理上真正了解测试的只有测试,这点我深信不疑。任何一个测试最先面对的心理压力就是重复性的劳动。测试人是愿意去做?是否愿意去寻求这重复劳动中的真谛?这其实是任何一个测试都应该迈过的一个坎儿。 而在之后的测试生涯中,依然会碰见很多心理的考验,自己对于质量心里没有底、或者由于产品发布问题 遭到了老板的职责、或者和开发以及其他人闹不开心、或者找不到缺陷时期的郁闷、达到了测试瓶颈时候的困惑等。测试也是人,每个人都有自己的背景以及性格,这些时间一长,往往对于测试来讲,就是考验心理素质的时候,你是否还 看得清自己的路,是否还知道自己做测试的初衷,会不会对于自己做测试去质疑等等。测试这个职业无非是心理活动波动最大的,心理上的暗示和缓解对于测试是最大的一个帮助。笔者第一本读的有关心理学的书籍是《梦的解析》,之后陆续看了佛洛依德的若干部著作。对于心理学上很有兴趣,强烈推荐各位测试同仁有空读一两本心理学有关的书籍,相信你得到的帮助绝对不只是心理上的。
四、 主观能动
          很多人说测试行业中很多都是性格内向的人,很多需要细心的女性 。这点我不否认,但是只是和测试本身没有非常直接的关系。但是无论男女,无论性格,作为测试必须要学会的是主观能动。笔者在本文一开始就提到测试行业原本历史就短,并且 国内外的文化,技术差距很大。我自己是一个做手机移动端的测试(如果有人要交流相关技术,我很乐意一起讨论),在移动互联网的测试国内的积累更加的少。我举个实际的例子,在安卓的自动化测试框架中有一个框架叫做robotium,我无意识中的加了国内很多讨论群,同时也订阅了robotium gmail的一个讨论组。一个月过去了,国内的群很多都沉默,但是那个gamil的组却已经有了七百多封的讨论邮件。这里其实总结来讲,国内外的教育,文化从我们小时候开始与国外就是不同的一个理念,造成了国内很多人的主观能动性相对来讲比较差。但如果你选择了测试,那么必须大大提升你的主观能动性。如果你想做好测试,得到更多的信息,得到更多的技术,那么你必须主动去网上查找资料,主动的找人进行沟通,主动的进行实践,那么一切才会有改变。否则我相信做不了多久就会唉声载道。
         同时,这里的主动 不单单是单方面的吸收,还有主动进行分享。每个人都是普通人,没有一场战斗,革命是靠一个获胜的。一个人的能力有限 ,当大家把自己所知的东西都主动分享出来,那么才能够产生更大的财富 。一切才能够进步。
五、乐观精神(阿Q精神)
         首先澄清一点,笔者在除了测试以外的方面并非一个乐观的人,所以还修炼不到火候。乐观对于测试绝对不可少。你往往面临着一个复杂的功能性产品,往往会被误解,往往会被很多人在心里看不起、会因为找不到缺陷而心情不好等等 ,等等。乐观会让你精神拥有强壮的体魄和内心,否则你会无法继续在这条道路上走下去。可能最后打败你的是你自己,说服你的是你自己。这份精神难能可贵,当你面对各种各样的突发事件,面对各种 困难 的时候,不妨乐观一下,调整好心态去在能力范围内做好,会有意想不到的收获。
六、 沟通能力
         说到这里,如果你已经具备了测试的最基本的素质的时候,那么你绝对,绝对会觉得测试绝对不是测试唯一的工作,在一个公司,项目中测试不是你一个人的战斗。最先的一点,避无可避,也是历史上战斗最悠久的一个对手:开发。可能再好的朋友也会和你争论的面红耳赤。当你要确认缺陷的时候,你可能会遭到各方面的质疑;当你明确需求的时候,你可能需要和你的项目产品经理甚至客户进行沟通;当你要管理团队或改进测试流程的时候,那么你可能需要和相关的所有人进行沟通协调。沟通是一门技术,这句话放在测试身上再好不过了。我们往往扮演着各种各样的角色,曾经有人甚至告诉我,我除了做测试,还做全职的售前售后。很多测试在为提升效率而烦恼,当你解决了沟通问题的 时候,那么效率上升的比例可能是几何倍数增长的。同时,你的人际关系也会越来越好,这样会让你做管理,做协调,甚至做结构上的改变变得那么轻而易举。
          沟通能力其中比较重要的就是描述,当一个测试人员描述一个事情都描述不清楚的时候,绝对不是一个好的测试人员。测试人天生需要汇报提交缺陷,而清楚的描述这些缺陷如何发现,现象怎么样是一项基础技能。描述问题另外一面就是倾听问题。用怎么样的心态描述问题,又用 怎么样的态度去倾听别人所说的。决定了沟通最后的效果。
七、分析能力
          我们慢慢的从一些软性条件上说到了硬性的条件上了。好的分析能力带给测试的会是另外一片天地。分析能力其中包括了:如何去发现问题,如何去分析问题,如何去解决问题,如何去总结问题。这里的问题不是指测试中的缺陷。可能是一种模型的运用,可能是一种测试技术,也可能是一种人际关系等等。曾经在google全球code jam竞赛中获取第一的中国选手告知我“万事不懂问google”,同样的我相信,很多人会觉得为什么有的问题我就查不到,别人就查得到。如何灵活运用搜索引擎真的是一门学问。好的分析能够让你找到问题出在什么地方,然后找到切入点进行相对应的改进以及修改。面对产品,能知道风险最多的地方在哪里;面对技术,能够搜寻出最终的可行性方案;面对团队,能够对症下药,而不会无从下手。分析来说,实在有太多地方可以说,我这里就不一一说明了。
八、条理性
         任何事情都有轻重缓急,在《高效人士7个习惯》以及ChinaTest中柴阿峰提到的基于风险的测试中都提到了这点。作为测试,很可能你会有很多事情排着队。可能是烦人的客户,可能是不停在变得需求,可能是新 测试技术的探索,可能是自己私人的事情等等。当项目时间,测试人员数量,产品风险,个人私事这样几个维度一起向你攻击的时候,那么你只有 通过分析,然后有条理的归类到7个习惯中提到的四象限中。对于测试,缺陷有优先级,工作有优先级,杂事有优先级,什么都要有优先级。包括朱少民老师提到的传统脚本测试和目前正热的探索性,敏捷测试的和谐并存。这也是需要有条理性 的针对公司,项目的情况具体安排,并非传统不好,并非敏捷探索就一定好。不管黑猫白猫,抓到老鼠的就是好猫,不是吗?
九、 责任
          这点毋庸置疑。测试必须要有责任感。当然不是说让测试承担一切的责任。而是对于自己所做的一切进行负责,对自己负责。测试是一个企业把关的角色。可能对于一些人来讲只是一份工作,但是就企业来讲,无论他们怎么看待测试,他们依然将产品的质量的好坏直接挂钩到了测试身上。测试行业遍布各个行业,如果你只是在做移动互联网内的一个交互娱乐应用的话,可能责任还没有体现出来。但是还有很大一部分的人一直工作在银行、铁路、航空、医疗等领域,这些测试必须负责,他们关系到老百姓的生命安全。就如同《测试之美 》中曾经提到,作者在几年前做的是医疗行业的测试,几年后自己母亲生病,维持着母亲生命的正是自己曾经测试过的医疗器械。只有当这个时候,自己的安心来自于自己的负责。所以我希望各个行业的测试们负起一份责任
十、 勇敢
          正因为测试行业需要发展,测试技术需要进步,所以更加需要测试人去勇敢的钻研,尝试,实践、创新。很多测试人碍于自己只是一个打工的人,而不敢站在更高的角度看待 问题;碍于自己内心的恐惧,而看不起自己,觉得自己不是做技术,或者不是能够解决眼前问题的人、又或者碍于自己性格内向,而从而停止了沟通前进的步伐。我曾经一直这样和我的员工说”很多事情你不敢去做,很多事情你不知道怎么去做,但是不要忘记,你不做总有人会去做。他们做了所以他们变得有名有财富有知识。而你,还是你“。就比如笔者,这次勇敢的做了决定去参加了ChinaTest。为什么说勇敢呢,因为笔者也仅仅工作两年,最终成为了 ChinaTest第一个 报名参加的人,也是第一个自费参加大会的人。我相信这也是一份测试应该有的勇气。

fxo 发表于 2023-10-4 20:03:30

通用技能上:
1.基本计算机知识(操作系统,数据库,通讯协议原理,熟悉至少一门编程语言)
2.基本软件测试知识(各种测试理论,测试方法论,测试用例编写,缺陷界定标准,软件质量评估)
3.简单项目管理知识
产品、系统认知:
1.熟悉所测产品功能,能够将产品文档内描述的UC转化成TC,这个最最基本
2.熟悉所测产品的一些隐藏需求或者功能(业务上的进阶能力)
打个比方,支付公司上一种新的支付渠道,熟悉业务的测试人员应当可以预见到这次升级可能会对前段界面、系统账务、各类报表等各个模块造成影响,从而一并纳入测试范畴。
要知道,很多时候,即便是接入这些渠道的产品经理,也不一定会在Prd或者UC中对这些可见影响项一一列出,这需要经验和责任心。
性格上:
1.有牛皮糖属性的为佳,越“不要脸”越好
测试工程师,在很多公司,和研发是有业务上对立属性的(虽然从宏观角度上来说,都是为了提高软件质量服务)。测试工程师提交的BUG越多,意味着研发工程师工作质量越差,需要返工的工作量也越大,甚至会影响绩效,所以测试工程师有时候很容易得罪研发部门。
一个可以相对坚持原则(比如3级BUG以上一定要改),又能拉下脸和不愉快的研发工程师保持较好关系的测试工程师,会对项目质量起到很关键作用。说到底,又能做事(发现BUG并督促修改),又会做人(该进的不让,该退的绝对给面子,最大化消除部门间矛盾)的测试工程师,是十分难得的。
2.有异想天开属性的为佳
这个只可意会,不好言传的。在我带过的团队里,的确有那种奇葩……经常会用令人匪夷所思的方式找出BUG,这是天赋。
3.会“偷懒”的为佳
这里的偷懒不是指上班发微博聊天混日子,而是能够利用已知资源对枯燥乏味的测试工作进行优化的同学。
说个实例:
我以前公司曾经上过一个“授信”项目,做过金融类项目的同学大家都知道。授信项目的测试用例真可以说是相当变态,随着账期、滞纳金率、手续费率、利息率、本金、还款情况的不同,可以衍生出无比多的用例,同时每个用例进行编写时,都要仔细根据规则计算预期结果的资金状况,非常费力。
咱部门一个小伙子,头一天晚上拿了PRD,第二天晚上就利用Excel写了一个固定某些账期下不同情况下的各项资金计算工具(有一些小BUG,无伤大雅)……大大减少了兄弟们按计算器的工作时间。这种“懒”员工,你是领导你喜欢不?
事情没完,在实际测试的过程中,我们发现一旦研发修改了BUG,会引发其他用例的大崩溃(这类项目真悲剧,牵一发动全身),每次版本升级我们都不得不进行全面的回归测试。
太坑爹了,这不是要命么?
聪明的测试同事们又想偷懒了,他们在数据库端写了一个数据匹配工具,每次新跑用例就拿正确的(已保存)数据文件自动去比对新产生的文件,自动返回比对结果。兄弟们再也不用每次回归都一行行打SQL去查数据了,棒极了。
在研发修改BUG之余,他们自己写了一套存储过程,可以实现数据的自动回归和增量备份,再也不用每次把所有数据擦光从第一个交易日跑起了,棒极了!
说了那么多,其实就一句话:干一行,爱一行。
页: [1]
查看完整版本: 作为一名软件测试工程师,需要具备哪些能力?