本文共 1316 字,大约阅读时间需要 4 分钟。
本节书摘来自华章出版社《软件测试价值提升之路》一书中的第1章,第1.6节,作者:杨晓慧编著,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
华为的软件研发特征是:典型的传统软件企业,软件完成后完全部署在用户的环境中使用,有按月交付的业务版本,也有半年甚至更长时间才交付的基础版本或平台版本,产品有一定的继承性,但架构重构也不是小概率事件(这主要是因为华为还是电信领域的新人,对这个领域的把握还不十分老道),十分注重在发布前排除软件缺陷。属于领域跟随者,开发内容绝大部分由客户需求主导。
开发测试比是2∶1~10∶1,2∶1是比较核心的平台部门的比例;10∶1是大量测试外包的业务部门的比例。如果加上外包一起计算,比例大概都在2∶1~4∶1。这个比例意味着测试主要精力是在黑盒测试上,如果需要做灰盒测试,基本需要1∶1才能搞定。测试职位的名称:TE、TSE(测试系统工程师)。TSE是比较具有华为特色的角色,这个角色的定位历经很多变化,目前也还在变化的路上,详细内容参见5.4.4节“从任职资格标准的演变看测试价值”。基本上,在重要的项目、技术更新和提升、团队能力建设中都可以找到TSE的身影。在华为,测试工程师的职责如下:1)保障质量。这是华为测试最基本的职责,因此非常强调结构化测试,对自动化也非常推崇,即使是界面自动化也从未放弃。可靠性和性能的技术积累比较丰富,其他DFX维度的实践也比较多,但还没有牛人出现。MBT的实践在部分继承性好的产品取得了成功。2)交付。面向客户交付的验收测试活动,是测试工程师晋升的摇篮之一。如果一个产品质量好,那多半得益于专项整改、架构优化、开发工具优化,以及CI标准严格执行。如果一个产品质量不好,测试多半是有连带、甚至是主要责任的。所以只有部分测试工程师的晋升,是由于在保障质量上做得出色。而针对验收一次性通过采取的实例化需求、现场测试自动化、现场测试流程优化等也得到了比较广泛的认可,成就了一些测试工程师。华为研发对测试还有其他要求,比如:代表客户进行同类产品质量和体验的评估(竞品分析),从问题出发驱动产品质量改进(产品商用的瓶颈分析),提升研发效率(全面提升自动化,并用于研发各环节,提升整体效率)等,这些方面的成功实践还是少数案例,并不普遍。3)公司大平台(公司级工具开发和研发能力提升团队)“搞定”流程、工具、技术更新。华为非常强调集团作战和经验传承,认为固化为流程、模板、工具就能减少对人的依赖,因此有一个非常重量级的公司大平台,流程基本上是公司层面定义的,产品只能在规定的范围内定制,定期会进行流程合规的审计。测试工具的大框架、支撑流程、管理(缺陷、用例、实验室、CI)和度量的工具基本上是大平台开发的;而自动化、性能、可靠性和MBT工具则是由产品线或者产品测试团队开发的。大平台也试图统一这些工具,但是目前没有成功。这种大平台在同业中基本上没有见到过。华为测试的组织和定位不断变革,至今仍然不断变化,由于开始“折腾”的早一些,今天才能有些许经验来分享。后面关于测试应有的价值的思考,是测试经理们和产品研发的领导们不断沟通、实践后的结果。转载地址:http://jsxwm.baihongyu.com/