目录

一、软件测试简介

二、测试工程师需要会哪些技能

三、测试工程师等级和薪资​编辑

最后正在学测试的可以观看下面的视频


一、软件测试简介

软件测试(英语:Software Testing),是描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。软件测试是一种实际输出与预期输出之间的审核或者比较过程。软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。

软件测试主要学习功能测试、自动化测试、接口测试、性能测试,这些又是什么呢?简单来说就是:

1、功能测试:功能测试就是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能

2、自动化测试:一般是指软件测试的自动化,软件测试就是在预设条件下运行系统或应用程序,评估运行结果,预先条件应包括正常条件和异常条件。

3、接口测试:接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。

4、性能测试:性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。

二、测试工程师需要会哪些技能

01

软件测试理论

作为一个软件测试人员,总不能不知道软件测试本身的东西吧。

你总要知道软件测试是什么?什么是测试用例?什么是缺陷?软件测试有些什么特点?这些仅仅是理论,现在还不关心会不会做。

比如软件测试的定义,软件测试是测试程序?还是测试文档?还是测试软件等?

02

软件测试流程

如果要清楚软件测试流程,那就一定要知道软件工程、软件生命周期、研发模型、测试模型。

模型又有经典的瀑布模型、目前最流行的敏捷开发流程、V模型、W模型、X模型、H模型等,这些模型至少要随便知道三四种吧。

03

测试文档

软件测试是技能型工作,不是研究型工作,了解了软件测试理论之后,你总会要做点东西吧,比如写写文档。

软件测试人员必备技能之一就是写文档,会总结。

软件测试有很多文档要写,比如测试计划、测试方案、测试用例、提交bug单、测试报告,有时每个迭代完全后,老大还会要求你输出几份经验文档出来,可见会写文档的测试人员是多么的必要。

04

计算机基础

软件测试工程师怎么说也算是IT人员,计算机基础总要会吧。

不然让你关个服务,你迷茫……

让你配置个环境变量,你再迷茫……

让你安装软件,卸载个软件,你搞半天,安装的软件全在C盘,卸载软件完全没卸干净,重装不成功,然后你再再迷茫……

让你在DOS命令窗口查个IP,然后再配个静态IP,你再再再迷茫

………………

计算机基础是软件测试人员必备的技能之一。

05

软件、工具

作为一个IT人员,你好意思说自己不会几个软件么?

那我们就一起盘点盘点,软件测试人员必须要会的软件:

office办公软件就不说了,软件测试要写这么多文档,office办公软件一定要会。

需求分析时,拆会测试点时,总要画一下思维导图,所以XMIND或其它思维导图软件总要会一个吧。

配置管理工具,不管是以前的SVN还是现在流行的git总要会一个。

远程连接工具,数据库和服务器基本都是配置机房,所以数据库和服务器的远程连接工具都要会,你总不能跑到机房去操作吧,如果你跑到机房去操作,那一定记得带台显示器去。

碰到不会的,总要查一下度娘和谷叔吧,你不会说这个人人都会,千万别这样!要不然怎么会有相同的问题,别人就能快速找到解决方法,而你搜索出来的网页总是找不到呢?

06

数据库

不管是MySQL,还是Oracle,还是SQLServere,还是DB2等等,数据库的特性、性能和优化可能不用知道,但是SQL语言总要会吧,谁让它们都认识SQL语言呢。

SQL语言又会为DDL、DML、DQL、DCL。

数据定义语言(DDL):

用于下定义和管理数据对象(库,表,索引,视图),包括数据库,数据表等,例如:CREATE DROP ALTER等语句。

数据操作语言(DML):

用于操作数据库对象中包含的数据,例如:INSERT UPDATE DELETE语句。

数据查询语言(DQL):

用于查询数据库对象中包含的数据,能够进行单表查询,连接查询,嵌套查询,以及集合查询等各种复杂不同的数据库查询,并将数据返回到客户机中显示,例如:SELECT语句。

数据控制语言(DCL):

用于管理数据库的语言,包含管理权限及数据更改,例如:GRANT、REVOKE、COMMIT、ROLLBACK等语句。

就算软件测试人员不需要关心数据库结构,可以不用DDL、DCL,但是针对数据(增、删、改、查)的DML、DQL语言一定要会吧。

就算你说insert、update、delete语句都很简单,照着格式直接使用就行,那select呢。

select语句不仅有简单查询,还有复杂查询。

复杂查询中包含多表查询、连接查询、子查询,以及包含各种函数进行的查询。

这些语句软件测试人员都要掌握吧。

07

LINUX

Linux做为服务器的操作系统,软件测试人员需要经常在LINUX上进行搭建测试环境。

如果你说公司的测试环境都是开发搭的,系统和软件是运维装的,不用了解Linux系统。

那你就大错特错了。

如果测试过程中,运行报错了,总需要在后台去看看日志吧,分析下是不是bug,如果是bug,总还需要定位一下吧。

如果Linux系统很卡时,你总要去查下进程,查下系统资源管理,或者杀死几个进程,重启下服务什么的。

那这些命令软件测试人员总都要会吧。

如果你说这些还都可以依靠开发和运维,那你就当我没说。

08

编程语言

既然是IT人士,如果出去说自己不会一门编程语言,好像很没面子一样的。

目前世面上编程语言有C、C++、C#、世界上最好的语言(PHP)、JAVA、Perl、Python等等上百种,那你总要选一门语言学会使用。

一般情况下都是选公司系统目前所用的语言。

但如果不知道怎么选,那我建议软件测试人员可以选JAVA和Python,JAVA经久不衰定有它过人之处,Python能在这么短的时间内火起来,也一定是有原因的。

如果没有任何编程基础,建议先学Python,Python更加贴近自然语言,学起来更顺手,更快。

三、测试工程师等级和薪资

初级测试工程师 :年薪约在2-4万左右。他们的工作通常是按照测试方案和流程对产品进行功能测试,检查产品是否有缺陷。 具有一些手工测试经验,开发测试脚本并开始熟悉测试生存周期和测试技术;

中级测试工程师 :年薪在5-6万左右。他们要能够编写测试文案,测试文档,与项目组一起制定测试阶段的工作计划。能够在项目中合理利用测试工具来完成测试任务。能够独立编写自动测试脚本程序并担任测试编程初期的领导工作,进一步拓展编程语言、操作系统、网络与数据库方面的技能;

高级测试工程师 :年薪8-10万左右。他们不但需要掌握测试与开发技术,而且对所测试软件对口的行业非常了解,能够对测试方案可能出现的问题进行分析和评估。帮助开发或维护测试或编程标准与过程,负责同级的评审,并能够指导初级的测试工程师;

Team Leader(测试主管) :年薪8-15w,一般至少具有5年的工作经验,负责管理一个小团队。负责进度安排、工作规模/成本估算、按进度表和预算目标交付产品,负责开发项目的技术方法,能够为用户提供支持和演示;

测试经理 :年薪在12-20w,能够担当测试领域内的整个开发生存周期业务,能够为用户提供交互和大量演示,负责项目成本、进度安排、计划和人员分工;

计划经理(或者说测试总监) :年薪20-30w,具有多年纯熟的开发与支持(测试/质量保证)活动方面的经验,管理从事若干项目的人员以及整个开发生存周期,负责把握项目方向和盈亏责任。


0级:
不了解测试方法;

没有测试计划和测试样例,漫无目的测试,靠运气找BUG;
提交BUG的时候描述非常不清楚;

1级:

了解一些测试方法;

有一定的逻辑思考能力;

知道测试重点,了解测试覆盖率,会设计测试样例;
提交BUG的时候描述非常清楚,有详细的BUG重现步骤;

2级:

知道常用测试方法和测试技巧;

有较强逻辑思考能力;

会使用一些自动化测试工具;

有明确的测试计划和测试重点,设计的测试样例覆盖率较高。
提交BUG的时候描述非常清楚,有详细的重现步骤,规律性以及解决的建议。

3级:

熟悉常用测试方法和测试技巧;

不定期学习新的测试方法和测试技巧;

有很强逻辑思考能力;

会使用一些自动化测试工具;

经常上一些测试论坛和同行交流;

会一种编程语言(特别是shell,python等脚本语言);

有明确的测试计划和测试重点,设计的测试样例覆盖率非常高。
提交BUG的时候描述非常清楚,有详细的重现步骤,规律性以及解决的建议。

最后正在学测试的可以评论区讨论交流

软件测试是什么?我如果要学的话都该学哪些技能?相关推荐

  1. python要学哪些_学python都要学哪些内容?

    如果培训都是分五个阶段,第一阶段学习Python核心编程,主要是Python语言基础.Linux.MySQL,前期学习Python编程语言基础内容;中期主要涉及OOP基础知识,学习后应该能自己处理OO ...

  2. 计算机平面设计会学cad吗,请问学建筑与室内设计哪样好是不是都要学CAD

    请问学建筑与室内设计哪样好是不是都要学CAD 嗯,是的! 都要学CAD的, 我现在学的是 室内设计, 要学CAD 3D PS X3 等等的软件,建筑的不懂了我.  室内设计吧,还要手绘,画画. 看你喜 ...

  3. 学java还是安卓_零基础学安卓好还是学java好

    零基础学安卓好还是学java好 关于Java的学习很多同学都有这样或者那样的疑问,比如我是自学Java好呢还是参加Java培训好呢?Java好学吗?安卓和java哪个难学等等.今天我们就先简单的来看两 ...

  4. 学习软件测试你不了解这7点你算是白学了...

    1. 关于书籍 很多朋友是打算买书学软件测试的,买书的时候,大家通常会有这么一个想法,我多买几本软件测试入门书籍,多看看是不是软件测试会学得比较好呢?其实,你会发现书你买了,但是看没看又是一回事,软件 ...

  5. 【答疑】软件测试是不是很简单,什么人都可以学?

    昨天晚上在知乎上看到一个网友问题,我做了一个详细的回答,收到了许多测试人的喜欢与点赞,我把我的回答贴出来分享一下. 既然问题问的这么官方,那我来做一个科普?后面再来解答你的问题. 软件测试(Softw ...

  6. html5和html的区别是什么?学HTML5要不要学html?

    初学前端的小伙伴肯定有一个疑问,HTML5和HTML有什么区别呢?我要是学HTML5的话要不要学HTML呢?今天小千就来给大家介绍一下它们到底有什么区别? 什么是HTML和HTML5 HTML代表超文 ...

  7. 学python之前需要学什么,学好python需要什么基础

    学习python的话大概要学习哪些内容? 想要学习Python,需要掌握的内容还是比较多的,对于自学的同学来说会有一些难度,不推荐自学能力差的人. 我们将学习的过程划分为4个阶段,每个阶段学习对应的内 ...

  8. 2008-2009学年度无锡市职业教育专业技能竞赛第十一号公告

    2008-2009学年度无锡市职业教育 专业技能竞赛第十一号公告 (关于计算机竞赛项目的有关说明) 一.竞赛时间: 2008 年12月6日 ---- 12 月7 日 二.竞赛地点:无锡市旅游商贸高职校 ...

  9. Java培训深度学习都要学什么

    java的知识点有很多,如果是有java基础的同学,进行深度学习是非常有必要的,比较职场技能更新迭代非常的快,那么java培训深度学习都要学什么呢?来看看下面的详细介绍. Java培训深度学习都要学什 ...

最新文章

  1. 谷歌大神Jeff Dean点赞网红博士论文:改进分布式共识机制 | 技术头条
  2. 【原创】gooogleman亲自参与设计的三星Cortex A8 S5pv210 之Sate210核心板硬件用户手册(作者:gooogleman)...
  3. UA OPTI544 量子光学14 量子电动力学基础
  4. Linux(三)——mysql服务
  5. 最快最新最详细的IT电子书
  6. C++构造函数之委托构造函数
  7. jquery --- 事件处理函数的event对象的几个属性(方法)说明
  8. 信恒支付源码-第四方支付源码
  9. MySQL关于时间设置的注意事项
  10. 突发!贾跃亭或将申请个人破产重组
  11. EJB3.0学习笔记---JMS/MDB/Pub/Sub/P2P
  12. 利用爬虫获取网上医院药品价格信息 (下)
  13. 一年总结:2016.7.9 - 2017.7.9
  14. MFC MessageBox使用教程
  15. python把英语句子成分字母_英语句子成分
  16. 解决Office2007安装时出现错误1706的方法
  17. 浅谈电力系统短路故障的分析
  18. Ubuntu下初装QT出现错误cannot find -lGL解决办法
  19. mac 下禁止顽固的开机程序自启
  20. 两种“猿” 两个生活

热门文章

  1. elasticsearch两个启动报错的解决
  2. 考研数学公式Day2:对1/(a+bcosx)的积分
  3. JSch SSH2 for Java
  4. 如何快速涨粉?【CSDN攻略】规则解读及方案实施
  5. CentOS上安装Web性能测试工具Siege 示例
  6. 微软自带杀毒工具关闭
  7. c语言释放链表所用内存,C语言利用链表实现有效内存管理
  8. fstat/stat/lstat
  9. 解决笔记本电脑win10系统指纹间歇性无法识别(失灵)的问题
  10. Java怎样掉包,如果不想你被称做掉包侠,那么请有效地学习机器学习算法知识...