测试系统工程师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多家,为数百家企业提供了研发咨询服务,典型的客户如深圳迈瑞、华立仪表、步步高、英威腾、雷赛智能、埃斯顿、华工科技、中国科学院、电力科学研究院、中国工商银行、重邮信科、从兴电子、浙大网新、联迪商用等。杨学明老师课程以实战为主,以行业标杆企业为牵引,结合国内中小企业研发及测试管理环节的典型案例,深入剖析各种管理疑难问题,深受学员好评!