看完这篇文章,你的软件测试学习路线一定会无比清晰!
作者:互联网
为了你能够看完回答就能立马开始着手实施,我从下面三个方面帮助你解答:
- 软件测试自学的方式方法
- 软件测试自学的路线和内容
- 优秀的软件测试工程师必须具备的能力
在知道学习哪些内容之前,首先要明白怎么去学?通过哪些途径,哪些方法学习更加高效?这样你才能事半功倍!
软件测试自学的方式方法
结合行业调查报告可以看出,测试从业者的学习渠道主要是:
1、在线社区/论坛/博客
2、测试书籍
3、线下的沙龙/专题讲座
4、公司内部的培训
5、在线的免费直播课程
因此我的建议是用好搜索引擎,学会自己去查找答案,解决问题,这个是第一位的;
其次就是要关注一些在线的社区和论坛,比如testerhome,这样你才能获得最新的行业动态和技术内容;
在这就是要阅读一些经典的测试书籍和文章,这是帮助你打好基础,提高认知的必要学习内容;
最后就是要去多参加一些行业内的沙龙、讲座等,除了开拓视野之外,还可以让你看看大佬们的思维方式,以及拓展自己在行业内的人脉,毕竟找工作可不是投简历一条路子。
对于书籍来说,不罗列,只推荐精品,这里分阶段准备了13本经典书籍,适合测试人员的各个阶段,据说看到文末的都找到了电子版的下载方式。
- 入门基础:《软件测试》、《鸟哥的Linux私房菜》、《head first python》
- 测试技术:《深入理解Java虚拟机》、《移动App性能评测与优化》、《性能之巅》
- 代码分析:《head first 设计模式》、《重构改善既有代码的设计》、《不测的秘密精准测试之路》
- 测试专家必读:《Google测试之道》、《持续交付》、《人月神话》、《凤凰项目》
大致知道了学习的方式,咱们就要进入今天的重要板块,来聊一聊学习的内容了!
软件测试自学的路线和内容我根据薪资的不同,划分成以下几个阶段具体说一下:
- 月薪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调试与系统调试
性能瓶颈分析
搞定这些,你完全可以很自信的和面试官说自己精通性能测试!
性能测试你能到这个程度,15k那是妥妥的了,如果下面自动化测试的学习内容你能够掌握,那就可以直接冲击月薪25k!
搞定Python或者Java语言,建议先从Python入手
- 基本的语言知识,语法、函数、模块、输入与输出、面向对象编程
- 脚本编写、标准库、多线程、第三方库,外部数据处理
- unittest、pytest测试框架、参数化、数据驱动
web端的自动化测试
- selenium安装、录制、处理 -web控件、JavaScript脚本、PO模式
移动端APP自动化测试
- appium使用、录制、元素定位方法 -APP控件定位、交互,参数化用例
- appium问题定位分析、源码分析、二次封装
服务端接口自动化测试
接口自动化测试框架request
接口请求构造、断言
json/xml请求、响应断言
headcookie处理、认证体系
上面这些说的是性能和自动化测试的学习路线和内容,搞定这些,基本上在这个行业,月薪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持续交付
以上内容绝对不是泛泛而谈!建议收藏或关注,日后去验证。
如果你是测试在职,那么相信文章后半段的内容,你一定能够看到其中的价值所在!毕竟按照这个路线和内容去学习的同学,已经进入了BAT等一线的名企,目前最高级别是阿里P7,年薪最高是60W+!
会了这些技能一定代表你是一个优秀的测试工程师吗?
不一定!
除了“硬技能”,你还需要一些“软实力”!
优秀的软件测试工程师必须具备的能力
对于一个测试工程师,核心的竞争力有哪些?
专业技能:毋庸置疑,吃饭立足的根本,随着你的测试技术的不断深挖,你一定会觉得自己曾经的测试想法是非常浅显的,先要走管理也好,甚至转岗也好,技术的深挖都是非常重要的;
管理技能:能够带领团队高效的运作,高效的完成任务,测试核心王道,当然也要保证团队内部氛围的和谐,促进团队健康发展。你的技术到了一定的程度,自然会担起一定的管理责任的。
学习能力:软实力中最重要的一环,或许听到的比较多了,但是作为过来人建议一点,人的精力有限,把你的有限精力聚焦在最重要的方向;
沟通能力:是不是听起来有些上头,耳朵都听出茧子了,自古套路得人心,但是真诚永流传;
影响力:测试这个行业,越往上,圈子越小,北京、深圳、上海、杭州这些的测试开发、架构师类的,如果有一定影响力的,相互之间交流和学习都是非常容易的。往往越是顶尖,越乐于分享。
所以,对于没有入行的同学,我有16条建议送给你们:
1、警惕自身和单位的耦合程度
- 很多人在一个公司、企业待久了,学的东西都是这个企业所能用到的,时间长了,会发现自己在公司里越来越得心应手,但是你的技能和长处可能仅仅适应这家公司,换一家公司可能就用不上,这样就很危险。
2、忘掉光环,忘掉徒有的虚名
- 特别是在大公司里,而且是做过管理岗位的,那些光环和title会让你骄傲自满。你始终要明白,平台再大,公司再牛掰,终究不是你的真实能力的体现,特别是做过管理岗位的,不要迷恋管理,技术才是长久立足的根本。
3、新技术日新月异,但人生是一场长跑
- 没有一劳永逸,这个行业不进步就淘汰了,要学的,要看的总是很多,但是面对这些也不要有任何的压力和焦虑,人生是一场长跑,保持在跑的状态,就比原地踏步和走要快!
4、短期不要高看自己,长期不要低看自己
- 特别是刚刚入行的,别整天想着写出牛掰炸天的项目来,干出轰轰烈烈的大事,很容易就被挫了或者碰的头破血流。但是人生有很漫长,坚持住,保持初心,量变的积累终究要迎来质变,在突破一个个瓶颈后你也会变得越来越牛掰,从小白到测试架构师,中间是很多个过程,不是一蹴而就的。
5、对于应届生来说,能去大公司就不要去小公司
或许你会说,我倒是想去,也进不去了。这个时候衡量一下是方向没有定好还是能力没有跟上。同等技术能力下,我们更愿意去学校招收,因为可塑造性强,我们也愿意培养。很多时候我们遇到的学生能力都很强,但是并没有坚定方向是往测试上走,这样的可能我们也是不太考虑的。
如果看到外包公司给的工资高,去了外包,可能待个几年就废掉了,特别是这两年,外包大量吸收的都是培训班出来的。
6、简历少整些虚的,生动的描述一些项目比啥都强
- 特别是零基础培训出来的,会陷入一个误区,就是疯狂的包装简历,说白了,面试官也不是傻子,一面的HR你们忽悠过去,二面测试经理来了,揪住某个项目连问3个问题你就蒙圈了。好好的做一些项目,问到一些细节你都是历历在目的,这些可比上去罗列工具好用多了,再说9102年了,还有人在简历里面写性能只会loadrunner?
7、学会接受自己的平庸
- 人生3个阶段嘛,小时候学会接受父母的平庸,长大了学会接受自己的平庸,老了学会接受孩子的平庸。不可否认天资和悟性对于做事情影响比较大,认清自己的能力边界,沉下心来做事情,比什么都强。
8、英语是对计算机最好的buff加成之一
- 很多新的技术、语言、框架出来之后的过程是这样的:英文文档和书籍配合出现,然后出来中文翻译版,最后才会出来中文的原创版本。
9、不要做无意义的加班,身体最重要
- 我的一个朋友,在菊厂,当然不是测试,是Java开发,手底下带了三四个外包一起干活。有时候他也知道这项目不行,但是还是要加班做,最后他们领导说的很经典,这个项目,你们加班到后半夜都搞不定,那就说明真的不行了,那就不做了。这种加班,只是做了加班的样子。
10、不要相信35岁就淘汰的鬼话
- 但是这句话是有前提的,任何行业,测试也好,开发也好,运维也好,处于金字塔尖的人总是稀缺且抢手的。泡沫终将会退潮,到时候你会发现一大批人在“裸泳”。
11、兴趣才是最好的老师
- 你体会过“心流”的感觉吗?就是晚上八点电脑一支,开始敲代码,一抬头已经凌晨两点的那种感觉?那种快感,那种满足感,那种成就感,非常令人着迷。如果你在这个行业只是为了工资和职位,并不是发自内心的驱动研究,那么身上的本领早晚有一天会丢去,因为你的精力会被吸引到你更加感星期的地方。
12、不要吝啬你的工资
- 你的月薪或许是15K,但是你要想着就是13K,剩下的钱固定支持自己学习,买课程、参与大会、参与线下沙龙等等,保持持续学习的能力,这样在“退潮”的时候,你仍然可以畅游。比如可以关注我,是吧。
13、有空就提升提升学历
- 在年轻的时候,特别是一部分专科的同学,还是要想办法提高一下学历的,能力提升了,想要进入大厂了,最后因为这点小问题被卡住,不值当的。
14、提升自己的影响力,而不是闷着头搞测试
- 测试这个行业,越往上,圈子越小,北京、深圳、上海、杭州这些的测试开发、架构师类的,如果有一定影响力的,相互之间交流和学习都是非常容易的。往往越是顶尖,越乐于分享。比如19年年初的MTSC测试大会,很多地方的测试开发都踊跃参会。当然,相互之间的内推也是非常的简单了啦。如果你有内推的需求,简历可以发我瞅瞅哈。
15、任何人的经验都是别人的,不是你自己的
有人会告诉你,35岁以后要转管理,因为技术更新快,年级大了学不动,但是你不知道这个人根本没有能力做到技术专家的程度,所以才去转管理。
还有人告诉你,坚持做技术才有安全感,转管理即使做到中高层,40岁也很容易被离职。但你不知道这个人是名校毕业,毕业的时候专业技能功底就已经很深厚了,而且只擅长技术,不适合管理的岗位。
他们说的都很有道理,但是这个道理只适合他们自己,对你毫无参考价值。
16、想改变就趁现在
- 你不改变,说明生活逼你逼的还不够狠,当你准备开始的时候,一切都不晚。在经历了18年的裁员潮之后,传统手工测试不好找工作,大批的同学来我们学院学测试开发和自动化测试,他们之前也没动力去改变,都是被逼的。
上面是我收集的一些视频资源包
对于软件测试的的朋友来说应该是最全面最完整的备战仓库了,为了更好地整理每个模块,我也参考了很多网上的优质博文和项目,力求不漏掉每一个知识点,很多朋友靠着这些内容进行复习,拿到了BATJ等大厂的offer,这个仓库也已经帮助了很多的软件测试的学习者,希望也能帮助到你!
关注我的微信公众号【程序员二黑】免费获取
当然我更希望的是自己能够打磨自己,而不是在行业变化的时候,自己在原地踏步!
“如人饮水,冷暖自知。”
共勉!
——推荐阅读
高薪程序员也躲不过35岁这一关…当能力与年龄脱节,我们该如何自救
从工地实习月薪3K到一线企业年薪30W,我追上了那个曾经被赋予厚望的自己
标签:无比,性能,技术,接口,篇文章,测试,自动化,软件测试 来源: https://blog.51cto.com/u_15090928/2793453