深圳市共创力研发咨询 杨学明/文        

 TSE(Test System Engineer)简称测试系统工程师,作为系统工程(SE)团队的一员,很多公司目前还没有这样的角色,导致测试部分往往处理弱势,第一,不能进行端到端开发流程的测试,第二,不能对产品最终的测试质量负责。那么,TSE整个组织架构中是什么样的职责呢?以华为公司为例,华为公司在2010开始推行TSE的角色,并与其它成员相互配合,下图可以看到,TSE是系统工程的一部分,主要负责测试领域的把关: (这是一个虚拟的组织,TSE的部门依然是测试部)

 

   制定总体的产品策略是TSE的首要职责,详细的活动如下:

  • 活动目的:根据产品需求和研发状况确定测试策略以达到最优的测试效果。
  • 责任角色:TSE。
  • 参与角色:系统工程师。
  • 活动输入:系统需求说明书、产品包开发与验证计划、Build计划。
  • 活动输出

总体测试策略:说明产品各层级测试活的的测试策略和退出标准。如果必要,更新Charter-TR1阶段确定的自动化测试策略。

  • 活动要求
  • 特性和系统需求是测试的两个不同对象,总体测试策略中定义的测试对象必须同源,不能自行新增修改删除特性或系统需求。
  • 如果计划中有某个层级的测试活动,则必须制定此层级的测试策略和退出标准。
  • 如果进行迭代开发,需要明确各层级测试活动在迭代内的策略。
  • 如果进行迭代开发,需要明确迭代内的自动化测试策略:根据基础版本的自动化情况和人员能力,制定迭代的自动化测试策略,包括对老功能的自动化补充,对新开发功能的自动化覆盖等。

总体来讲,TSE的职责是负责产品测试技术的竞争力。负责分析可测试性需求,参与产品需求分析活动;负责测试设计的质量,参与测试执行活动。他与其它测试的角色的关系如下:

 

        如同产品的系统设计一样,测试也需要系统架构师,站在系统的角度对整个产品进行功能或性能测试,这就我们所说的TSE(Testing System Engineer,测试系统工程师),共创力咨询在国内各个大中城市开设公开课和内训、咨询服务的过程中,发现国内的研发创新型企业不但SE缺乏,其实TSE也缺乏。那么TSE究竟是什么?如何培养合格的TSE呢?

首先我们来看看目前华为公司某产品线TSE的能力要求:

客户需求理解与把握能力。作为测试负责人主导V/R版本的业务分析、架构设计验证和DFX联合评审;作为测试负责人参与重大项目市场的实验局、认证、准入、IOT测试、巡检和重点客户交流,输出设计瓶颈优化方案;

测试分析设计和DFX验证能力。全流程主持V/R版本的测试需求分析、E2E测试分层策略的制订、用例库基线建设、网上问题闭环改进,能够准确把握客户需求,测试设计有效性较高,作为测试负责人参与DFX设计,能发现DFX设计问题,并给出解决方案;根据客户需求,现网安全事故及内外部安全测试评估发现的问题,公司安全规范、威胁分析结果进行测试用例的设计;

问题发现分析定位能力。对所有网上疑难问题、DFX验证没有达到设计目标的问题进行分析定位,给出有效解决方案;对版本进行准确的测试评估,评估结论跟网上运行结论一致(含DFX验证结论),测试行为符合客户和公司的网络安全要求(重点是行为规范),未引发安全事件;

测试自动化能力。主持V/R版本全流程的自动化测试和全流程验证的方案设计和部署(包括自动化环境的构建),支持R版本回归自动化率达到90%以上,显著提高测试覆盖率和降低测试成本,敏捷开发过程中,自动化测试用例的开发与执行能与STORY的开发同步完成,持续集成构建成功率能达到90%以上。

以上是对测试系统工程师的四项基本能力要求,随着客户对产品品质的要求越来越高,TSE在软件开发过程中角色必将越来越重要。