当前位置:   article > 正文

软件测试需要学什么?年薪30W+的测试工程师需要掌握哪些技能?_测试系统化的要学习哪些

软件测试需要学什么?年薪30W+的测试工程师需要掌握哪些技能?_测试系统化的要学习哪些

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以戳这里获取

软件测试的应用领域极其广泛,测试需要用到的技术也非常多。一个未来发展稳定的技术路线工程师,一定要发展两个擅长点。

一是软件测试的技术纵深:

技术纵深指的是全面的软件测试技术,比如自动化测试、接口测试、性能测试、WEB自动化测试、移动APP测试、计算机运维、安全渗透测试等,并且掌握系统化的Sql数据语言、测试架构能力的掌握、DevOps集成测试的系统性应用。
除此以外,至少掌握和擅长一门编程语言是比较基本的要求。Python、Java、Go、C++等等都是可以选择的,一般掌握Python或Java其中之一就够用了。当然如果有能力同时掌握,对自己的职业发展和技术延伸肯定更有帮助。

二是软件测试领域的多项目经验:

在我们发展自身软件测试纵深技术的同时,我们还可以同时挑战不同领域的项目测试。如上文提到的很多领域,AI人工智能、车机互联、金融系统、大型电商系统、鸿蒙等操作系统的多维度测试。对测试工程师而言,增加一些其他领域的测试经验,将会为以后的长足发展带来不可思议的好处,也能为测试工程师本身的能力加分。
Alt

方向二:产品经理

测试工程师因其工作的特殊性,需要掌握产品的用户需求、设计需求以及产品的底层结构等各方面,测试人员会从用户的角度出发,去看待软件产品各方面可能存在的不利体验和准确诉求。所以经验比较足的测试人员,对产品的各个维度都能做整体化的把控。比如分析产品的用户需求和体验,以用户的角度来分析产品的定位和功能的迭代等等。可以说从测试转为产品经理的人,一定是一名非常有全局性、前瞻性的优秀产品经理。

方向三:测试经理

软件测试工程师最直接的晋升路线就是测试经理了。一般是领导着整个部门,把控软件的品控、风控、质量管理、工作优化分配等等。优秀的测试经理,一定是对企业产品有充分且全面的了解,对测试的流程、测试的思维、高效的测试方法、丰富的测试实战经验有着异于常人的能力。

当然一名优秀的测试经理,肯定不可能只有高深的测试技术,还需要有比较出色的团队领导能力,毕竟不是每个人天生都适合做领导的。这一块儿不光是软件测试行业,其他行业的同学也一样需要注意,领导能力虽不是天生就会,但我们可以在工作过程中和优秀的领导学习,但如果你拥有比较出色的领导能力,那么你在任何一个地方都会是闪亮的金子。

二、软件测试的学习路线

Alt

1、软件测试基础知识

学习目标:对软件测试整理的测试流程有清晰的概念,了解软件测试到底是做什么的,软件测试的各种专业术语是什么意思,以及多种不同的软件测试类型区分,测试用例的作用、本质以及如何撰写,测试报告、缺陷管理、常见的软件测试工具(selenium|Postman|禅道的认识)等等
①软件测试概念:常见的软件测试类型、软件测试的概念掌握、软件质量模型等等
②测试用例:明白测试用例如何设计,测试用例的系统化设计原则,常见的几类测试用例设计方法(因果图法、场景法、正交表法、边界值法、等价类方法等等)
③缺陷管理:正确掌握何谓“缺陷”,常见的缺陷判定方法,缺陷报告的撰写方法,缺陷如何系统性的跟踪和维护等等
④Web项目实战:基础的Web测试项目实战,通过实战了解和掌握基础的软件测试流程、测试项目分析、测试计划和测试方案的设计等等
⑤App项目实战:掌握和了解APP的测试方法,Android、IOS、鸿蒙等不同系统的测试解决方案,Adb的应用等等
⑥测试管理工具:禅道、Testhub、Jira等不同测试工具的特性和优劣,以及测试管理工具的应用场景和原理等等。
在这里插入图片描述

2、计算机基础知识

学习目标:主要掌握计算机的系统基础原理(内存信息、运作原理、Linux操作系统命令)、测试的基本理论知识、前端方面的基础知识(HTML+CSS+JavaScript)等。
①计算机基础:掌握和熟悉计算机的组成部分(CPU、GPU、内存等等)、常用的Dos命令等;
②测试理论:软件测试的目的和最终定义,软件测试的术语系列、软件产品的基本测试流程和系统化的测试模型;
③HTML基础:HTML标记语言的基本语法和结构、CSS和DIV层及网页样式的概念,熟悉和掌握常见的HTML标签语法和作用,以及JavaScript语言的基础语法和应用
④Linux系统:掌握Linux系统的安装和操作,Linux终端的各类常见命令的作用(文件操作命令、用户权限管理命令、应用安装和升级的命令)、Docker的安装和使用、以及常见的Linux远程连接方式和方法,其次还要掌握Vi编辑器的使用
在这里插入图片描述

3、Sql数据库的学习

学习目标:掌握基本的sql语句的使用方法,以及常见的sql增删改查、聚合函数以及各类条件查询、子查询的命令。同时需要了解Sql数据库在诸如接口和性能测试中扮演的“角色”和意义
①数据库的基本概念:什么是数据库,数据库都有哪些类型;
②数据库语法:学习掌握Sql语句的基本语法;
③数据库查询:学习和掌握多种数据库的查询方法,比如复杂查询、多表查询、条件查询等等;
④数据库索引:了解和掌握数据库索引以及数据库事务相关的概念;
⑤数据库客户端:常见的数据库客户端的使用方法,以及不同的客户端的优劣和应用场景。

4、编程语言学习

学习目标:对于软件测试工程师而言,想要在软件测试领域做的不错,就需要掌握至少一门编程语言。没有编程基础的我们建议选择Python,如果有一定编程语言基础的可以选择Java。但是Java入门周期和学习难度相对于Python要大一些,但是两者在市面上的应用领域其实差不多,Python在某些领域(人工智能、爬虫和数据分析)要更优于Java语言。所以测试猿大课堂的软件测试课程大纲,就是以Python语言为课标的。
①Python基础:学习和掌握Python语言的基础语法、Python的运行环境以及安装
②Python数据结构:学习和掌握Python的几种数据结构,诸如基础数据结构(数字类型、字符串类型、数值运算、关键字参数等等)和组合数据结构(列表、字典、元组、集合、hash对象、内存数据结构地址等等)
③程序控制:学习和掌握Python语言中的异常处理、顺序/循环/判断/结构、逻辑运算等
④函数:掌握和学习Python的函数运用、函数的定义和作用域等,内置函数和函数传参
⑤面向对象:学习Python语言面向对象编程的特点,掌握对象编程的特色和优势,学习面向对象编程的底层逻辑及特殊方法
⑥日志:学习掌握Python的日志格式、配置文件以及内置的占位符等等
⑦测试框架:学习和掌握Python中的Unittest和Pytest两种常用的测试框架,两种框架本身可应用于单元测试,但更多的是用于编写自动化测试脚本【非常重要】
⑧并发编程:和Java语言一样,Python有其独特的多进程、多线程、线程池、分布等并发编程,学员需要学习和掌握Python的并发编程的特色和方法
⑨网络编程:学习和掌握TCP服务端和客户端的使用方法,学习Python对HTTP/HTTPS协议的响应,以及socket的编程基础
在这里插入图片描述

5、接口测试

学习目标:学习和掌握接口测试的概念和原理。掌握HTTP/HTTPS协议的原理,学习和掌握Dubbox的接口测试方法和协议接口能力,主要掌握Postman的操作以及使用技巧
①HTTP/HTTPS协议:学习和掌握HTTP/HTTPS协议的原理
②请求:学习和掌握常见的Get、Post请求
③Cookie:学习和掌握Cookie、Session的原理以及解决方案
④接口相关:学习掌握接口的文档、接口的基本概念以及接口的测试用例编写,熟悉和掌握接口相关的Postman、Jmeter、SoapUI等测试工具的使用方法
在这里插入图片描述

6、性能测试

学习目标:性能测试属于高端测试工程师需要掌握的技术,对技术要求也有一定的门槛。学习性能测试需要掌握系统架构、Loadrunner等常用的测试工具。学习系统化的测试思维和流程,掌握性能测试的设计与需求分析,以及编写测试脚本。
①性能测试基础:学习和掌握性能测试的意义、性能测试的分类以及常见的性能指标概念的理解
②性能测试需求与设计:学习掌握性能测试的系统化需求分析、性能测试的场景设计
③性能测试进阶:主要掌握性能测试的脚本编写原理与方法,以及监控测试执行的资源,学习性能调优、回归测试等相关的概念与底层逻辑
③性能测试工具:深度掌握Jmeter和Loadrunner的拓展用法,学习性能测试的报告输出
在这里插入图片描述

7、App自动化测试

学习目标:APP自动化测试,是当前软件测试行业中较为主流的测试技术。我们需要掌握APP测试工具Appium的使用,掌握常见的多系统(Android、IOS、鸿蒙)系统的测试APP方法,移动自动化测试环境的搭建
①APP测试环境搭建:主要学习掌握Appium、模拟器、Adb、Desktop等测试环境搭建的必备知识,了解真机设备的调式模式,以及系统化的测试环境的搭建方法
②Appium的使用:掌握Appium的元素定位(原生App元素定位、WebApp应用元素定位)与元素交互(常见的界面互动操作方法、元素的基本属性和页面等待)方法
③测试框架封装:学习和掌握Appium集成、以及Adb工具的使用,了解移动App测试的深度应用(屏幕截图、异常处理、Appium日志解析等等)
在这里插入图片描述

8、持续集成和持续测试

学习目标:主要学习和掌握持续集成Jenkins、Git的环境部署,以及对应的系统化分支的学习,掌握Docker容器的部署和应用
①版本控制Git:为什么需要版本控制,为什么是git,git的部署,git的分支结构,分支合并和冲突解决
②持续集成Jenkins:Jenkins的作用,enkins环境部署,基本的文件结构,Jenkins基本的使用以及插件的使用
③容器Docker:Dockers的来源,docker镜像,容器
在这里插入图片描述

三、给所有入行软测的同学们几条真诚的建议

这里写给每位正在学习或想要学习软件测试的同学们一点建议,主要是帮大家梳理以就业为主的学习侧重点,简单来说就是【这些都是重点,圈起来,要考的】。而且是对后续的就业至关重要的内容,一定要仔细看和记:
建议一:一定要学习一门编程语言,然后再开始使用自动化测试相关的工具
关于编程语言的选择,是很多想转行软件测试的新人们都会有的痛点。Python、Java、C++、PHP等众多优秀的开发语言,到底选择哪个好?哪个对未来的发展和就业帮助更大。测试猿大课堂建议大家,如果没有你自身之前没有编程的基础,我建议你先学Python,后续再根据职业的发展和岗位要求另行延伸。
因为Python在软件测试领域的应用非常广泛,许多大型互联网企业的测试脚本研发,也都已Python为主,其次Python语言对新手更友好,入门相对简单一些,学习周期短,上手非常快,5-10天的学习就能自己上手一个简单的小项目。
建议二:一定要在前期打牢基础,一步一个脚印
分基础尤为重要的有三个点:计算机系统原理基础、Linux系统命令的学习、Sql语言的基础(增删改查)、Web前端的基础(HTML+CSS+Javascript等等这些前端基础尤为重要)、其次就是HTTP/HTTPS(TCP/IP)协议的基础知识。当然还有Python的基础一样非常重要,这个不需要我多讲。
可以说这些知识点,是我们后期在企业中做自动化测试都会用到的知识点,尤其是新手,前期学习的时候,千万不要觉得这些知识还不是“测试”就掉以轻心,把这些基础打牢一定会让将来的你,在软件测试就业路上走的“更快,更高”!

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以戳这里获取

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以戳这里获取

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/黑客灵魂/article/detail/826109
推荐阅读
相关标签
  

闽ICP备14008679号