初、中、高级测试工程师成长指南

2021-01-12  测试奇谭 

大家好,分享一篇自己的总结文。

原文链接:https://mp.weixin.qq.com/s/qfoaFbc5yXwsF7J4WOJlsA

起因

自从开博以来,很多小伙伴询问我零基础如何转行软件测试、软件测试该学什么、中级和高级测试需要掌握哪些技能之类的问题。

为了让大家系统的了解软件测试,掌握合理、正确的学习方法和目标,我制作了一个学习 & 成长列表,你可以根据该列表制定自己不同阶段的学习 & 成长计划。

tips:

  1. 斜体字表示有链接文章,第一次在testwo发文,守规矩,不贴链(需要的话,可自行在网络上搜一搜:测试奇谭
  2. 本文长期更新
  3. 本文只谈测试工程师路线,管理路线暂时不谈
  4. 分级因人而异,因公司而异,根据所需拿取

测试基础

无需多说,必须重点掌握!!!一切技术皆由理论发展而来。

01 学习内容

①职业介绍:IT公司和互联网公司各岗位的工作职责,如开发、测试、产品、设计、项目经理等

②软件流程:研发模型、研发流程、版本迭代、项目需求、需求文档、测试流程、上线流程等

③测试设计:测试计划、测试方法、测试用例、测试管理工具

④BUG:定义、分类、生命周期

02 学习程度

初级-能够理解并说出这些概念,能自己组织语言讲懂给一个不是测试行业的人

中级-完全理解,能够结合工作理解基础,明确每一个概念的真正意义,有自己的反思和总

高级-完全吃透,随着思维和技能的提升,起于基础,又归于基础,以解决问题为导向

03 学习方法

职业介绍百度即可。

其他建议看理论书籍,花一到两周时间系统学习,最好不要百度。

自学软件测试,该读写什么数据?

测试分类

01 功能测试

亦称黑盒测试,常被调侃的点点点工程师,分app测试(手机上的应用程序)、web测试(浏览器访问的网页)、接口测试(访问服务的资源路径)三种。

别管网友如何调侃,如果你能成为业务专家,点点点,未尝不可。

偏题了,害~

初级-根据公司要求,会其一,了解另二,最好了解接口测试

什么是接口测试?这篇文章让你明白
分享一份适合练手的接口测试实战项目
分享一份适合练手的软件测试实战项目
自学软件测试,缺少项目实战怎么办?

中级-三者都通;业务水平在项目组中等偏上

移动端应用测试需要考虑的崩溃场景

高级-三者都精通;业务精英或者业务专家,可怼产品,能给建议;有全局意识,逆向思维,破坏性思维,主人翁意识

全链路测试:容易忽略的上下游超时时间

02 性能测试

初级-无要求,掌握是加分项

中级-熟练使用主流的性能测试工具,如jmeter、loadrunner等,有相关性能压测经验;能手撸压测脚本;了解服务架构设计,了解性能分析,能协助开发调优

高级-另一条专职专岗的技术路线——性能测试工程师,调优、架构、压测平台玩得有模有样。对技术要求特别高,不建议走此路,除非你真的喜欢,有天赋,肯努力

03 白盒测试

重温黑盒、白盒与灰盒测试方法

初级-无要求,简历上写了是减分项,除非你真懂

中级-多少知道一点开发的代码架构设计,会bug定位,了解代码走查,代码诊断,代码审查等

bug定位与总结系列

高级-技术专家,部门带头人。对技术要求特别高,不建议走此路,除非你真的喜欢,有天赋,肯努力

04 安全测试

初级-无要求,简历上写了是减分项,除非你真懂

中级-多少知道一点渗透测试、SQL注入、XSS攻击、暴力破解等

安全测试02:sql绕过认证
安全测试01:探测应用程序

高级-另一条专职专岗的技术路线——安全测试工程师,准黑客或黑客级别

05 自动化测试

具备编码能力,以开发app自动化、web自动化、接口自动化、PC自动化、数据自动化、各类自动化平台项目

初级-无要求。了解常用的自动化框架即可

中级-掌握一种或两种编程语言;熟练编写自动化测试用例和脚本,能够深入到自动化测试框架的方法层;会debug

自动化测试系列

高级-已经掌握各类开发技术,充分了解各编码语言、各自动化框架的优缺点,深入到自动化测试的架构层,具备框架开发能力,能根据工作需求进行设计,能开发自动化测试平台、效能平台等,能独立承担中大型自动化测试项目

为什么你做自动化测试总是难以提升?

测试技术

01 网络协议

初级-初步了解TCP/IP、HTTP、HTTPS等知识,包括但不限于了解一个url访问的生命周期,区分get请求和post请求,知道cookie、session等;会抓包

Fiddler抓包指南02:重要函数和快捷操作
Fiddler抓包指南01:认识Fiddler
Fiddler调试权威指南

中级-结合工作,能在各种复杂场景下的追溯请求;懂抓包;懂mock;懂篡改请求响应数据等

高级-掌握网络编程技术

02 Linux

目前,大多数公司的服务器部署在linux系统上,且云服务正盛,故需要掌握该技能

初级-会用常用命令,如查看,复制粘贴、访问日志等

中级-安装软件,搭建服务,会排错;shell初级脚本;能手撸Linux三剑客之一grep;了解云服务知识

高级-会问题排查,熟悉系统指标;shell高级脚本;正则表达式;能手撸Linux三剑客另二之sed、awk;熟悉各类云平台及服务

04 编码能力

同上面讲的白盒测试和自动化测试,有些许相似之处

初级-无要求,了解基本语法。非科班专业,建议学python

极简python教程:赛前说明

中级-独立或部分独立完成一个项目

高级-独立完成一个复杂项目;熟悉常见架构,分布式系统;能实现后端服务,具备全栈开发能力

05 版本交付

初级-无要求,但要知道什么是版本管理和版本交付,知道git和svn工具,了解Jenkins

中级-随着自动化测试的进行,编码技术的提升,自然会掌握该技术

高级-没啥说的,看代码,合代码,控制项目版本,CI/CD

06 数据库

初级-安装、访问、常用的增删查改sql语句,工作中使用最多的是select和update语句

中级-子查询、分表查询,存储过程,索引;mysql、redis

高级-搭建服务,部署系统,问题排查。很多线上问题跟数据库有关

07 其他技术

如缓存,多线程,Docker,k8s,中间件mq、nginx等

初级-无要求

中级-根据公司要求来,懂一些测试方法,出现了相关bug,知道咋回事,而非一脸茫然

高级-熟练掌握各类技术,知道其原理,上手测试毫无压力

软技能

一名软件测试工程师的日常

测试技能决定你的测试职业发展,而软技能会决定你整个职业生涯。

01 项目相关

初级-没啥想的,干好本职测试工作,好好学习

中级-熟悉测试业务,至少是项目负责人,如果一直待在一个行业,对该行业有了解和认识;除开工作,开始思考一些问题,如提升效率等,并注重文档写作、个人总结等

一次线上事故引发的验收测试总结
边提bug边思考

高级-吃透业务,吃透行业,吃透测试的本质,owner独当一面,输出 & 分享,向上汇报……太多了,因人而异

持续进阶系列:高可用测试方案和思维
测试思维进阶:站在用户角度进行测试

02 职场相关

独立思考、逻辑能力、解决问题思维、风险意识、分析能力、执行力、沟通能力、团队协作能力……

这个不罗列了,因人而异,因追求而异,略偏题。

03 面试 & 简历 

先贴几篇文,后面再更新。

面试资料可戳我获取
简历优化实战案例03:自我介绍篇
简历优化实战案例02:个人技能篇
简历优化实战案例01:工作经历篇

78°|786 人阅读|0 条评论
登录 后发表评论