谈谈软件测试的种类和区别

在互联网软件测试摸爬滚打了几年了,回过头发现自己还没对软件测试工种有一个全局的视野。幸好遇到大佬级别人物,透他的观点,给了我站在高处看遍全局的感觉。以下是他的观点

如果你在这个行业摸爬滚打一段时间了的话,一定会有这样的困惑:测试工程师到底是的什么?早些年我们提测试工程师,或者软件测试工程师,这个概念是非常明确的,就是对系统进行测试的这样一个工种。但是到现在来讲,我们讲软件测试工程师这个话题就变得有点摸棱两可了。为什么?因为现代的软件测试分工越来越细了,有很多垂直领域的划分,以至每个领域虽然都叫测试工程师。但是它的知识要点和它所做的东西,以及学习和面试中工作中看重的能力都是不一样的。所以在这种情况下,先来谈谈现代的软件测试工作到底有哪些工种。 基于这种工种我们是如何学习这种角色的。以这种方式来帮大家理解整个软件测试的全局。

软件测试的种类:

  • 业务测试
  • 业务自动化测试
  • 测试开发
  • 性能测试
  • 安全测试
  • 质量保障
  • 测试架构师
  • 测试经理

以上是目前比较常见的测试工作种类。

我们分别来谈一下每个工种的核心竞争力,或者说这个垂直领域的核心竞争力分别在哪里。当企业招聘这类工程师的时候,就是看重这些能力。

首先来谈业务测试:业务测试是最传统的软件测试,就是对产品进行使用,对功能进行验证,基于产品的用户需求,对产品多方位,多角度进行测试。最核心的竞争力就是对被测系统有充分的理解,除了这些软件上的功能以外,更主要的是对业务本身的理解。比如说,你的被测对象是电商,比如淘宝,shopee,首先你一定要是业务领域的专家。也就是说,你完全理解这个业务是如何开展的,设置是如何让用户来使用软件的,并且能对这软件就是正向和非正向进行多方位,多角度的测试。这就基于你对功能业务的理解上对测试用例的设计。这块是最传统的测试。

业务自动化测试:主要工作是把业务测试用例转化为自动化测试用例,也就是说在有业务测试用例的基础上,通过测试框架的选择,把业务的测试用例转为能自动化执行的测试脚本。这类工程师的核心能力在于对工具和测试框架的熟练使用程度。假设你是用python+selenium来写web自动化的,就是你对selenium的熟悉程度,如何进行元素定位,断言等。

在真是的企业当中,第一类的业务测试和业务自动化测试,在某些企业里这两个角色是完全分开的。在更多的企业里面,这两角色会和为一体。也就是说,我们会要求,业务测试工程师要有一定的自动化测试脚本的开发能力,业务自动化工程师要有一定的业务测试能力。

测试开发:业务自动化测试也是测试开发,测试开发也是开发,这里的测试开发不是写测试用例的,也不是把测试用例翻译成测试脚本的,这里指的是去开发和实现测试的工具。比如说对selenium进行二次开发,达到满足自己企业特殊要求使用的封装,同时加入断言的封装。也就是说测试开发的同学本质就是开发,只不过它开发的产品是为软件测试服务的。目前大厂对这种岗位的需求是很多的,而且要求也是最高的。从薪资来讲也是最具有竞争力的,并不是说业务测试不重要,而是两个维度去保证软件质量。业务测试是测试本身,测试开发是做工具让测试更方便去完成业务的测试。这类角色是目前最紧凑的一个角色。这个核心能力牵扯到的知识面比较广,除了对测试理论体系,工程实践方法有基础基本的认识以外,必须还是一个合格的,最好是个优秀的开发人员。也就是说,他至少跟开发没什么区别。

猜你喜欢

转载自blog.csdn.net/chuancheng_zeng/article/details/109282434