软件测试需要学什么?

我将从四个阶段讲一下软件测试都需要学什么?

第一阶段 测试基础

第二阶段 工具学习

第三阶段 代码学习

第四阶段 架构学习

以上四个阶段,只是找工作的话,不需要全部学完,一二阶段学完,基本上就能够达到初级测试阶段找到工作了。

第三阶段是关于能力提升,路线发展的确定,(java、python、自动化测试、性能测试、安全测试)

第四个阶段主要是测试架构师的成长路

第一阶段 测试基础

测试的定义、测试的分类、测试的方法、测试的生命周期。测试计划、测试方案、测试策略、测试用例的编写。BUG的定义、BUG的分类、BUG的六要素、BUG的生命周期。测试和开发流程的关系、瀑布流、V字形、W字型(双V)、螺旋型敏捷等等

以上全部都是理论和文档能力、只要你肯背、肯写,都是能独立的掌握的。

第二阶段 工具学习

在这份阶段大家不用去纠结工具的选择。 把最基础的几个工具学习了就行了,以后用到什么工具就去学什么。 下面我会列几个必学的工具,不用太精通,会用就行了。

· 性能测试工具:loadrunner、jmeter。

· 接口测试工具:postman

· 抓包工具:fiddle

· 数据库管理工具:Navicat

· 项目/BUG管理工具:禅道、QC

以上2个阶段学完基本上已经达到了初级测试工程师,在一线城市(北上广),薪资一般在8k-10k

第三阶段 代码学习

这个阶段学完薪资差不多可以到15-25k左右。

学完基础和工具就要考虑后续的发展方向了, 是成为一个自动化测试工程师呢? 还是性能测试工程师呢? 还是安全测试工程师呢?这个不用太纠结,可以都学习,毕竟技术上去了,薪资待遇自然就上去了。

到这个阶段主要是代码的学习,关于编程语言的选择,我推荐Java或者python。 Java,只需要学完JavaSE的部分就够你用了。 python的话也是一样的,把基础的部分学完就行了。如果想变得更牛逼,那希望你精通java或python,两个只需要会一个就行,不用纠结学哪一个,如果非要选有一个,那就全都学,小孩才做选择。

还有数据库也是必须掌握的!在工具篇的学习里,我认为你已经可以通过navicat学会了基本的增删查改了。 那你在这个阶段就应该学会更复杂的SQL语句的编写了,也应该会用命令行工具了。 各位先学习mysql就好,这个用的人多。

如果编程学完了就要学各种自动化测试了。

· 各种单端测试框架:unittest(python)、pytest(python)、JUnit(java)

· WEB自动化测试框架:selenium(适用于java\python\javascript)

· APP自动化测试框架:appium(适用于java\python\javascript)

以上根据学的语言选择。

性能测试对loadrunner和jmeter的掌握更加的深入。

可以手写脚本、脱离录制。 学会了多线程编程、能够手写java或者python、不用工具直接实现压力测试。

学习linux,毕竟性能总是和服务器打交道的。 学习系统架构的相关知识、方便你更容易的分析系统瓶颈。

说实话、性能方向的提示更难,因为需要掌握的东西太多了,性能测试做深入了,基本上就是架构师的水平了。

第四阶段 测试构架学习

这个阶段就没什么学习路线了,都是靠自己的悟性了,你要考虑怎么写代码更合理了,怎么去测试更全面,怎么才能更好的保障项目的质量,为什么要那样测试。跨过了这个阶段就基本上可以成为专家了。

一个测试架构师应该要具备的能力,希望以此共勉;

1、需求分析能力:能够从客户到角度去理解需求,甚至能够直接发现需求存在的问题,去影响PO,来更好的帮助产品成功;另外就是能够将当前需求细化出来,并且通过细化的需求来思考可能在设计方面存在的问题,提前发现设计的缺陷

2、整个产品架构的理解能力:这个只有达到开发架构师级别,才能更好的去参与整个设计方案的讨论,并且发现测试方案的一些缺陷。

3、测试分析能力:能根据产品的特点来分析通过怎样的方法来更快的保证质量,从而来满足上面对测试团队不断提高 要求

4、技术人员培养能力:一个架构师应该说能够通过自己的影响力来得到一群的技术追随者,而对这些人的培养也是一个很重要的能力,这样才能提高整个团队的技术水平

5、技术规划能力:技术是不断的向前发展的,测试技术也不例外,所以,一个好的测试架构师应该要能够识别后面的技术改进方向,以及一步一步的推进下去

6、技术的广度:测试架构师需要掌握很多方面的技术,这样碰到新的问题时,才会有更好的解决思路


分享到:


相關文章: