测试畅谈——也论测试开发工程师

2019年4月23日 0 条评论 2.19k 次阅读 0 人点赞

|什么是测试开发工程师?是测试?还是开发?

对于没有进入互联网领域的同学,听到测试开发工程师可能会感觉到十分困惑。它究竟是测试还是开发呢?

在不同的公司、甚至不同的部门中,测试开发工程师所负责的工作可能并不完全一致。

比如百度QEC部门的测试开发工程师主要负责的就是纯粹的测试平台的开发,而不参与业务的测试。但是对于绝大部分的测试开发工程师而言,测试开发工程师最核心的任务是保证产品质量,也就是我们常说的测试。

Google的测试职能

开发工程师(SWE)

进行软件编码的开发,做测试驱动开发及可用性测试,是保证质量的最重要人员;

测试开发工程师(SET)

进行测试环境的搭建、代码审查及自动化测试工作的进行,该工作也需要进行编码;

测试工程师(TE)

基于用户场景进行测试,也进行一些脚本的编写,对质量进行管理工作。

|测试开发工程师定义

测试开发工程师定义:

既要会业务功能测试,又要能做代码层接口及单元测试,更重要的是通过能力和经验的积累,能搭建适用于技术研发团队的工具平台,以更好的降低公司成本和提高工作效率。

测试开发工程师基本要求:

看懂代码,熟练使用测试工具,能做ui、接口、性能的测试,具备测试经验和测试思想逻辑

1.具备一定测试经验。

2.会使用常用重要的测试工具。比如性能测试常用的Loadrunner、jmeter;ui自动化常用的selenium;单元测试常用的testng、junit;安全测试常用的appscan,js注入,xss注入,sql注入等等。

3.具备测试工具开发能力。

|测试开发工程师的能力

首先,既然作为一个测试人员,基本的测试理论一定是需要了解的,包括黑盒测试、白盒测试以及通过等价类、边界值等设计测试用例等。

其次,已经提到需要通过编写代码来进行测试,那么一定需要熟练掌握一门编程语言,例如Python,Java或者Go语言等。

性能测试是每个项目中必不可少的一部分,因此需要理解性能测试的基本原理、理解性能测试的目的并能够独立分析性能测试的指标。同时,还需要掌握某个性能测试的工具,例如Jmeter,Loadrunner等等。

在自动化测试中,通常接口测试是最常用的并且有效的。所以熟练精通接口测试及其HTTP相关原理和使用,可以使用某种编程语言或Jmeter等工具进行接口测试也是必备的技能之一。

此外,UI自动化测试是更多同学对自动化测试的理解。虽然在实际应用过程中,UI自动化测试受到各种局限,但是作为最终UI级别的自动化测试对于一些核心功能页面而言,也是不可或缺的。目前比较常用的UI自动化测试工具有:Selenium。

当我们准备了各种自动化测试脚本后,为了避免每次手工执行脚本带来的重复的操作,就要求我们测试人员掌握持续集成的概念和理论,并熟悉使用某个持续集成工具,例如Jenkins。

同时,由于基本所有的服务都会部署在Linux机器上进行测试,因此,我们需要掌握Linux系统的基本使用和相关操作。

此外,我们在面试的过程中,通常还会对数据库以及数据结构和算法的方面进行考察作为加分项。主要原因是对于数据库而言,是所有项目中核心的数据存储的部分,因此无论测试什么项目以及开发哪些测试平台,都不可避免的需要了解相关的知识。而数据结构和算法一方面可以考量一个同学的思维和逻辑能力,另一方面后续对于高水平的测试开发人员,熟悉数据结构和算法更可以提升自己编写的测试脚本/工具的效率。

今从晚向

这个人太懒什么东西都没留下

文章评论(0)

你必须 登录 才能发表评论