测试系统工程师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. Python编程Day4——if判断、while循环、for循环

    一.if判断 语法一: if条件: 代码块1 代码块2 代码块3 示例: sex='female' age=18 is_beautiful=True if sex =='female'and age& ...

  2. conda添加多个版本的python

    在conda下,新添加一个python环境,如下再添加一个python3.6conda create --name py36 python=3.6然后通过source activate py36来激活 ...

  3. Oracle的条件in包含NULL时的处理

    一.创建一个含表,表中只有一列为id,该列中含有值为NULL的记录 我们在写SQL时经常会用到in条件,如果in包含的值都是非NULL值,那么没有特殊的,但是如果in中的值包含null值(比如in后面 ...

  4. Linux编程 9 (shell类型,shell父子关系,子shell用法)

    一. shell类型 1.1  交互式 bin/ shell程序 当用户登录到某个虚拟控制台终端或是在GUI中启动终端仿真器时,默认的shell程序就会开始运行.系统启动什么样的shell程序取决于你 ...

  5. Vagrant Ansible Playbook 安装一群虚拟机

    https://docs.ansible.com/ https://favoorr.github.io/2017/01/06/vagrant-virtualbox-vagrantfile-config ...

  6. javaweb之Filter过滤器详解

    快速入门 1.新建一个类,实现Filter接口 2.实现doFilter()方法,打印一句话,来证明能够进行拦截 3.在web.xml中进行配置(参照Servlet配置) 4.访问一个页面,看看能不能 ...

  7. 【EF6学习笔记】(六)创建复杂的数据模型

    本篇原文地址:Creating a More Complex Data Model 本篇讲的比较碎,很多内容本人认为并不是EF的内容,既然原文讲了,那就按照原文来学习吧... 第1步:通过属性来定制化 ...

  8. Centos7搭建邮件服务器-Postfix+Cyrus-sasl+Courier-authlib+Dovecot+ExtMail+Centos7

    1.环境介绍 MTA: Postfix 3.1.4 SASL: Cyrus-sasl 2.1.26 ; Courier-authlib 0.66.1(Cyrus-sasl使用Courier-authl ...

  9. lucene实战--打分算法没有那么难!

    作为一个开放源代码项目,Lucene从问世之后,引发了开放源代码社群的巨大反响,程序员们不仅使用它构建具体的全文检索应用,而且将之集成到各种系统软件中去,以及构建Web应用,甚至某些商业软件也采用了L ...

  10. PHP中的加强型接口Traits

    接口是对多重继承的一种变相实现, Traits可以被视为一种加强型的接口.   先来看如下代码 trait Hello { private $name = 'chenqionghe'; public ...