软件测试入门到高级,5k-50k,你属于哪个阶段?

2023-11-21 20:50

本文主要是介绍软件测试入门到高级,5k-50k,你属于哪个阶段?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一:入门阶段

这个阶段的你就像一张白纸,对软件测试这个行业比较陌生,隐约有个概念就是这是一项专门找软件bug的工作,但是软件的bug长什么样?相信很多人都没有一个清晰的认识。这个时期的我们头脑里会出现很多的问题,什么是bug?做软件测试需要会什么技能?零基础该如何学习?做软件测试收入高吗?软件测试加班多吗?软件测试是不是很枯燥?等等问题可以凑成一本十万个为什么。在入门初期,我们就像一个无头苍蝇,到处乱撞,只要看到软件测试相关的东西,我们都会很感兴趣,就是想搞清楚软件测试到底是什么,我到底适不适合做这行。
“软件测试是越老越吃香的工作,岗位缺口大,工资收入高,比开发轻松”,想必很多人都曾经被这样的话洗过脑,一方面这是当时软件测试刚刚兴起,大家都不太了解这个行业,因此培训机构为了招生而想出来的一种说辞,另一方面其实对于当时刚刚出现的这个新职业,这些描述也确实有几分道理。但是时至今日,初级软件测试人员已经接近饱和,这份职业也并没有越老越吃香这种说法。
对于入门阶段的你,最重要的事就是想清楚以下3个问题:

  1. 你是否喜欢这一职位,有足够的热情来迎接这一岗位?
  2. 你是否能够接受互联网的工作节奏?
  3. 你是否有足够的学习能力来紧追互联网发展的步伐?

下面解释一下这三个问题:
1)俗话说,干一行爱一行,你如果做着自己不喜欢的工作,每天都是一种煎熬,如果你觉得当你发现一个程序的bug时,有一种兴奋感,一种成就感,那么恭喜你,你至少还不讨厌这份工作。

2)互联网是出了名的加班多,之前热议的996事件,其实在IT人员看来,这只是生活常态。曾经我告诉朋友我们晚上一般九点下班时,他们惊讶的目光,我仍然记得,但他们还不知道,9点并不算什么,因为我还经历过很多个通宵上线。这些都是一个即将走入IT行业的人员应该慎重考虑的问题。

3)这一点是最重要的,即使你有足够的热情来迎接工作,但是热情也有耗尽的一天,唯一能支撑维持我们一路走下去的是我们的学习能力。互联网技术日新月异,一个技术往往流行2-3年就会被新的技术所代替,技术种类多,领域细分繁杂,技术更新频繁,必须要有很强的学习能力才能匹配公司发展的要求。不爱学习的同学,上进心较差的同学,劝你早点放弃。
如果上述3个问题,你都OK的话,恭喜你,进入下一阶段。


二:初级阶段

到达此阶段,说明你已经下定决心要和软件测试死磕到底了,“干一行,爱一行”,既然选择了这个工作,那么我们就要付出自己的努力,争取在测试小圈子里激起一波涟漪。这一阶段是每个测试工程师必须经历的阶段,在不断的工作积累过程中,我们逐步对软件测试有了一个大概的概念,软件测试就是开发用代码写出来的产品,上线之前,我们测试要做好质量把关,保证产品能够顺利上线。


“哇,xx开发,这儿有个bug!”,想必刚入行的我们都曾做过这样的事吧,一脸兴奋的告诉开发,自己发现了一个bug。开发会马上回一句:“不可能,我写的代码怎么会有bug,我本地都是好的!”。初级阶段一切都是新奇的,我们总会崇拜的看着高级测试工程师和开发一起争论一个功能的实现方式或是哪段代码需要优化,否则会造成性能问题。总希望自己也能像他们那样牛逼,成为测试大牛,于是,下班后到处找资料学习,各种公开课听着走,总希望把一切知识都装进自己的肚子。


那么我们该如何利用好这段求知欲超强的阶段呢?
打好基础,脚踏实地
这段时间,我们不必急于求成,“万丈高楼平地起”,我们需要做的是夯实自己的基础知识:测试用例设计能力,业务理解能力,沟通能力。认真看看几本测试经典书籍《Google测试之道》《软件测试的艺术》,理解测试的岗位职责,学会如何在产品开发迭代过程中把好质量的关。学习别人的测试用例设计方法,学习别人的逻辑思维,尽可能写出规范且覆盖全面的测试用例。
学会巧妙的和开发、产品进行沟通,比如当你发现bug,你可以装的弱弱的和开发说:“xx开发,你来看看这里是不是有问题?为什么和PRD写的不一样呢,是不是我理解错了?”,开发肯定会想:“不会吧,难道是我写的代码有bug?”,这个时候就会避免大部分和开发的冲突。所以说,说话也是一门艺术。(本人不建议,测试用例都写不好的时候,就去搞自动化和性能,测试最重要还是业务能力,自动化测试只是辅助能力,请刚入行的测试同学要分清主次轻重)


三:中级阶段

一般工作3年之后,你已经能够写出一套溜得很的测试用例,也能和开发搞好关系,生活走上正轨,但总觉得生活缺少点什么。没错,你已经花了很多时间来深入理解软件测试这项工作了,已经大致摸清了你测的那款产品的坑在哪儿,如何快速的完成测试任务了。因此你开始思考,是否需要做点 什么来提高自己的工作效率,做点不一样的东西。
这个时候,你开始了职业生涯中第一次抉择:是学自动化好呢还是性能好呢?是学UI自动化好呢还是接口自动化好呢?是学java好呢还是学python好呢?是主攻app测试呢还是主攻web测试呢,或者是服务端测试,亦或者是安全测试?在此,我不能帮你做决定,人生的一切抉择都是靠自己选择,即使路不好走也是自己选择的。
但是我给在此阶段且比较迷茫的同学一点建议:

1)关于测试方向的选择
不管是app还是web,或者是大数据、安全、人工智能,都不重要,软件测试划分很细,每一个种类都有它存在的必要性,无论是哪一方面,最主要的还是看自己对哪一方面更感兴趣,做起来不感觉心累,每一种都是有前景的,只要专攻某个领域,将来你就在这方面比别人有更大的优势,我们要选择一个方面重点发展学习,当然其他种类的知识点也要略知一二。

2)关于开发语言的选择
无论是java还是python或者php,语法始终只是你完成任务的工具,不要过于在意谁谁谁都在用xx语言,我也要学这个,不然过两年就找不到工作了。虽然市面上的开发语言千千万,但是作为测试人员,只要我们掌握最流行的一种就可以了,因为语言都是融会贯通的,一通则百通。
当然由于测试人员的代码水平较开发人员要差一些,如果想快速上手,写点测试脚本,我还是建议大家可以学习python。python网上资料一大堆,大家可以去搜廖雪峰的python教程(建议学习3.+版本),如果大家今后想往测试开发的方向发展,或者干了2年测试准备往开发方向发展,我建议你们可以学习Java,推荐一本书《Head First Java》图文形式,幽默风趣,或者是马士兵老师的java视频教程,虽然年代有点久远了,但是讲的确实很好。

3)关于自动化和性能的选择
在此之前我要强调一下,自动化只是用于回归测试,协助我们减轻重复劳动力的工具,不要过于夸大他的作用,更不能盲目跟风,为了自动化而自动化。我们是工具的使用者,而不是被工具牵着鼻子走。如果有精力和时间,或者在工作中有机会接触到自动化或性能的话,我建议大家都去学一下,虽然我刚才让大家不要过度追求,但是在如今的招聘要求中都免不了要求会自动化和性能技术。

自动化测试分为UI和接口,UI分为app和web两种,app自动化常用工具是appium,web自动化常用工具是selenium。就测试金字塔而言,我个人觉得接口自动化更有实用价值,UI自动化虽然看起来很炫酷,界面自动点击回放,但是UI是我们产品研发改动最多的,元素经常变动,维护成本比较大(当然已经定型的成熟项目除外)。而UI的功能交互都是依赖于接口的数据传输,接口是更为底层的一种功能测试,不要想的太过高大上,接口测试简单且好维护是各大公司都在做的,它更能早期的发现问题,不用等到前后端对接后再来改,符合敏捷测试的要求。
性能测试是比较难的一个课题,由于性能测试要求懂代码,懂运维,懂计算机原理,懂数据库,懂业务等等,很多测试同学望而却步。其实性能测试难不在于写脚本,准备测试数据或者执行,而是难在性能分析和调优。当然我们如果不想做专职的性能测试工程师的话,我们只需要学会做性能测试的流程和简单的性能分析就可以了。包括拿到性能需求后,如何设计性能脚本,如何准备大批量的测试数据,如何搭建压测环境,如何监控性能指标,是做单节点压测还是做多节点的分布式压测?这些都足够我们学一阵子了,拿到性能数据之后,我们怎么去分析问题,tps上不去是什么原因?cpu使用率过高怎么办?这些都是我们需要是实战去积累的,我们大多数人没有美团,阿里那样的高超技术和开发环境,不能自己开发性能工具,因此我觉得作为普通测试大众,只要会使用市面流行的jmeter或者loadrunner即可。


四:高级阶段

到此阶段估计已经不需要我的建议了吧,大家都是测试老油条了,测试行业的走向,测试技术的发展,测试思维的建立,测试这一工作的坑都已经踩得差不多了。但是我还是要给那些测试经验不太丰富的同学聊一聊。
何为高级?工作年限够长就是高级了吗?不不不,高级是你已经经历了前面的种种,经受了社会的毒打,知道了自己想要什么而做的职场第二次抉择。一般到这个阶段,测试的发展方向有3种:

1)技术专家
技术专家可以狭隘的理解为测试开发(或者性能专家)。这条路坎坷不好走,但对于不太善于管理和人际沟通的同学,也不失为一条良策,专心搞技术,不问世事。工作5-6年以后就可以开始思考自己的发展方向了,如果选择了走技术这条路,就要深入的学习代码,平时多练,多和开发沟通学习,写一些测试工具或者测试平台,让自己能达到一个中级开发的技术水平,才能在测试开发(性能专家)这条路走的更远。

2)做管理
做管理不易啊,和人打交道是最难的,你要承上启下,既要把上级安抚好,又要把下面的团队管理好,夹在中间的确挺难受的(不过排除某些天生具备管理天赋的人),如果做管理的话,我劝大家尽量做一名技术管理,你要懂技术也要会管理,如果你是个什么都不懂的纯管理,手下的人是不会服你的,做技术的都一股傲气,必须以技服人。相对来说,管理的生命周期要比技术专家长一些,因为技术永远在更新,年纪大了以后,学习能力确实很难跟上。因此选择做管理的同学,平时就要多学习如何和产品,开发,领导打交道,如何完美的完成工作,让大家都觉得舒服。

3)创业转行

到达35岁人生关键点后,家庭,身体各方面原因,已经没有了刚毕业的很多优势。既不能加班,身体也不行,工资还要得高,因此,裁员就离你越来越近。所以不少这个年龄段的同学都选择创业或者转行,要从自己工作10来年的岗位去向另一个方向打拼,也是需要很大的勇气的。在此建议即将创业转行的同学,千万不要盲目创业,因为创业者的钱是最好赚的,到头来自己没赚到钱,却交了巨额学费。创业前一定要做好详细的前期调查,先小笔投入试水,一步一步来,千万不要走捷径,任何一个行业都没有捷径,唯有脚踏实地。再啰嗦一句:创业有风险,投资需谨慎,特别是现在经济下行,消费能力不足的情况下。


五:总结

前面说了很多,基本上描述了软件测试工程师这一职业的完整历程,360行行行出状元,只要用心做,不管做什么,你都可以成功,即使你很难突破你所在的阶层,但是至少能在目前这个阶层处于偏上水平。至少生活还算过得去,加油吧,成年人的生活没有容易二字,既然不能反抗,那就好好享受吧。

最后,为方便大家自学软件测试,特意给大家准备了一份13G的超实用干货学习资源,涉及的内容非常全面。563251944
包括软件学习路线图,上课视频、16个突击实战项目,80余个软件测试用软件,37份测试文档,70个软件测试相关问题,40篇测试经验级文章,上千份测试真题分享,还有2020软件测试面试宝典,还有软件测试求职的各类精选简历,希望对大家有所帮助….. 在文章下方评论或者是私聊大白进群拿资料哦

这篇关于软件测试入门到高级,5k-50k,你属于哪个阶段?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/405007

相关文章

Spring WebClient从入门到精通

《SpringWebClient从入门到精通》本文详解SpringWebClient非阻塞响应式特性及优势,涵盖核心API、实战应用与性能优化,对比RestTemplate,为微服务通信提供高效解决... 目录一、WebClient 概述1.1 为什么选择 WebClient?1.2 WebClient 与

Spring Boot 与微服务入门实战详细总结

《SpringBoot与微服务入门实战详细总结》本文讲解SpringBoot框架的核心特性如快速构建、自动配置、零XML与微服务架构的定义、演进及优缺点,涵盖开发环境准备和HelloWorld实战... 目录一、Spring Boot 核心概述二、微服务架构详解1. 微服务的定义与演进2. 微服务的优缺点三

从入门到精通详解LangChain加载HTML内容的全攻略

《从入门到精通详解LangChain加载HTML内容的全攻略》这篇文章主要为大家详细介绍了如何用LangChain优雅地处理HTML内容,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录引言:当大语言模型遇见html一、HTML加载器为什么需要专门的HTML加载器核心加载器对比表二

从入门到进阶讲解Python自动化Playwright实战指南

《从入门到进阶讲解Python自动化Playwright实战指南》Playwright是针对Python语言的纯自动化工具,它可以通过单个API自动执行Chromium,Firefox和WebKit... 目录Playwright 简介核心优势安装步骤观点与案例结合Playwright 核心功能从零开始学习

Python中你不知道的gzip高级用法分享

《Python中你不知道的gzip高级用法分享》在当今大数据时代,数据存储和传输成本已成为每个开发者必须考虑的问题,Python内置的gzip模块提供了一种简单高效的解决方案,下面小编就来和大家详细讲... 目录前言:为什么数据压缩如此重要1. gzip 模块基础介绍2. 基本压缩与解压缩操作2.1 压缩文

从入门到精通MySQL联合查询

《从入门到精通MySQL联合查询》:本文主要介绍从入门到精通MySQL联合查询,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下... 目录摘要1. 多表联合查询时mysql内部原理2. 内连接3. 外连接4. 自连接5. 子查询6. 合并查询7. 插入查询结果摘要前面我们学习了数据库设计时要满

从入门到精通C++11 <chrono> 库特性

《从入门到精通C++11<chrono>库特性》chrono库是C++11中一个非常强大和实用的库,它为时间处理提供了丰富的功能和类型安全的接口,通过本文的介绍,我们了解了chrono库的基本概念... 目录一、引言1.1 为什么需要<chrono>库1.2<chrono>库的基本概念二、时间段(Durat

解析C++11 static_assert及与Boost库的关联从入门到精通

《解析C++11static_assert及与Boost库的关联从入门到精通》static_assert是C++中强大的编译时验证工具,它能够在编译阶段拦截不符合预期的类型或值,增强代码的健壮性,通... 目录一、背景知识:传统断言方法的局限性1.1 assert宏1.2 #error指令1.3 第三方解决

Java中的for循环高级用法

《Java中的for循环高级用法》本文系统解析Java中传统、增强型for循环、StreamAPI及并行流的实现原理与性能差异,并通过大量代码示例展示实际开发中的最佳实践,感兴趣的朋友一起看看吧... 目录前言一、基础篇:传统for循环1.1 标准语法结构1.2 典型应用场景二、进阶篇:增强型for循环2.

从入门到精通MySQL 数据库索引(实战案例)

《从入门到精通MySQL数据库索引(实战案例)》索引是数据库的目录,提升查询速度,主要类型包括BTree、Hash、全文、空间索引,需根据场景选择,建议用于高频查询、关联字段、排序等,避免重复率高或... 目录一、索引是什么?能干嘛?核心作用:二、索引的 4 种主要类型(附通俗例子)1. BTree 索引(