什么是测试开发工程师(SET)?

经常有人问到:什么是“ 软件测试开发工程师 (Software Engineers in Test, 缩写为SET)” 借用Google的规范来说其实就是——在测试中的软件工程师;其工作性质上首先是测试,然后才是开发。

那么这里会让大家产生一个矛盾的感觉: 既然SET需要开发的技能,那岂不是既能做开发又能做测试, 直接做开发的岗位不行吗?

我个人的观点是:通常情况下是不行的。因为一名优秀的开发工程师所具备的能力, 不仅仅是熟悉编程语言本身,还需熟悉整个开发阶段的框架和环境,如:代码管理、表结构设计、常用算法和第三方库、常用工具链、环境的持续集成部署等等,而SET岗位里的“开发”环节的维度是不同的,SET是间接接触目标软件【基于在目标软件的测试环节之上的流程改进,或者说测试技术的改进,从简单的已有工具自动化升级到定制工具的自动化, 甚至是从0开发一个专项测试工具;最终目的是提升测试效率,保证软件质量】

按软件开发流程表示关系:测试开发的工作性质
用目标图来表述或者更清晰:

在这里插入图片描述

另外,有的软件测试工程师们经常会疑问:测试工程师生涯里, 应该不会用到编程吧?
------答:当前阶段可能用不到编程, 可是后续一旦接触到自动化测试、精准测试等方面后,必定还是要利用编程手段辅助我们来高效解决某些复杂的问题。

我们来看看软件测试工程师(Software Testing Engineer, 缩写为TE)们大致的工作流程有6个:
  • 需求分析
  • 功能用例编写
  • 功能用例评审
  • 黑盒测试
  • 问题跟踪
  • 测试报告
而测试开发工程师们大致的工作流程有7个:
  • 需求分析(需要把2份需求融合起来做分析:第一是产品需求分析, 第二是项目经理或测试工程师给出的需求)
  • 测开用例设计(分析功能用例和自研需求,对专项测试、自动化场景做分析,形成测开用例)
  • 测开用例评审
  • 自研工具的编码和测开用例覆盖(一般会邀请测试工程师共同验证)
  • 用自研工具做黑、白盒测试(单元测试 注入测试 接口mock测试等等)、自动化、性能测试、安全测试
  • 问题跟踪
  • 自研工具改进及持续集成
测试开发工程师在用自研工具去测试目标软件时 ,同时也是在校验自研工具的有效性

打个比方:

  1. 本来是用手抓饭,有些烫
  2. 研发一个隔热手套
  3. 升级成功:戴上手套去抓饭
  4. 手套好不好用?能不能隔热? 得抓一下饭试试才知道,好用则用,不好用则改进~
  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木法星人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值