zl程序教程

您现在的位置是:首页 >  工具

当前栏目

工作1年了,还只会功能测试(点点点)?自学3个月进阶自动化!

自动化 工作 进阶 自学 功能测试 点点 只会
2023-09-14 09:11:16 时间

作为一个在软件测试领域奋斗10年的老人,我前8年先后在不同的互联网公司担任高级软件测试工程师,测试主管等职。所以这么多年下来,也算是身经百战,阅人无数了。

根据粉丝的提问,得到大部分刚出社会的大学生当前的状态是1)入行不久 2)只会功能测试 3)有危机感,上进好学。你的现状代表了很多初入测试职场新人的情况,所以关注这个主题的才会有这么多。所以现在我来告诉你,接下来该怎么走。(文末有作者的笔记分享)

回到题主的问题:“已从事软件测试一年,只会基础的功能测试,想进一步学习,有没有好的建议呢?”,认真分析题主的问题,分析到的需求如下:

显性需求:
1)想进一步学习,想知道方向
隐形需求:
1)建议该方向的原因
2)建议该方向该如何走(学习路径)
3)提供学习资源
补充需求:
1)当前新人应该保持的心态

所以本文的结构将由下面几个部分构成

1.当前新手阶段应该保持的心态
2.进一步学习的方向及原因
3.建议该方向该如何走(学习路径)
4.自动化配套学习资源

一、当前阶段应该保持的心态——不要焦虑

人生在世,最重要的不是自己的处境如何,而是你如何看待自己的处境。新人阶段往往是难熬的,如果不懂调节心态,长期过于焦虑,不仅会伤害自己的健康,也会让自己的职业生涯迷失。过于焦虑就会失去理智,心态上轻易贬低自己,行为上就为轻易跳槽甚至换行。

世界上只有一种失败,叫做半途而废。

世界上只有一种失败,叫做半途而废。

世界上只有一种失败,叫做半途而废。

重要的事情说三遍。

所以新人阶段调整好自己的心态,非常重要。

如何调整自己的心态呢?那就是要知道一个模式,叫做复利模式:

 

公司的财富,个人的成长,乃至植物界的生物也都暗合该模式。作为测试领域新人想心态平和不焦虑,

图标

 

心态变好了,接下来我们就要开始说学习的方向了。

二、进一步学习的方向及原因

作为一个10年老测试,简单粗暴告诉你,进一步学习的方向就1个,那就是自动化测试方向

为什么选定这个自动化测试方向呢?

做过测试的都知道,目前企业对于测试的要求越来越高,占比最大的手工测试或者最基本的功能测试已经无法满足企业的需求。

原因是手工测试的效率低下,而且无法发现系统底层的一些问题,更多的站在应用层面进行验证功能是否正常。如果继续在企业中做手工的基础测试,在未来的时间内注定被淘汰(很不幸,题主就只会功能测试)。

所以如果想继续有好的发展,自动化测试甚至测试开发已经成为测试人员需要具备的必备技能了。

 

在许多互联网的大厂,软件测试的岗位招聘目前只招自动化测试和测试开发,而且这些岗位的共性就是技术能力较强,基本都需要具备较强的编码能力。从企业的需求来看,自动化测试的缺口还是蛮大的,而且很难招聘到符合要求的自动化测试人员。

基于企业的需求,一线城市自动化测试的平均薪资基本在18K/月左右,未来自动化测试会是作为测试人员主流方向,对于技术的追求程度及全面性会越来越高。所以具备自动化测试的技能显得尤为重要。

三、自动化测试方向该如何走(学习路径)?

再讲自动化测试学习路径之前,先看常见自动化测试有哪些常见分类?

软件测试领域的自动化测试的概念往往很宽泛,在实际的应用中,自动化可以根据项目的进度及项目类型要求往往可以划分的更加细致一些,并且每种类型的自动化测试侧重点也不一致,如下截图:

接口测试做什么?

接口自动化测试,是当前自动化测试中的首选,任何一个被测软件系统一般都是前后端分离的,前后端通讯都需要接口,测试接口主要目的就是测试后台提供服务是否正常,故而接口的测试自动化测试中最基本的;如果要学习自动化测试,建议从接口测试开始学习。

web测试做什么?

web自动化测试,也是自动化测试领域的重点。对于有页面类的项目,几乎都可以进行web自动化的测试。主要通过模拟人操作对应系统,验证功能等方面是否正常,能大大提升测试效率,主要应用在一些重复操作的测试中。

移动自动化测试做什么?

移动自动化主要是针对于移动的系统的测试。该测试需要验证功能、性能、兼容性、易用性等方面,主要通过工具或者代码命令的方式模拟人工操作,验证整个软件系统的过程。目前对于移动端的测试主要在功能方面的测试外,还需要覆盖到非功能方面的测试。

-----------------------------------------

看完自动化测试分类后,若想得到一个完整的自动化测试完整路径。我们还需要了解学习自动化测试的前置(支撑)知识和技能。

自动化测试,简而言之,就是把以人为驱动的测试行为转化为机器执行的一种过程。所以自动化需要具备一定的代码能力,故而至少学习一门编程语言,主流的有Java和Python,对于初学者来说,Python容易上手学习。

这个过程实现除了语言外,还需要学习Linux和数据库相关知识,因为项目环境的搭建和数据的管理维护都需要具备这方面的技能。

任何一种自动化的应用不外乎两种方式,要么借助于工具实现,要么通过代码实现,不管通过哪种方式实现,都需要学习并会使用一些基本工具的技能。

所以自动化前置(支撑)知识和技能如下所示:


所以,我们的到的学习自动化测试的路径是:linux -> mysql -> python | java -> 基本工具(JIRA/禅道) ->接口自动化测试-> web自动化测试-->移动自动化测试

四、自动化配套学习资源

明确了学习自动化测试的路径是:linux -> mysql -> python | java -> 项目管理工具(JIRA/禅道) ->接口自动化-> web自动化-->移动自动化,

  • 接口自动化测试

接口测试一般有两种方式实现测试,一种通过工具实现;另一种通过代码实现,工具更多的做调试,大多数互联网企业做接口测试都是通过代码实现。

工具的测试,一般容易上手,对于“0”基础的人来说,不失为入门的首选,代码量有限,只要熟悉测试流程,会熟练使用工具就能够完成基本的接口测试,但是灵活性差,自动化程度没有代码高,市面上常见可以接口测试工具有postman、Jmeter等。代码的实现,主要是通过python。

  • web自动化测试

web自动化测试主要通过代码实现。比如常见的应用有:Python/Java+selenium。

首先,还是需要熟练使用一门语言,非常熟练的运用至少一门编程语言。

其次,需要学习web测试的流程步骤,因为是基于页面默认人工操作,故而需要对于页面构成需要有一定的基础,比如:HTML+JavaScript+CSS,懂得页面元素的定位,以及常见的定位方式的使用等。如果有接口自动化的基础,那么学习web自动化相对会容易一些。

再者,通过一些相对完整的项目去实战训练,才能够较好的学习并把握web自动化的技能,通过反复的项目训练才能逐步的达到理想的效果。

  • 移动自动化测试

移动自动化测试主要也是通过工具和代码的方式实现。比如常见的有:Python/Java+appium。

移动自动化除了哟啊掌握一门编程语言外,还需要学习移动测试的流程步骤,移动基本功能的和web端的基本类型。但是更多的需要测试一些非功能层面的应用,需要学习并使用一些手机模拟器(如:mumu)、第三方工具(如:GT工具)、adb命令、monkey等的使用,学习使用的工具较多,并且需要结合代码一起使用,这就要求学习的知识范围更加广泛,先从工具使用入手。

另外:移动端的应用还需要进行异常测试,对于使用过程中出现网络、信息中断等异常场景的设计,对于手机本身使用过程中的场景结合实际项目训练学习。

五、最后对你自学自动化的叮嘱

自动化测试的学习,相比功能测试而言,门槛更高,学习难度更大。

对于需求中业务转化为代码的过程有难度,需要具备对应语言的编程思想,还需要投入大量时间的练习积累才具备代码实现自动化的能力。

在实际学习自动化的过程中,除了需要理解原理外,还需要和同行进行沟通,能够快速的提升技能经验,同时也比自己专门研究学习效率更高。

故而,对于自动化测试的学习来说,如果有一定基础,并且自律性好,可以选择工具或者代码实现自学;若自动化测试自学困难,也千万不要放弃:

1、自动化是测试的方向毋庸置疑,若怀疑,可立即去招聘网站查看中大型互联网企业招聘测试的需求
2、世界上只有一种失败,叫做半途而废。

若真自学不下去,另一种学习方式是参加专业的自动化测试培训,能够提供多类型的项目,并且能够直面来自于企业级的老师面对面的指导和交流。

若不知道如何挑选靠谱的测试培训机构,可以关注私信我(乐于回答)


最后,为方便大家提升测试技能,特意给大家准备了一份13G的超实用干货学习资源,涉及的内容非常全面。

å¨è¿éæå¥å¾çæè¿°

包括软件学习路线图,50多天的上课视频、16个突击实战项目,80余个软件测试用软件,37份测试文档,70个软件测试相关问题,40篇测试经验级文章,上千份测试真题分享,还有2021软件测试面试宝典,还有软件测试求职的各类精选简历,希望对大家有所帮助…..

关注我的公众号:【程序员小濠】就可以免费获取了~

加入我的学习交流群:175317069一起交流分享~群里也有不定期的学习视频和学习资料发放!

如果对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。