作为近些年非常热门的IT岗位,软件测试-受到越来越多应届毕业生和诸多转行群体的青睐。为了满足同学们对软件测试的学习要求,测试猿课堂将在本文为大家详细讲述成为自动化软件测试工程师必须要具备的能力体系。
软件测试的学习体系总的来讲可以分为五个阶段:
第一阶段:软件测试基础学习
第二阶段:计算机基础学习
第三阶段:Python编程学习
第四阶段:测试工具+测试实战学习
第五阶段:软件测试架构学习
第一阶段:软件测试基础
作为软件测试的前置学习阶段,软件测试基础是决不容忽视的学习重点。这个阶段我们主要掌握:
(1)软件测试的——定义/测试方法/软件生命周期/测试标准/测试目的及原则/测试的要求和方向/测试和开发流程的模型(增量模型、快速原型、瀑布模型、V模型/W模型、双螺旋模型)
(2)软件测试的——缺陷管理/缺陷报告/几种常见测试用例方法/测试用例设计/需求分析报告
这部分内容皆为入行软件测试的理论概念知识,但却属于极为重要的内容板块。不论将来的你是软件测试技术工程师,还是软件测试主管或项目经理,这些基础概念都必须熟记于心。这部分的内容学习,我建议大家一定要自己做好学习笔记
第二阶段:计算机基础学习
计算机基础的学习同样是我们进入IT行业必备的基础。不论从事软件开发,亦或者软件测试,良好的计算机基础技能都是必不可少的。这个阶段我们需要掌握:
(1)计算机基础硬件知识:学习计算机运作原理、CPU、内存、线程、计算机语言
等计算机底层运行原理知识
(2)前端基础知识学习:主要学习HTML+CSS+DIV
知识。在软件测试行业中,前端基础广泛应用于Web自动化测试和App自动化测试中。后面要学到的元素定位方法
就需要懂得前端相关知识
(3)Linux系统学习:学习Linux系统的环境安装、Linux系统的常见命令
操作,诸如权限修改、文件的移动、文件复制剪切删除、软件安装等等命令、Vim工具的使用
(4)MySql数据库学习:数据库有多种,像Oracle、MySql、SQLserver等,但Mysql属于应用较为广泛的。软件测试当中,我们主要学习数据库的命令行工具、数据的管理、MySql数据查询
,例如分组、数据的增删改查、数据排序、分页、自关联和子查询等等,像数据分表、内置函数等等内容的学习
第三阶段:Python编程语言学习
学习Python语言是成为自动化软件测试工程师的前置条件,不会编程的软件测试工程师薪资可以拿到6-10K
,但是会Python编程语言的软件测试工程师薪资可以拿到15-25K左右
。
Python只是软件测试编程语言的可选之一,其次可以考虑的还有Java。但目前软件测试领域Python的应用广泛程度远高于Java,而且对于零基础的新手而言,Python相对于Java来说更好入门
Python语言的学习和目前市面上的差不多,只不过前期不需要学的那么深入,我们只要掌握:
Python语法(变量、运算符、循环)、Python环境安装、Python函数、Python文件操作、Python面向对象设计、Python异常处理、Python模块和包导入
PS:很多同学看到需要学习编程代码,就会有种莫名的恐惧感。我理解大家对于编程的恐惧其实更多是来源于不理解的排斥性,以及英语学习经历的恐惧。
只不过学习编程和学习英语两者完全不一样,不是说学编程就一定要求你懂英语。其次编程黑客的神秘性让大家觉得编程对我们而言神秘无比。但事实并非如此,就比如小编我根本没学过编程,但接触那么多同学和学习课件,也看到我们的老师帮同学解决诸多的困难,我自己就能写一两个很简单的Python语句出来。
第四阶段:测试工具+测试实战学习
(1)Web自动化测试实战+工具学习:学习Web自动化软件测试的环境部署、Web自动化测试的方法和自动化脚本的编写
。
---Web自动化测试工具:需要掌握Python+Selenium
的深度使用。selenium
作为we自动化测试中颇为流行的自动化框架,经过多年发展,已经成为各个软件测试工程师的首选web自动化框架。所以学习到Web自动化软件测试这块,就必须要掌握好selenium工具的使用
(2)App自动化测试实战+工具学习:学习Appium
的测试环境搭建、学习移动App的测试方法、掌握ADB等移动设备控制命令的使用、掌握常见的App测试方法和测试流程
---App自动化测试工具:需要掌握Appium
框架的环境搭建、元素交互、元素定位方法、移动手势模拟等相关内容
(3)接口测试实战+工具学习:掌握HTTP/HTTPS
协议,学习Get、Post请求。学习和掌握Cookie、接口相关的文档和接口测试工具使用。
---接口测试工具:需要掌握Postman
的应用。接口测试应用也较为广泛,Postman也是接口测试中使用较多的工具之一
(4)性能测试实战+工具学习:性能测试在软件测试领域中,属于较为高级的测试技术
。掌握了性能测试,在测试领域也属于大佬般的存在。性能测试方面我们学习性能测试的意义和分类,掌握性能。学习性能测试的需求分析和场景设计。学习性能测试的意义和分类,掌握性能。学习性能测试的需求分析和场景设计。
---性能测试工具:需要掌握Jmeter和Loadrunner
的一些高级用法,像Loadrunner的测试环境搭建、脚本录制、测试执行、结果分析等等
(5)其他测试相关工具学习:
fiddler抓包工具:抓包工具方面fiddle是必须要学习的,其实就一个简单工具而已,使用起来不会多难,但在不仅仅在测试领域,fiddle在很多行业的应用都极其广泛的。
Navicat数据库管理工具:数据库的管理工具Navicat
,这个也需要学习它的具体使用方法。
禅道、QC缺陷管理工具:软件测试的缺陷管理工具禅道
和QC
也需要学习,其中禅道是测试行业中较老的缺陷管理工具,但是现在依旧有很多企业仍在使用。
第五阶段:软件测试架构学习
所谓的架构,其实学的是软件测试的全局思维把控
。作为项目经理,我们不仅要掌握全面的软件测试知识,还要确保在我们监管下的项目不会有任何质量问题,如何设计测试方向、如何把控测试力度等等。
作为一个合格的软件测试架构师,我们需要从以下几个层面去丰富自己:
(1)项目分析:项目分析是整个软件测试工作的起始部分。作为项目,要明白如何才能准确把握项目的核心需求,从用户的角度考虑用户体验问题,从项目方考虑项目的设计需求理念。整理好思路以后,将我们分析的所有需求罗列出来,结合用户对软件可能存在的实际使用情况,设计出较为全面的测试方向
(2)产品架构:所谓产品架构,自然是指从产品的角度出发。包括产品的设计需求、产品的市场需求、产品的用户需求等。这个工作其实更多是产品经理来做,但作为全局软件测试架构师,我们不仅要负责软件的开发,还是把控软件的质量。那么如何提升开发和测试的高效工作,以及降低开发和测试的工作周期和复杂程度,是作为高级架构师的必要能力
(3)团队协作:一个真正厉害的测试工程师,不是一定自己要对测试的各个环节面面俱到,真正难得的是能够掌握测试的各个重要细节。有良好和清晰的思路协同软件测试团队人员的高效协作。不同的人应该做什么样的事。合理安排,合理督导,合理帮助
(4)技术深度:作为软件测试团队的核心人物,我们要有一定的技术前瞻性。自动化软件测试发展到如今程度,已经是经过多伦变革之后的产物,但还远远未到尽头,技术的发展日新月异。作为团队领军人物,我们需要充分吸纳足够的软件测试人才,拓展部门的测试能力,开发测试团队的工作极限。
绵薄之力
最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走
这些资料,对于想进阶【自动化测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助…….基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等配套学习资源免费分享