随着信息技术的快速发展,软件行业也在迅猛发展,同时也带来了对软件测试行业的高需求。不同于过去,在当今的新时代,“软件测试”不再是单纯的“找bug”,而是更加注重产品质量和客户体验。本文将从软件测试人员的角度出发,分析当前软件测试行情,并探讨未来的发展趋势。
关于软件测试行业有没有前景?我觉得是有的!关心这个问题的应该主要是以下两类朋友:
1)想入行在观望的朋友
2)已经入行但薪资处于瓶颈
以下从3个方面做下分析,也是大家比较关心的3个话题,如有不当之处,也请大家指出。
1、行业“钱”景如何?
与其说前景,不如说“钱”景。很多时候在谈论这个行业的前景时,也许更多看中的是这个行业入行的薪资,以及之后随着年限增长的薪资涨幅。
就业后薪资涨幅,以智联招聘网站上一线城市的薪资做整理:
刚入行的初级软件测试工程师薪资大概是6000-8000;
1-2年后中级软件测试工程师薪资8000-15000;
高级软件测试工程师15000-25000;
资深软件测试工程师/测试专家/测试开发/测试管理25000+。
就业3年后的薪资均超过1万元。
所以,基于上,“钱”景还是不错的,关键是自己是否具有对口的专业技术能力。
2.软件测试行情概况
在国内,软件测试行业十分火热,据中国软件测试服务市场预测报告指出,2019年,中国软件测试市场规模突破1000亿元,其中自动化测试板块位列第一,占比达到30%。自动化测试已经成为软件测试领域的必要选择,越来越多的企业开始关注并投入大量资源用于开发和使用自动化测试工具。
据调查显示,目前在中国地区,软件测试从业者的平均薪资在8-20K之间,而有丰富经验的资深测试工程师的月薪甚至可以达到30K以上。如此高薪水的背后,其实是由于市场对测试人员的需求量较大,而测试人员相对较少,这就导致了竞争压力和薪资水平的提高。
3.软件测试的未来发展趋势
自动化测试将继续升温
自动化测试已经成为软件测试领域的必要选择。在未来,随着互联网信息技术的不断更新,各种新型软件产品层出不穷,软件测试人员需要掌握更多先进的自动化测试技术和工具。同时,大数据分析和人工智能的发展也会对自动化测试产生深远影响。
安全测试需求量逐年增加
安全问题一直是软件测试中一个重要的方向之一,而在未来,随着网络攻击和数据泄露事件的不断增加,安全测试的需求也会越来越大。因此,安全测试将成为未来软件测试行业的重点发展方向之一。
移动端测试成为热点
移动设备已经成为人们生活和工作中不可或缺的一部分,移动应用的数量也在不断增加。因此,移动端测试将成为未来的一个热点。与传统的PC端测试相比,移动端测试面临一些新的挑战,如不同的设备、操作系统以及网络环境,这将为测试人员带来更多的挑战和机会。
DevOps测试将成为趋势
随着DevOps的不断普及,软件测试也在逐渐向这个方向发展。在未来的软件测试中,DevOps测试将成为一个重要趋势。DevOps测试不仅需要测试人员具备专业的技能和知识,还需要与开发团队保持良好沟通,协调运维和测试工作。
总之,软件测试行业将会迎来更多的机遇和挑战,在不断变化的市场、技术和客户需求中,只有接受新思维、学习新技术、紧跟时代潮流,才能获得更好的发展和更高的薪资水平。
其实测试行业未来发展之路是几乎所有关于软件测试工程师都会在意的话题,相信各位看官也很迷茫自己的发展路线。为了方便大家选择和比较,我也将我的经验和观点分享出来,以作参考。如果小伙伴们有更好的观点,欢迎分享和探讨,互相学习!
学习路线
第一阶段 测试基础
测试基础是软件测试最最最重要的部分,只要你是做测试,不管是什么测试,测试的基础、理论知识都是必须学会的。
最好学到什么程度呢,最好是能够理解,并能够用自己的话给复述出来。
毕竟面试初级测试的时候,问的问题都是从基础理论上进行考核的。
那测试基础有哪些内容呢?
测试的定义、测试的分类、测试的方法、测试的生命周期。
测试计划、测试方案、测试策略、测试用例的编写。
BUG的定义、BUG的分类、BUG的六要素、BUG的生命周期。
测试和开发流程的关系、瀑布流、V字形、W字型(双V)、螺旋型、敏捷等等。
PDCA、5W2H等分析管理的方法
质量管理体系CMMI(了解)
嗯,大概就是以上的内容吧,以上全部都是理论和文档能力、只要你肯背、肯写,都是能独立的掌握的。
第二阶段 常见的测试工具
测试工具永远是软件测试人员的得力助手,不能完全依赖工具,但也不能没有工具,在学习软件过程中,要著中软件测试工具的使用,下图覆盖初、中级软件测试工程师所需具备的测试工具,要想学好,下手学习吧。
混在软件测试职业圈,工具千千万,不可能每个都会用,至少要知道有哪些工具可用,什么时候该用什么工具,每个工具能解决什么问题,然后再深入应用几款工具即可,下面就带大家总结一下。
测试管理工具禅道:
简单好用,市场主流,互联网行业居多
Jira:简单好用
QC/ALM:复杂,收费,电信/金融行业使用较多
bugzilla:功能简单
svn:代码和文档管理工具
git:但是多分支管理比svn好
接口测试工具
Jmeter(开源)
postman
SoapUI
推荐使用 jmeter 和 postman。
性能测试工具
loadrunner:大而全,要学精通还是有点难度,重量级工具,过去和现在都是行业老大
jmeter:基于java平台的性能开源测试工具,其实也很强大,而且比较好用
Locust:基于python的一个性能测试工具
白盒测试工具
junit/testng:java下的单元测试框架
unittest/pytest:python下的单元测试框架
cppunit:跨平台的c++单元测试框架
PhpUnit:Php语言下的单元测试框架
TestBed:一个重量级的白盒测试软件,可以进行单元测试、集成测试、静态测试,军工行业常用
Klockword:静态测试工具,军工行业常用
持续集成工具
Jenkins:比较常见的一种CI工具
Hudson
网络测试工具
以HTTP/HTTPs协议为主,网络测试工具有:
wireshark
fiddler
charles
app自动化工具
appium:这个应该算是目前最流行的基于app的自动化测试框架了
uiautomator:安卓自动化测试框架,基本上支持安卓的所有事件操作
Monkey:安卓自带的测试工具
Monkey Runner:Monkey改进版,支持自己编写脚本测试,用Python语言
Robotium:一款国外的Android自动化测试框架,用法比较
web安全测试工具
appscan:算是用的非常多的一款工具了,扫描后能够将绝大部分的漏洞找出来
fiddler:网络抓包工具
burpsuite:暴力破解、抓包工具
skipfish:这是一个轻量级的安全测试工具,处理速度很快,每秒可处理2000个请求。
第三阶段 代码学习
好了,学完了以上两个部分,恭喜你,你已经是一个出色的初级测试工程师了。
接下来,你要考虑你的发展方向了
是成为一个自动化测试工程师呢?
还是性能测试工程师呢?
还是安全测试工程师呢?
啊!这个问题好难!我也不知道该怎么选。
反正我啥都会一点,哪个岗位都能去面一面。
关于方向的选择,看我的这篇文章
嗯,相信你心中已经有了答案了,那我们继续往下面说。
这个阶段,我们应该学习代码了,关于编程语言的选择,我推荐Java或者python。
还有数据库也是必须掌握的!在工具篇的学习里,我认为你已经可以掌握数据库的相关的应用了!
所以现在各位可以去学习编程语言了,
不过不用像开发那样,学的那么深入。
比如Java,只需要学完JavaSE的部分就够你用了。 python的话也是一样的,把基础的部分学完就行了。
总之前期你两者二选一的学习就OK了。
啥?你问我学的啥。
我当然是两种都会啊
哈哈哈哈哈哈哈,惊不惊喜!意不意外!
自动化方向
等你代码已经基本掌握了,嗯,很好,接下来就要学习各种自动化测试了。
各种单端测试框架:unittest(python)、pytest(python)、JUnit(java)
WEB自动化测试框架:selenium(适用于java\python\javascript)
APP自动化测试框架:appium(适用于java\python\javascript)
以上的内容,根据你学的语言进行选择。
appiunm和selenium根据你参与的项目进行选择。
不过无所谓了,反正迟早都要学会的。
这部分的教程太多了,你学会了编程的基础后,随便百度,好多博客论坛都有教程。
而且凭你那时候的水平,你都能轻松的看懂。
性能方向
对loadrunner和jmeter的掌握更加的深入。
可以手写脚本、脱离录制。
学会了多线程编程、能够手写java或者python、不用工具直接实现压测。
学习linux,毕竟性能总是和服务器打交道的。
学习系统架构的相关知识、方便你更容易的分析系统瓶颈。
说实话、性能方向的提示更难、因为需要掌握的东西太多了。
性能测试做深入了,基本上就是架构师的水平了。
可能你现在看着这个性能方向的学习一脸懵逼。
没关系、等你把上面的编程语言学会了你就不懵逼了。
安全方向
渗透测试
SQL注入
暴力破解
脱库
等等
其实安全测试基本上偏向于网络攻防了,也就是传说中的黑客了,不过我们都是好人,这个的发展方向就是白帽子。
推荐知道创宇的学习体系。
我估计你看到这里就更懵逼了。
没关系、等你把基础的东西学会就知道我在说啥了。
毕竟你现在还是一个小白嘛。
不要去纠结这种小事。
各位在这个阶段,正常情况都应该是中级测试工程师的水平了。
第四阶段 架构学习
前三个阶段学习完成后,各位就应该考虑怎么写代码更合理了。
怎么去测试更全面。
怎么才能更好的保障项目的质量。
我认为,在这个阶段,应该回头重新学习一遍测试基础。
因为这个阶段的提高是思想、方法的提高了。
上面讲的都是教你应该怎么做。
在这个阶段你要自己去发现、为什么要那样做。
跨过了这个阶段就基本上可以成为专家了。
学习都是水到渠成的,在这个时候,你应该已经掌握了不少框架了,甚至自己也能开发合适的框架了。
自动化测试框架、性能测试框架等等。
已经有了属于自己的一套东西了。
在群里或者论坛上去装逼、别人都会尊称你一声大佬了。
可能你也学会了一些其他的技术了,甚至在往全栈等方向跨进了。
总之,到了这个阶段就没什么学习路线了。
在这里,我想给想进阶的朋友们一点建议:很多时候,很多事情,并不像你想象中的那么简单,千万不要自认为简单而不愿意去做,很多东西只有你亲手去做了之后,才会发现事情并不像你最初想的那么简单。
其实自动化测试的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点了解的程度。so,出去面试时先看看自己复习到了哪个阶段就好。
另特意为各位同学准备了一份13G的超实用干货自学资源,涉及的内容非常全面,涵盖功能测试、Linux数据库、Python编程语言,接口测试、UI自动化测试、性能测试......包括软件学习路线图,50多天的上课视频、16个突击实战项目(满足你对测试经验的需求),80余个软件测试用软件,37份测试文档,70个软件测试相关问题,40篇测试经验级文章,上千份测试真题分享,还有2023软件测试面试宝典,还有软件测试求职的各类精选简历,希望对大家有所帮助…