对于没有进入互联网领域的同学,听到测试开发工程师可能会感觉到十分困惑。它究竟是测试还是开发呢?
在不同的公司、甚至不同的部门中,测试开发工程师所负责的工作可能并不完全一致。
比如百度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)