测试系统工程师TSE的职责与培养

                   研发资深顾问 杨学明

   如今,国内所有的研发型的公司都有测试部门,无论测试团队大小,都有测试组长,测试经理,测试工程师等头衔,但随着产品和业务的质量要求越来越高,产品的市场竞争越来越激烈,公司领导对产品测试的要求越来越严格,仅靠一个人或一个领域的测试人员很难保证产品质量,如果产品的系统设计一样,测试也需要系统架构师,站在系统的角度对整个产品进行功能或性能测试,这就我们所说的TSE(Testing System Engineer,测试系统工程师),笔者在国内各个大中城市开设公开课和内训、咨询服务的过程中,发现国内的研发创新型企业不但SE缺乏,其实TSE也缺乏。那么TSE究竟是什么?如何培养合格的TSE呢?

   首先我们来看看目前华为公司某产品线TSE的职责:

①需求澄清。每个需求在开发前组织开发负责人和测试人员面对面进行需求澄清,确保需求理解达成一致,疑问和分歧点形成的遗留问题和用户确认。

②测试用例设计。需求澄清完成后,TSE设计测试用例,用例设计完毕后组织开发、测试、SE进行用例检视和评审,根据检视和评审结果对用例进行整改,确保用例和原始需求保持一致。

③测试策略制定。每个阶段开始前制定合理的测试策略,主要内容包括老功能抽检、新功能验证,可靠性、稳定性、数据一致性、大容量、升级、UCD体验、资料测试等专项测试。

④测试策略执行监控。和测试经理配合确保测试策略制定的内容均衡的分布到测试周期的每个阶段;定期检查测试执行进展,确保策略能够落地,及时发现测试用例存在的问题并进行整改。

⑤逆向分析。每个测试阶段结束时,TSE必须逆向分析该阶段发现的问题单,识别功能质量薄弱点,和开发、SE等讨论给出针对质量薄弱点的加强措施,并转换为用例,跟踪测试经理将加强措施落地到测试过程中。

⑥重要局点保障。针对局点的特点挑选合适的用例,确保能够满足客户的要求;同时分析特殊场景当前的满足度,增加和修改用例。

   以上六点,是一个TSE最典型的职责,由此可见,在产品测试的全局性、系统性、策略性方面,TSE的角色是非常重要的,我们再来看看TSE在整个测试团队组织结构中的位置:

       

  由上图可见,TSE是测试分析设计的灵魂人物,如果团队中缺乏测试系统工程师,会导致大家的测试方案都是零散的,不能统一根据系统设计进行测试方案的设计,测试策略和测试团队的配合方面也会出现问题,甚至会出现测试的“盲区”,很多功能点没人测试,或者测试不到位。

总之,TSE是一个测试组的技术带头人,是测试组成员工作学习的榜样。在测试业务领域,需要负责保证测试组测试分析设计质量,进而保证版本测试质量;负责测试组技术建设的分析和实施。在产品领域,需要负责产品相关关键技术和知识的学习积累,并将产品知识向测试组传递;参与产品分析设计过程,表达测试的声音。在团队组织建设领域,需要主导测试组学习氛围的建设,搞好技术的培训交流,做好测试组在技术问题上的答疑解问;做好测试测试组成员的培养。

那么,如何培养合格的TSE呢?据专业的咨询统计,系统测试工程师的培养是需要很长时间积累的。据有关资料介绍,通过四年的大学教育能够使技术人员获得传统高级测试系统工程师50%的技能,然后经过5年的系统测试工程实践将可以达以80%的技能水平,再经过5年的实践将能够达到100%。在国外很多公司,测试系统工程师比开发人员的要求还要高,当然待遇也相对高一些。我们来看看测试人员的职业通道:

      

 从上图我们可以看到,左边是技术通道,右边是管理通道。如果从一名普通的测试工程师走向测试系统工程师或测试架构师呢?主要从以下三个方面去努力:

1、             测试业务领域:

(1)测试的质量也一样主要是由分析设计阶段的工作来保证,至少在分析设计阶段能将产品测试的重点特性测试哪些点,如何测试,测试需要的资源,工具等等,以及把测试中有难度和有风险的点分析出来,做好相应的研究准备,将工作细化,组织组员一起完成测试设计工作。PTM流程以及一些测试的方法和思想是公司多年测试经验的积累,需要每个TSE都能认真的理解,并在多个项目中自己实践,真正从自己来分析设计产品的角度去分析每个特性,将自己的分析思路以有效的手段记录下来,并与测试成员分享,以及为后续测试设计基线以及经验的传承做好积累。如今敏捷流行,如何在敏捷环境下做好测试设计需要探索和借鉴。

(2)在关注业务的同时,TSE还必须有意识的了解行业在性能,可靠性。可维护性、体验、安全性等专项测试,自动化、测试流程、测试方法方面的动向和成果,结合自己产品的实际,将好的方法和成果运用在自己产品测试过程中,能改进我们测试组的技术,提升我们的效率,引导测试成员在除产品业务之外的测试领域去学习和实践

(3)测试组的技术建设:识别当前产品领域应该学习和掌握的知识点,识别测试组在当前以及未来应对产品测试在技术方法上存在的不足,组织测试组成员有计划的开展学习和研究;TSE需要充分参与测试组的相关评审活动,并以良好的职业素养对待评审任务。

2、             产品领域:

TSE在产品领域应该做到对产品的整体了解,对关键的技术点,关键的业务特性,以及基础的知识自己要学习掌握。在产品开发流程种,需要按照原来PTM以及TR4前测试的要求或者思想在产品前期充分参与产品分析设计过程,保证需求规格的在一定程度上的明确,并且可测,并要敢于表达自己对产品设计的意见和建议。组织好测试组的分析设计活动。

在组织测试组的分析设活动时,TSE需要在测试方案或者其他设计文档种将自己的分析思路清晰的表述出来,并通过讲解,让每个成员知晓和领会,然后进行测试用例的设计。TSE需要保证测试用例评审的投入。

3、             团队组织建设能力和软技能(如领导能力、沟通管理、冲突处理、情绪管理等)

(1)TSE在团队建设中,对团队的学习研究氛围,以及人员培养,以及测试组的士气都起着很重要的作用。TSE通过自己的学习研究,引导带动大家进行业务学习,可以经常开展技术交流活动,将自己的所学介绍给大家,引导大家学习的方向,并促进大家相互分享。TSE需要能在业务方面指导成员,为其提供业务学习上的指导,做好人员的培养。在关键时刻,TSE要能站出来树立测试的威严,也鼓舞大家的士气。

(2)TSE需要培养自身的软技能,如沟通的技巧、冲突处理、情绪管理等方面的能力。测试人员不但需要跟内部的同事沟通协调,而且还要同许多外部的同事沟通,比如开发,设计和质量、人力资源等等,所以TSE需要培养自已的软技能。

注:本文由资深研发管理专家杨学明先生提供。杨学明,清华大学MBA,资深研发管理专家,国内首席测试管理专家,曾服务于华为,阿里巴巴等知识企业,杨老师先后在国内开设测试类公开课100多场,服务内训客户1000多家,为数百家企业提供了研发咨询服务,典型的客户如深圳迈瑞、华立仪表、步步高、英威腾、雷赛智能、埃斯顿、华工科技、中国科学院、电力科学研究院、中国工商银行、重邮信科、从兴电子、浙大网新、联迪商用等。杨学明老师课程以实战为主,以行业标杆企业为牵引,结合国内中小企业研发及测试管理环节的典型案例,深入剖析各种管理疑难问题,深受学员好评!

测试系统工程师TSE的职责与培养的更多相关文章

  1. 测试系统工程师TSE需要具备的四项能力

    文/杨学明 如今,国内所有的研发型的公司都有测试部门,无论测试团队大小,都有测试组长,测试经理,测试工程师等头衔,但随着产品和业务的质量要求越来越高,产品的市场竞争越来越激烈,公司领导对产品测试的要求 ...

  2. 什么是测试系统工程师(TSE)?

    深圳市共创力研发咨询 杨学明/文 TSE(Test System Engineer)简称测试系统工程师,作为系统工程(SE)团队的一员,很多公司目前还没有这样的角色,导致测试部分往往处理弱势,第一,不 ...

  3. 广州CVTE招聘-测试开发工程师

    内推邮箱:keweisheng@cvte.com 地点:广州 公司简介 CVTE成立于2005年,总部位于广州科学城,旗下设有多家独立的子公司,在香港设有全球服务中心,在国内设有21个营销服务中心和近 ...

  4. 网易云 微专业C++系统工程师

    网易云 微专业C++系统工程师 一.学前基础 1.曾经学过某种编程语言(C语言最佳) 2.了解基本的变量.类型.作用域.循环和控制流程:了解基本数据类型(整数.浮点.字符串.数组等) 3.知道如何编译 ...

  5. 什么是测试开发工程师-google的解释

    什么是测试开发工程师-google的解释 “ 软件测试开发工程师[SET or Software Engineer in Test],和软件开发工程师一样是开发工程师,主要负责软件的可测试性.他们参与 ...

  6. 翻译一篇文章:It's Difficult to Grow a Test Developer(成为测试开发工程师的艰辛)

    翻译一篇文章:It's Difficult to Grow a Test Developer(成为测试开发工程师的艰辛)   以下文章是送给来poptest学习测试开发工程师的学员们,很多人想测试工程 ...

  7. 《Google软件测试之道》测试开发工程师

    拖延了将近半年的草稿,断断续续的写完了.之前草草翻看完这本书,关注点主要在TE上,而关于SET的部分则只是浏览,最近后知后觉,又翻出了这本书,重新看了一遍,又有新收获. 就说说Google的SET是如 ...

  8. 【转】测试开发工程师必备软硬能力&高级测试开发工程师需要具备什么能力?

    对于测试的基本知识,可以查看软件测试相关书籍 对于在公司成为一位优秀的测试开发工程师,我觉得下面这篇文章涉及到的是我们需要的,稍微进行改动https://blog.csdn.net/sinat_210 ...

  9. Poptest学员之当小厨师变成测试开发工程师

    没开玩笑,这是我们的真实案例.做培训以来,各行各业转行做测试的学员见得太多了.修车的.客服的.销售的.司机的.医护的.前台的等等.职位虽然不分贵贱,但是薪资却分多少.每个人心中都有让家人和自己过上好日 ...

随机推荐

  1. mysql 开发进阶篇系列 16 MySQL Server(myisam key_buffer)

    一.概述 mysql 提供了很多参数来进行服务器的设置,当服务第一次启动的时候,所有启动参数值都是系统默认的.这些参数在很多生产环境下并不能满足实际的应用需求.在这个系列中涉及到了liunx 服务器, ...

  2. java为什么用咖啡?

    2000年度的JavaOne国际会议大厅热闹非凡,一阵阵浓郁的咖啡味儿香气扑鼻.从世界各地汇集到旧金山参加会议的Java精英们兴奋异常,排着长队,等待得到一杯由Java语言控制的咖啡机煮制的免费咖啡. ...

  3. API防重放机制

    说说API的防重放机制 我们在设计接口的时候,最怕一个接口被用户截取用于重放攻击.重放攻击是什么呢?就是把你的请求原封不动地再发送一次,两次...n次,一般正常的请求都会通过验证进入到正常逻辑中,如果 ...

  4. ES6躬行记(11)——对象

    在第5篇中,讲解了多个对象字面量的改进,本节将重点介绍两个新增的静态方法,以及对象属性的重复处理和枚举顺序. 一.Object.is() 此方法用于判断两个值是否相同,内部实现了SameValue算法 ...

  5. Thrift 基于zookeeper改造模式

    对于Thrift服务化的改造,主要是客户端,可以从如下几个方面进行: 1.服务端的服务注册,客户端自动发现,无需手工修改配置,这里我们使用zookeeper,但由于zookeeper本身提供的客户端使 ...

  6. Python异常处理详解

    在shell脚本中,常用if来判断程序的某个部分是否可能会出错,并在if的分支中做出对应的处理,从而让程序更具健壮性.if判断是异常处理的一种方式,所有语言都通用.对于特性完整的编程语言来说,都有专门 ...

  7. T-SQL基础(六)之可编程对象

    变量 -- 声明变量 DECLARE @variable_name [AS] variable_type; -- 变量赋值 SET @variable_name = variable_value; 示 ...

  8. 条件分支SQL语句<一> Case When

    SELECT END ) AS MoneyIn, END ) AS MoneyOut, END ) AS BetMoney, END ) AS PctMoney, END ) AS WinMoney, ...

  9. springMVC_03注解完成hello案例

    1.导入jar包 commons-logging-1.1.1.jar jackson-annotations-2.5.4.jar jackson-core-2.5.4.jar jackson-data ...

  10. 为什么redis是单线程的?速度还这么快

    为什么说Redis是单线程的? 为什么redis是单线程的?速度还这么快