华为9年经验的软件测试总监工作感悟—写给还在迷茫的朋友

对于软件测试的建议,首先不知道题主本身的具体情况,是非计算机专业转行的零基础小白还是计算机专业刚入行的新人?当然,不管前提条件怎么样,只要你决心想走上测试的道路,这些前提都不是问题。

那么要想学好软件测试,我会从以下两个方面来分享我的一些经验,希望能对你们有所帮助!
在这里插入图片描述

第一部分 软件测试现状剖析

1.任何人都可以做测试

掌握了测试基础的理论知识后,任何人都可以做黑盒测试,但只能拿到该行业内最底层的薪水。对于安全测试、自动化测试、性能测试等等是需要有综合性的专业知识才能胜任,薪水的多少也取决于个人能力的。(可能某些机构提出的门槛低、收入高往往误导了很多迷茫中的同学,无论学习、工作上都会很快遇到瓶颈)

2.测试人员的职责

一个新的项目上线后出问题了,可能多数情况下会指责为测试的不到位,而并不分析这个问题的出现是平台、系统级、业务层还是其他方面。管理完善的项目团队会有很好的分工协作,且能发挥出每个人最擅长的,而非相互推卸责任。

3.测试时间压缩

项目从立项开始定了上线时间后,把各个环节的排期都计算好,因测试为最后一个阶段,会被动地把剩下的时间简单粗暴的给测试,而并未考虑到会造成的潜在风险。(对于不完善的敏捷团队、初创企业更多存在这种问题)

4.测试介入时期

多数公司均是后期进入测试。理论上测试应该是贯穿于项目的整个生命周期中。

5.测试人员前途渺茫

相比国外,国内企业整体上对测试的重视程度不是很高,但这是一个必然的过程,随着市场对产品质量要求的提高,且用户对产品体验度增高,测试行业会越来越重要。

6.测试行业发展方向

再次提到门槛问题,软件测试行业入门门槛确实低,其实相对于其他行业也是,每个行业的底层都容易入行,但付出与回报是成正比的。要想得到更大的发展,需要我们不断地努力,也要为自己的做好清晰的职业规划。而不是做了一段时间遇到瓶颈,又开始迷茫。

第二部分 转行的测试新人如何自学测试

1.一般来说,测试新人的话首先需要把基础打好,测试理论基础可以通过看一些经典书籍或网上也有很多免费的资源。

2.刚开始不太建议加入过多技术群或其他论坛提问,初期遇到问题可以自己搜索自己尝试解决,当然需要控制一个止损点,不要为一个问题耗费太长时间。

3.自学基础的同时一定要做好笔记,且一定是通过自己的理解后做的。可以使用思维导图把前后学到的东西给关联起来。之后学习到的新东西也是。

4.读完一本书或一个阶段结束后,可以自测一下,通过找一些经典的笔试题或一些istqb中的题目,来巩固或查漏补缺,有针对性的再次巩固学过的东西

5.接下来可以找一些项目来做或去众测平台看一些基本的项目测试流程,包括基本测试文档的书写规范等等

6.目前有好多平台会开设一些免费的公开课,通过技术讨论组可以接收消息推送,设定好时间听一些专业领域的测试方法,可以快速了解到大体的流程。(一定要经过严格筛选,选择质量高的,否则会浪费一大部分时间)

7.以上都是基于从整体的方向来考虑,当然很多细节问题都需要在学习过程中记录下来

8.给自己的学习过程制订一个详细的计划,量化到天,排好每天要学习的东西。同时最重要的是,一定要养成总结的习惯 ,每天总结 ,每个项目总结 ,总结测试方法,总结Bug原因,奇葩Bug等等,这些将会成为你日后工作的宝贵财富。

第三部分 新人转行学测试要注意的3点

① 能报班学就尽量不要自学

专业的事情专业的人做。想要短期内快速以高起点进入软件测试领域,培训机构真的能帮你少走很多弯路。对于当下社会环境来讲,自学所浪费的大量时间和精力、低效的学习进度、缺乏实战项目经验等等缺陷,远远高于你报培训班所花费的几千块钱。

测试猿课堂,作为软件测试的培训机构,不仅有测试领域10多年经验的老专家教你学技术,老师还会教你很多工作方面的技巧,教你如何避坑,教你如何成长,并且在你就业以后,我们的老师一样会持续给你工作方面的很多帮助;我们还有全国1500多家非常优秀的互联网合作企业,我们的就业指导老师会直接将你内推给首选的优秀企业,以我们的人脉资源关系,在面试门槛这方面就能让你获得远高于其他面试者的天然优势。

② 勤做笔记勤练习

初学者一定要记得:理论方面多做笔记,实战方面反复训练。软件测试基础理论方面的知识比较好理解,但因为理论知识不少,也容易出现学了就忘的情况。对付理论知识最有效的办法就是做笔记,而且是经过自己理解过后的学习笔记,思维导图是个很不错的工具。如果你能通过自己的理解,写出测试理论方面完善的思维导图,说明你已经从底层理解的测试的真正含义。

实战方面,测试猿课堂会给你很多的作业和项目进行练习。你需要做的就是认真完成每一份作业,认真做好每一个项目。我们的实战项目非常非常多,基本上理论知识学完后,后面的每个知识点都有对应的或大或小的项目做练习。你需要将这些项目保存好,并且反复练习,去理解和掌握项目实施的每个步骤的意义和流程。模拟工作环境下自己需要做的那些事情,理解缺陷到底是如何被发现的,如何抓住项目的缺陷分析重点。

③ 多学习专业工具的使用

自动化软件测试其实更多的是依赖程序和框架工具实现的。一个成熟的自动化软件测试工程师,一定是能掌握Python编程语言和各类常见测试工具的。这些测试工具一定是能够落实到实际工作当中的,而不仅仅局限于学习老师的操作,就以为自己会了。

从程序框架的安装开始,我们应该学会如何搭建对应的测试环境,以及如何解决不同系统环境下安装出现的一系列问题,常见的类似驱动问题、注册表问题、杀毒软件误杀问题、系统版本等问题引起的安装失败,都要学会如何解决,并且保留好对应的解决方法。

第四部分 个人能力提升

好多朋友已经忍不住了,道理我都懂啊,我也想进BAT,但是实力不允许啊!这就是另外一个问题,职业规划做好的前提下,配套服务一定得跟上,那就是个人能力的提升。

在工作两三年后,大概在25岁-28岁之间,绝对是你进入大公司的最好时机。这个时候的你,风华正茂,朝气蓬勃,未来有无限的可能性,并且需要的薪水并不太高。你并不需要非常强的技术能力就能进去。一旦过了30岁,并不是说进不去了,而是普通职位已经不向你开放了,你需要更强的技术能力,差不多某方面专家的水平,才能进去。

怎么样提升自己的技术能力呢?答案只有两个字:

在这里插入图片描述

工作中学到的只能保证你不被别人落下。工作之外的时间,才是你提高的机会。毕业时同一批进入公司的同事,工作两年后,突然要离职,因为他收到了BAT的offer,你肯定会酸酸的想,他运气比较好,面试的时候没问什么难题。其实你并不知道他在工作之外的时间是怎么度过的。

刚毕业的前两三年,千万别荒废,这个时候大多数的人都还没有成家立业,甚至还没有对象,这绝对是你能静下心来好好学习技术的最佳时间。等你结婚生子后,琐事繁多,属于你个人的时间就越来越少。

肯定会有人说,工作太忙没有时间学。这个大家都懂,借口而已!

另外一个问题,测试工程师应该学什么呢?自动化还是性能?Java还是Python,APP端还是服务端?

答案很残酷,都得学!

但是人的精力是有限的,所以一定得排优先级。我的建议是代码优先。对于已经有两三年工作经验的测试工程师来说,基本的测试素养已经在工作中得到了锻炼。但是代码能力是测试工程师的一个短板,这也是大公司非常看重的一点要求。毕竟代码能力强的孩子,其他方面一般也不会太差,你学习代码的过程中,还会学习到其他方面的知识,如数据库、网络协议、操作系统等。这对你的提升的全方位的。

那么代码学到什么程度呢?

对于一个测试工程师来讲,先系统学习掌握基础类库和api,达到掌握的程度;再学会使用企业内常用开发框架,达到一种会用的程度。

代码学习后,再去学习行业内常用的一些自动化框架和性能框架,你就会感觉比较容易上手了。

需要注意的是,学代码一定要边学边练,争取自己开发一些小工具,一是对理论的一个实践,二是会有阶段性的成就感,鼓舞自己坚持下去。

如果你通过一段时间的学习加实践,能成功搞定(自动化工具开发+上线)一整套自动化工程,那你就比国内95%的码农都要厉害了,这时就是你挑公司而不是公司挑你了。

在测试测开的整个体系中,自动化测试又是缺口最大的,而真的能独立做自动化的人凤毛菱角。很多功能测试的同学想转型做自动化时都会遇到这些问题——

  • 自学找不到门路,迟迟没有进展
  • 市面上的视频零零散散不系统,不能系统串联知识点
  • 代码0基础,脚本看不懂,改都不知道怎么改
  • 最核心的问题是没有项目实战!企业就不认可,导致不能转型成功

做为一名测试人,我想分享一下这些年来,我对于技术一些归纳和总结,和自己对作为一名高级自动化测试需要掌握那些技能的笔记分享,希望能帮助到有心在技术这条道路上一路走到底的朋友!

一、测试基础

了解测试的基础技能,掌握主流缺陷管理工具的使用,熟练测试环境的操作与运维
在这里插入图片描述

二、Linux必备知识

Linux作为现在最流行的软件环境系统,一定需要掌握,目前的招聘要求都需要有Linux能力。
在这里插入图片描述

三、Shell脚本

掌握Shell脚本:包括Shell基础与运用、Shell逻辑控制、Shell逻辑函数
在这里插入图片描述

四、互联网程序原理

自动化必经之路:前端开发基础知识以及互联网网络必备知识四、互联网程序原理
在这里插入图片描述

五、MySQL数据库

软件测试工程师必备MySQL数据库知识,不仅仅停留在基本的“增删改查”。
在这里插入图片描述

六、抓包工具

Fiddler,Wireshark,Sniffer,Tcpdump各种抓包工具适用于各种项目,总有一款适合你的
在这里插入图片描述

七、接口测试工具

接口测试神器,你绕不开的强大工具:Jmeter。小巧灵活:Postman
在这里插入图片描述

八、Web自动化测试Java&Python

了解自动化的目的,熟练掌握TestNG&unittest自动化框架,以及断言与日志处理
在这里插入图片描述

九、接口与移动端自动化

专业接口调用、测试解决方案。组建完整的web和接口自动化框架,Appium整体使用
在这里插入图片描述

十、敏捷测试&TestOps构建

揭开TestOps的神秘面纱,持续集成Jenkins框架烂熟于心

在这里插入图片描述

十一、性能测试&安全测试

软件测试的彼岸:性能测试和安全测试,选个方向努力爬坑吧!
在这里插入图片描述
这些都是高附加值的知识!

其实这些高附加值的知识和能力可以边工作边自学的。相信年薪30W+也是很简单的!关键就看你愿不愿意学!

合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!!
在这里插入图片描述

这些资料,对于做软件测试的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助…….

祝大家都能拿到心动的offer~~

猜你喜欢

转载自blog.csdn.net/m0_53918927/article/details/125491750