文/杨学明
如今,国内所有的研发型的公司都有测试部门,无论测试团队大小,都有测试组长,测试经理,测试工程师等头衔,但随着产品和业务的质量要求越来越高,产品的市场竞争越来越激烈,公司领导对产品测试的要求越来越严格,仅靠一个人或一个领域的测试人员很难保证产品质量,测试的发展趋势有三个:
1) 越来越多的企业正在推行全流程的测试,即软件从需求开始就进行测试;
2) 各个测试活动要相对独立, 开发和测试人员的活动要有边界;
3)开展基于风险的测试RBT和探索性测试(Exploratory Test)
如同产品的系统设计一样,测试也需要系统架构师,站在系统的角度对整个产品进行功能或性能测试,这就我们所说的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在软件开发过程中角色必将越来越重要。