本文文章通篇没有废话,只有干货干货干货!软件测试工程师,要具备哪些能力?本文将通过三个测试工程师的阶段,分别需要具备和掌握哪些技术能力,每个阶段大致能拿到什么范围的薪资。文章比较长,请耐心看完。

一、不同阶段的测试工程师需要掌握的技能体系

1、初级测试工程师

这里说的测试工程师,是主攻软件的“测试”领域。也就是专业对接和负责软件的BUG查找、测试业务的执行、测试用例设计、测试计划的编写、测试报告生成等等。

这类测试工程师需要掌握的技能如下:

  • ① 软件测试的整理测试流程和概念,熟练软件测试的用例设计和编写;
  • ② 熟练掌握几种常见的去缺陷管理工具(禅道、SVN、Testhub、Jira等),熟悉缺陷的定义标准和系统化的测试计划编写等;
  • ③ 掌握Web自动化测试、App自动化测试的测试环境搭建和测试方法;
  • ④ 掌握接口自动化测试的Postman、Jmeter工具的使用,同时深度了解HTTP/HTTPS协议的原理和作用。

薪资水平:6-12K 左右

这个阶段的测试员,一般是刚学习软测到可以就业的程度。大部分都是掌握了软件测试理论概念、常见的测试流程和测试类型;熟练测试用例的设计和编写;对软件的生命周期、工作流程有大致的了解。知道如何分析软件的用户需求点;掌握一些常见的缺陷定义和缺陷报告的生成。有一些实战项目经验的可能对禅道、SVN、git等测试相关的工具有一定的了解和使用经验。

再稍微优秀一些的自动化测试工程师,还掌握了Linux、Sql数据库、前端HTML等基本的计算机技能。并且了解接口测试的概念和WEB+selenium的测试环境搭建和初步测试,APP移动端测试同样也需要掌握一些。

2、中级测试工程师

对于现在大多数的互联网公司而言,中级自动化测试工程需要是他们非常渴求的人才。这类人才大多都掌握了一门或者多门编程开发语言(Python、Java、C++等)。中级测试工程师能支撑起整个企业测试部门的完整测试体系搭建,包括针对企业产品研发的自动化测试脚本,对于软件的性能、压测、UI、接口、前后端业务等等做全方位测试设计和管理。

中级测试工程师需要掌握的技能如下:

  • ① 至少掌握一门编程语言,Python、Java、C++都可以。没有编程基础的我们建议选择Python,因为Python入门难度和学习周期相对其他开发语言更加容易一些,对新手比较友好,而且Python在测试领域的应用极为广泛;
  • ② 熟练掌握常见的自动化测试框架的环境搭建(testNG+selenium+appium+requests等);
  • ③ 熟练掌握APP移动自动化测试的完整流程和测试方法,尤其要熟练掌握Monkey的使用;
  • ④ 熟练掌握Python+requests的测试框架的开发;
  • ⑤ 能够独立完成基于selenium的完整web自动化测试的框架开发;
  • ⑥ 深度掌握性能测试中Jmeter和Loadrunner的拓展用法,能独立完成APP/WEB的性能测试。

薪资水平:15-25K 左右

这个阶段的测试员,一般是刚学习软测到可以就业的程度。大部分都是掌握了软件测试理论概念、常见的测试流程和测试类型;熟练测试用例的设计和编写;对软件的生命周期、工作流程有大致的了解。知道如何分析软件的用户需求点;掌握一些常见的缺陷定义和缺陷报告的生成。

有一些实战项目经验的可能对禅道、SVN、git等测试相关的工具有一定的了解和使用经验。再稍微优秀一些的自动化测试工程师,还掌握了Linux、Sql数据库、前端HTML等基本的计算机技能。

并且了解接口测试的概念和WEB+selenium的测试环境搭建和初步测试,APP移动端测试同样也需要掌握一些。

3、高级测试开发工程师+架构师

高级测试开发工程师基本上可以称得上整个企业产品+测试部门的一把手。这类岗位一般都是以管理者居多。本身负责团队的运作、软件整体的测试流程把控、白盒测试的体系搭建,企业大型自动化测试平台的开发和管理,以及整个测试体系的质量管理和监控。

  • ① 对软件测试的整体流程和细节做到烂熟于心的地步,这类经验一定是经过无数的测试实战方能生成的;
  • ② 熟练各类型的软件测试(APP、小程序、前后端、WEB、sever等等)方法和扎实的经验,并且对各类型市面上的测试工具运用自如;
  • ③ 对CD/CI有比较熟练的实战经验,能熟练的使用DevOps,具有完善的测试架构能力;
  • ④ 有熟练的编程开发能力,深谙软件的底层代码逻辑和结构,能够独立开发、管理和完善自动化测试框架;
  • ⑤ 拥有优秀的团队领导能力,合理安排测试团队的人员组织和安排。

薪资水平:30-50W 左右年薪

测试工程师因其工作的特殊性,需要掌握产品的用户需求、设计需求以及产品的底层结构等各方面,测试人员会从用户的角度出发,去看待软件产品各方面可能存在的不利体验和准确诉求。

所以经验比较足的测试人员,对产品的各个维度都能做整体化的把控。比如分析产品的用户需求和体验,以用户的角度来把握产品的定位和功能的迭代等等。可以说从测试转为产品经理的人,一定是一名非常有全局性、前瞻性的优秀产品经理或者测试经理。

二、学习软件测试需要注意的5个点


1、一定要打好前期基础

软件测试的学习,总体来讲大致分为三个阶段。

第一阶段主要掌握软件测试的基础知识,比如:软件测试概念、软件测试分类、测试流程、测试评审、测试用例和测试计划等等。这一块儿的基础概念知识,是后期学习自动化测试的基石。掌握好了软测基础,后面的学习将会顺利很多;

第二阶段主要掌握计算机基础一类的知识。比如:计算机概念、Linux系统的学习、MySql数据库的学习、HTTP/HTTPS(TCP/IP)协议、前端方面的知识(重点:web+selenium 自动化和 App+Appium 一块儿需要用到)。这几个点虽然前期感觉和自动化没什么关系,但是到了后期运用到接口、性能、Web、App自动化的时候都会涉及到这类计算机基础知识;

第三阶段就是各类型测试的实战教学。软件测试工程师能否拿高薪,就取决于你掌握了多少测试类型的技术。目前主流的接口自动化、App自动化、WebUI自动化和性能测试,都是市面上较为抢手的高薪就业技术点。学习过程中,一定要注意融会贯通,以及多做实战项目,这样在就业上岗的时候,我们才能从容的应对工作。

2、至少学习一门编程语言

编程语言对于软件测试的重要性我就不多说了。想必了解一点自动化软件测试的都知道。我们在后期学习的接口自动化、App自动化、Web自动化等等都是围绕着自动化来的。而自动化又是基于编程开发出来的自动化运行脚本和框架。我们使用自动化技术测试项目时,就必须要懂得如何写出可以调试界面的脚本。

当然前期可能不需要我们自己去写脚本,市面上有很多现成的自动化测试脚本和框架。但我们也必须知道怎么用,如果你不学编程语言,那么你的测试技术就定然有上线。当你掌握一门甚至多门编程语言,再来从事测试的话,你的优势将变得无限大。

编程语言这块儿,我建议大家可以这样选择:Python > Java。 没有编程基础的都可以这样选择,优先学 Python,其次学 Java 。因为 Python入门相对简单一些,而且 Python在各大企业中的自动化测试中应用更加广泛,可以说几乎百分之90的企业选择的自动化测试语言都是 Python.

3、注意不同测试类型的学习侧重点 提高学习效率

接口自动化:需要熟悉Python语言,然后在Python语言的基础上学习Python的联网库Requests,需要封装成测试脚本。这时候需要Pytest单元测试库或者使用Unittst+HtmltestRunner来控制脚本生成测试报告,如果有需要持续集成可以再学习Jenkins

web自动化:同样需要掌握Python语言,然后学习Python控制浏览器的库Selenium,和浏览器相对于的Webdriver

APP自动化:需要熟悉掌握Python语言,然后再Python语言的基础上,学习Python控制手机App的库Appium,手机相关的知识比如Adb,Activity,需要封装成测试脚本

上面几点都是主流的测试方案,也是初级测试工程师必须掌握的几个重要学习知识点。还有更多的内容可以根据自身的就业方向和目标,进行纵深拓展。

4、不管实战还是学习中,一定要多动手

很多小伙伴在学习中有同样的问题。那就是学习的方式和效率不太高。

这里推荐的一个方法就是记笔记,大家一定要记得,好记性不如烂笔头!学习吸收知识的最快方式就是亲自动手!

千万不要学习后就直接把我分享的源码拿过来放在自己的环境里一跑,欸,发现可以运行,完美!就不管了,这其中大脑所缺失的记忆过程,会让你在后续的学习里,迷糊点积累的越来越多!

5、不要过于依赖现有工具 多尝试自己写工具

软件测试行业比较特殊,市面上有非常多很不错的测试工具。很多初进入软件测试行业的新手,往往会习惯于依赖于现成的测试工具,个人感觉有这些工具应付工作就足够了。但这其实是一种非常危险的“惰性思维”。

软件测试行业中其实还有非常多优秀的开源工具,而很多大型互联网企业都比较倾向基于这类开源工具进行二次开发的自动化测试平台。测试工程师也一定要多尝试着去使用这类开源工具,一来可以拓展自己的思维和眼界,二来可以尽早熟悉自动化测试框架的底层逻辑和开发实战。这一点可以在将来面试的时候,为自己的简历打上一道非常不错的色彩。

学习资源分享

这波软件测试的资料,够你学习两年时间了,各种超全的稀有测试视频教程和文档,先保存再说:

这些资料,对于想进阶【自动化测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助…….

加入下方我的交流群免费获取!

【4500字归纳总结】一名软件测试工程师需要掌握的技能大全相关推荐

  1. 4500字归纳总结,一名软件测试工程师需要掌握的技能大全

    本文文章通篇没有废话,只有干货干货干货!软件测试工程师,要具备哪些能力?本文将通过三个测试工程师的阶段,分别需要具备和掌握哪些技术能力,每个阶段大致能拿到什么范围的薪资.文章比较长,请耐心看完. 一. ...

  2. 作为一名软件测试工程师,需要具备哪些能力?(建议收藏/深度好文)

    2020年,软件测试行业还值得入行吗? 行业的现状及前景 那么处于2020年,软件测试这个行业又将如何发展呢?我谈一下几点,如果你处在这个行业,一定能体会到我说的对不对. 1. 表面"衰落& ...

  3. 我做为一名软件测试工程师,职业发展方向是什么?

    我做为一名测试工程师,职业发展方向是什么? 今天是儿童节,首先祝大朋友们节日快乐! 不知觉间,在软件测试行业野蛮生长了七年之久. 同样是半杯水,对于口渴的人来说,有人会说,哇.还有半杯水,也有人会说, ...

  4. 关于【做一名软件测试工程师,需要具备什么】的我的看法

    在软测考试前的几天,我在知乎上看到一片很有意思的问答:做一名软件测试工程师,需要具备什么? 在看网友们的回答之后,我也有了自己的想法... 首先整理了一下其中几个我觉得较为好的网友的回答在这里同大家分 ...

  5. 3500字归纳总结:一名合格的软件测试工程师需要掌握的技能大全

    本文将通过三个测试工程师的阶段,分别需要具备和掌握哪些技术能力,每个阶段大致能拿到什么范围的薪资.文章比较长,请耐心看完. 一.不同阶段的测试工程师需要掌握的技能体系 1.初级测试工程师 这里说的测试 ...

  6. 世纪前线网络质量测试工具 是什么_成为一名软件测试工程师有什么前途?

    作为软件质量控制中重要的一环,软件测试工程师基本上处于地位高.待遇高的地位(注:我说的是真正意义上的软件测试工程师,不是那些"点点点"的测试员).同时软件测试的人才需求缺口越来越大 ...

  7. 一名软件测试工程师的一天24小时,主要工作内容详细流程...

    看一个行业好不好,与其去看日常工作,还不如看行业大势.可以确信的是,当前择业测试绝对不会错. 软件测试工程师的一天是怎么度过的呢?其实可以按照时间轴进行分为三个阶段 去上班的阶段 工作中的阶段 下班后 ...

  8. 成为一名软件测试工程师必备的技能,除了技术还需天赋。。。

    作者:天顺 通用技能上: 1.基本计算机知识(操作系统,数据库,通讯协议原理,熟悉至少一门编程语言) 2.基本软件测试知识(各种测试理论,测试方法论,测试用例编写,缺陷界定标准,软件质量评估) 3.简 ...

  9. 【松勤软件测试】作为一名软件测试工程师,如何编写优秀的测试用例

    测试用例是测试的核心,如何设计出能发现问题,有效能覆盖需求,没有冗余的用例是每个测试工程师必须跨过的一道门槛.结合本人这么多年来在测试领域的经验总结,我们下面先探讨一下衡量和检验测试用例的标准?然后怎 ...

  10. 如何快速成为一名软件测试工程师?0基础到月薪15k需要什么技术?

    前言 测试的基础阶段就是功能测试,功能测试最多能拿15k左右,而自动化测试入行就能拿15k.但这两个需要掌握的技术完全不同,就拿薪资而论.如果刚入门学习完,功能测试7.5k左右,这个薪资不高的原因主要 ...

最新文章

  1. [C++]C++中的IO类
  2. 阿里内部不显示 P 序列职级,“高 P”光环成过去式?网友:这下可以装大佬了...
  3. Windows 10 周年更新后的 Edge 14 的 HierarchyRequestError 报错
  4. java语言的多态性及特点_Java中的方法的多态性有两种形式:( )和( )。_学小易找答案...
  5. java导入lucene_如何导入lucene的.jar包 ?
  6. 济南python工资一般多少钱-济南python编程培训班价格
  7. 成幻Online Judge 1.00 Beta 正式发布 2007.6.22
  8. SQL Server表分区【转】
  9. SkinSharp For Visual C++
  10. 使用JPA标准@ViewScoped通过分页,过滤和排序进行Primefaces DataTable延迟加载
  11. Mybatis(1)---入门篇单表查询
  12. centos-安装ifconfig
  13. 特别引人注目的头像_设计样式指南:构建引人注目的产品的要素
  14. 《天天数学》连载39:二月八日
  15. java用JDBC连接数据库的方式
  16. 关注电子商务网站中的消费信赖和消费安全感
  17. Linux printf()占位符
  18. 一步一步教你如何安装Dart
  19. 挖矿从入门到入狱,百度运维获利 10 万被判 3 年。网友:人生已毁
  20. Python下载(Windows)

热门文章

  1. python 基因测序_科学网-python3 计算 基因组测序结果文件 各碱基数目(个人练习)-靳泽星的博文...
  2. JAVA-----集合子接口Queue及其子接口Deque
  3. Network Switching Software Platform Guide学习笔记
  4. 计算机网络速度测试指令,测试网速命令_在电脑的运行中输入什么指令 测网速...
  5. Android大话设计模式 第一章----针对接口编程---问世间情为何物 直教人生死相许
  6. Robot Framework+Autoit 安装教程
  7. AI智能尺寸测量仪简介(图像尺寸测量仪)
  8. 基于matlab的脑瘤mr图像处理_基于电势能改进的区域生长脑肿瘤图像分割
  9. 字节跳动(今日头条)小程序支付、支付宝、微信支付完整版
  10. 枢纽披红彩车上路 申城公交传递城市年味