目录:导读
- 前言
- 一、Python编程入门到精通
- 二、接口自动化项目实战
- 三、Web自动化项目实战
- 四、App自动化项目实战
- 五、一线大厂简历
- 六、测试开发DevOps体系
- 七、常用自动化测试工具
- 八、JMeter性能测试
- 九、总结(尾部小惊喜)
前言
1、手工测试如何进阶中高级软件测试工程师
在软件测试行业,也有简单的测试,譬如手工测试,这种测试基本上没有什么技术水平。
学1—2个月基本上就能做简单的测试工作,但是这类测试薪资待遇比较低,也没什么发展前景,随着互联网产品功能的逐渐复杂,手工测试人员已经逐渐从企业中淘汰。
如何进阶?
1)扎实的测试理论知识
理论基础可以说是测试人员的根基,是软件测试人员必须要掌握的知识,例如软件生命周期,测试用例编写方法,软件测试原则。软件测试管理相关技术,软件各个阶段评审,软件测试计划编写,软件测试过程管理,软件验收,软件测试整个过程一些文档规范等等。
2)基础的编程语言
编程语言并不是开发人员才要学的内容,中高级测试工程师也必须要会编程语言,只是不需要像开发人员那么精通,像Java和Python都是比较热门的编程语言。
3)了解和接触框架
这里的框架指的是Selenium和一些自动化测试框架。包括:单元测试框架,Java中Junit或者testNG,Python中unittest。
4)Linux和数据库
不用说,自动化测试到一定深度,也需要用代码连接数据库去进行测试,Linux和shell脚本,基本上测试环境也会接触到。如果要做自动化部署和运维,常见的Linux和shell脚本是有必要学习的。
5)版本控制和持续集成
目前大多数互联网公司使用GIT作为公司版本管理工具,所以需要去学习、了解它,包括它的基本操作。
因此在课程的持续集成部分将SVN版本管理替换成了GIT版本管理,旨在切合企业发展所需。
6)爬虫
这也是中高级测试工程师需要掌握的技能,学Python语言的话也可以用Python执行。
7)自动化脚本开发;
这里主要指的是selenium与requests,用selenium编写自动化测试用例,当然需要对selenium达到非常熟练的地步,来实现更深层次的项目测试。
2、测试工程师如何突破职业瓶颈
互联网仍在发展,但已经是存量市场了,对人员规模的需求正在放缓。在存量市场里,冗余人员和低效人员会被淘汰、被外包,而优秀的人才也会一直受到招聘方的青睐。
所以我们就看到了近期行业里冰火两重天的一幕,一边是大量的低端测试工程师被淘汰、被外包和被迫转行,求职屡屡碰壁,而另一边,却是很多测试经理求贤若渴四处挖人。需求和供给的不匹配,导致招人难、就业也难。
如何破局?
为了帮助测试工程师度过寒冬,我们分析了大量名企和行业独角兽的高薪招聘职位,给大家做了一个招聘需求总结,帮助大家更好的了解行业形势。
在对热招的岗位需求进行了分类与梳理后,我们发现拥有以下六种能力模型的简历,是很多测试经理与HR最喜欢的类型。
六种能力模型分别是项目经验、开发能力、自动化测试能力、测试开发架构能力、持续测试能力、影响力,快来看看你是不是传说中的“六边形战士”吧。
1)项目经验
初级:熟悉软件测试方法论,熟悉项目流程,在需求分析、测试设计方面具备优秀的执行力,此阶段通常会通过校招解决,也会有学历限制,大多数公司要求本科,名企基本都在要求211。在此建议应届毕业生在正式毕业前可以提前实习。
中级:可以独立完成被测功能或者被测产品的完整测试,具备相对完善的各项测试能力。
高级:凭借积累的经验可以在需求分析、测试用例设计与执行阶段提出诸多有价值的改进意见,在被测产品所在的领域里具备专业的测试知识与经验。
资深:能够通过合适的工具与技术提升项目的质量、效率,有效降低项目成本。
专家:具备超前的视野可以带领项目跨域式发展。
2)开发能力
初级:掌握至少一门常用语言,比如Python、Java、Nodejs、Go等。
中级:掌握面向对象编程(OOP)的开发方法。
高级:掌握数据结构与算法,冒泡排序、链表、堆栈、二叉树是基本要求。
资深:了解常用设计模式,可以完成部分测试开发工作。
专家:了解对应编程语言的运行时,可以对研发代码进行review,可以进行代码的静态测试与动态测试,精通覆盖率统计 trace debug与hook等能力。
3)自动化测试能力
初级:掌握常用的自动化测试框架,selenium、appium、jmeter等,有人可能会好奇,cypress、playwright、airtest、atx不也很好嘛,为什么企业不要求。其实是企业默认如果你掌握了selenium与appium,那么学习其他的框架是轻而易举的,所以在招聘要求里都会直接写最常用的测试框架。
中级:掌握测试用例的编排,掌握被测业务的封装,掌握page object model,可以维护复杂的测试用例管理。
高级:精通自动化测试框架,可以根据业务需要,对测试框架进行定制开发,实现例如稳定性、报告优化等相关的特性增强。
资深:可以根据业务需要,编写与增强已有测试框架的测试领域能力,比如增加支持tcp、pb、rpc、微服务等各种协议与被测对象的测试能力。
专家:可以设计与维护新的测试框架,支持多种测试用例管理风格,比如DDT、ATDD、BDD等。设计的测试框架可以与测试平台中的测试用例管理进行结合。
4)测试开发架构能力
初级:可以利用行业已有技术对测试阶段的测试数据,进行分析并实现数据化可视化建设。
中级:可以实现测试右移体系建设。
高级:可以实现测试左移体系建设。
资深:可以通过测试平台的方式实现测试能力的对外交付。
专家:可以实现链路分析与精准测试,实现测试模型分析能力。
5)持续测试能力
初级:掌握Jenkins等持续集成平台,具备基本的脚本编程能力与容器化基础知识。
中级:掌握持续集成平台的维护、测试能力集成、流程编排与分支管理。
高级:可以实现持续交付能力,利用Jenkinsfile blueocean等技术实现部署自动化与测试自动化结合。
资深:可以熟练掌握K8S等容器编排平台,建立起复杂集群的部署自动化与测试自动化体系。
专家:可以针对复杂的集群管理完成专项质量的测试体系建设,并沉淀出可交付的测试能力。
6)影响力
初级:可以胜任小组内的测试管理工作。
中级:可以胜任部门内的项目管理工作。
高级:可以胜任跨部门协作的项目管理工作。
资深:在技术建设或者项目管理方面具备优秀的经验,可以带动团队的成长。
专家:在技术建设或者项目管理方面具备资深经验,可以为团队带来突破性发展。
下面是我整理的2023年最全的软件测试工程师学习知识架构体系图 |
一、Python编程入门到精通
二、接口自动化项目实战
三、Web自动化项目实战
四、App自动化项目实战
五、一线大厂简历
六、测试开发DevOps体系
七、常用自动化测试工具
八、JMeter性能测试
九、总结(尾部小惊喜)
困难不会永远存在,但坚持奋斗的精神会让你变得更加强大。勇敢追求梦想,坚持不懈,成功的光芒终将照耀在你的人生之路上。
勇敢逐梦,坚持不懈,每一次努力都是改变命运的契机。相信自己,迎接挑战,只有拼尽全力,才能书写出精彩绝伦的人生篇章。
不要畏惧失败,因为每一次跌倒都是重新站起的机会。奋斗不止,追求卓越,只有坚持不懈,才能创造出令人瞩目的人生华章。