随着国内软件行业的蓬勃发展,各种各样的软件应用层出不穷,人们的生活也越来越依赖软件,因此软件的质量就越来越受重视,而软件测试作为软件研发过程的两大核心之一,在企业和研发团队的地位也越来越重要,岗位需求也越来越大。本文就告诉各位想要进入IT行业成为测试工程师的小伙伴和已经在测试行业并且想要有更大发展的小伙伴一条进阶和发展之路。本文内容较长,望各位小伙伴能够耐心读完,相信一定会令你茅塞顿开,获益匪浅!

 一、掌握通用软件测试基础技术。

 抛开所有其他的计算机技术不谈,就只是软件测试基础技术那也是比较复杂的,远不像网络上或者你身边的朋友说的那样,对软件点点点就够。因为如果只是对软件点点点,软件测试有一种测试方法叫做“猴子测试”,完全可以找个小动物随便进行,找人干啥?因此就要有各种创新性的作法。

 比如看到软件界面上有个出生日期的字样,首先就要联想到后面跟着的是一个日历的选择,并且只需要年月日就够了,更要保证这个选择过程不能选择当前日期未来的日期,毕竟未来一切尚不可知。当然了,这只是软件测试的一个方面。

 再比如,我们购买的手机,有个性能参数是工作温度,在适合的工作温度区间,测试人员要关注在不同的温度时,APP运行期间的耗电量,理应平稳的好点会不会在较低温度时出现耗电量猛增的现象。

 所以,软件测试工程师可以在不懂其他技术的时候,只需要按照其他的软件运行要求和标准,也就是我们所说的需求,进行测试和判断就好。下面就说一下这部分应该掌握的技术:

2023年最新推荐全栈软件测试工程师学习和进阶路线_自动化测试

 二、软件测试环境配置技术

 在管理科学和严谨的软件研发团队中,测试人员所使用的测试环境和开发团队所使用的开发环境是不同的。这就要求测试团队的成员能够自行配置和管理测试环境。

 我们都知道,现在绝大多数的软件和系统都是B/S(Browser/Server:用浏览器通过网页的形式使用应用)结构或者C/S(Client/Server:通过专门的客户端软件享受服务)结构的应用。

 所以,作为测试工程师需要会安装和配置,能让被测试软件提供正常应用服务所需的各种软件和参数配置。

 比如,使用什么类型的操作系统,使用哪一种开发语言环境,使用哪一种数据库管理系统,使用哪一种应用服务软件。

 所以,作为软件测试工程师,需要会使用包含Windows系统在内的其他操作系统,并且按照特定的软件搭配技术进行安装和配置应用服务环境。

2023年最新推荐全栈软件测试工程师学习和进阶路线_Web_02

 三、软件测试数据库技术

 软件测试工程师进行的过程中,除了要懂得具体的软件测试技术和会安装和配置测试环境之外,还要对软件运行中的数据的来源和流转过程进行分析和测试。

 比如,在电商购物的时候对于购物筛选条件:

2023年最新推荐全栈软件测试工程师学习和进阶路线_软件测试_03

 按照条件查询的时候,结果显示的内容是不是真的正确?这就不仅仅需要了解商品信息显示的内容,更需要了解商品信息的添加,并且判断商品信息在这两个位置是一致的。这就要求测试工程师能够掌握数据库方面的知识:

2023年最新推荐全栈软件测试工程师学习和进阶路线_自动化测试_04

 四、软件测试之Web开发和测试技术

 通过前三个方面的测试技术,基本算是掌握了一定技术的测试工程师,如果经验多一点,拿到8K左右的工资还是比较可以的,但是那也只是测试技术的基础阶段。测试工作非常重要的目标就是找软件的bug,如何能找到软件的缺陷,我们就需要了解软件是怎么开发出来的。

 比如,最常见的各种Web网站。网页上每一个页面的元素都是测试对象。文本框能够输入的数据类型怎么限制,数据长度怎么限制,单选按钮是不是真的能够选择并且只能选择一个,复选框是不是真的能够勾选和取消勾选,提交出去的数据为什么有些就会显示在浏览器的地址栏,有些就不显示,网页上的弹出框是怎么实现的……而以上内容就真的需要Web开发的知识。

2023年最新推荐全栈软件测试工程师学习和进阶路线_自动化测试_05

 Web开发知识能让我们进行Web测试的时候更加得心应手,能更好的发现Web应用的缺陷。Web测试可从以下几个方面进行:

2023年最新推荐全栈软件测试工程师学习和进阶路线_软件测试_06

 五、软件测试之后端开发技术

 Web属于前端的知识,通过学习这部分的内容,我们可以清楚的了解界面部分的运行原理和内容,但是软件系统的逻辑处理过程是怎样的呢,这就有赖于学习后端开发语言了,这里可以学习Java、也可以学习Python,甚至是C语言或者C++语言,但是推荐学习Python。

 其中主要是因为Python简单,学习起来相对容易一些。而且在测试方面,Python相对更流行一些。另外一个原因就是,虽然学习开发语言,但是主要的目标依然还是测试。

 也就是说,不会像开发一样需要掌握那么深入的内容。所以最起码需要掌握以下的内容:

2023年最新推荐全栈软件测试工程师学习和进阶路线_自动化测试_07

 那也可以阅读书籍实现Python基本知识的学习,推荐图书《Python程序设计基础》。

 六、软件测试之Web自动化测试

 软件测试之所以被认为没有什么技术含量,那是因为很多软件不足以支持大规模的自动化测试,他们的测试处于比较低级的阶段。如果满足自动化测试的要求,那软件测试工作也是一项充满了挑战与激情的工作。

 首先说一下自动化测试中的Web自动化测试,就是自动化测试中比较入门的,偏向于界面(UI)自动化测试。既然是自动化测试,那就势不可挡的需要开发语言,所以在有了开发语言的技能之后,Web自动化测试也将不再是难事。下面说一下Web自动化测试需要掌握的技能:

2023年最新推荐全栈软件测试工程师学习和进阶路线_自动化测试_08

 七、软件测试之移动端应用及自动化测试

 智能手机的广泛应用让基于移动端的APP十分的繁多,并且测试的方向和测试点也变得更多更复杂,除了通用的软件测试技术和技能之外,还要更加注重和结合移动端APP的特点实施测试。

 毕竟把APP的手工测试做的再怎么好,也还是技术含量较低,自动化测试也是必然的趋势。因此,APP的移动端测试也需要掌握。

2023年最新推荐全栈软件测试工程师学习和进阶路线_软件测试_09

 八、软件测试之前后端接口测试

 接口测试是一种目前较为流行的测试方向,名字看起来特别的高大上,但是技术实现非常简单。通常市面上的主流的测试工具都可以实现企业要求的接口测试的目标。

 为什么是测试工具呢?因为接口测试和基本的功能测试不一样,接口测试没有界面的辅助,全靠数据分析和判断。所以对工具要求较多。例如,下面的这些工具应用都要会:

2023年最新推荐全栈软件测试工程师学习和进阶路线_软件测试_10

 接口测试对及时要求并不是特别高,但是技术广度却比较高。比如要能够读懂接口文档(API文档)虽然不难,但是全面的接口测试文档内容却非常的繁琐。

 除此之外,接口请求方式,请求协议,响应状态码,响应的数据分析,这些都很重要。

 九、软件测试之性能测试

 性能测试可以说是与手工、功能、UI自动化、接口测试完全不在同一个层面的东西。它的技术要求更高,知识要求更深,经验要求更多。

 因为影响一个软件运行的性能的因素太多了:

2023年最新推荐全栈软件测试工程师学习和进阶路线_自动化测试_11

 所以,市场上性能测试工程师的经验普遍要求在5年以上,并且对操作系统、数据库、网络、开发语言、工具应用、系统架构和设计都有比较高的要求。例如要明确负载测试、压力测试、稳定性测试、可靠性测试、失效恢复测试、大数据量测试等内容的区别,更是要能够读懂测试中系统的各项数据:

2023年最新推荐全栈软件测试工程师学习和进阶路线_自动化测试_12

 除此之外,性能测试中的各种常用术语也要十分熟练:

2023年最新推荐全栈软件测试工程师学习和进阶路线_软件测试_13

 并且需要能够很清楚的说出这些数据之间的联系,以及他们之间变化的关系。

 另外性能测试绝对不会使用手工测试进行,都是工具进行的。

 这个内容的学习可能不能直接成为优秀的性能测试工程师,但是也能增加对软件测试的深入了解。

 以上九大内容,从基础到进阶,最后到高级,如果能够坚持下来,成为合格的软件功能测试工程师或者自动化测试工程师也是指日可待的!