
质量,是所有企业和产品立身的基石,也是新华三集团和CR核心路由器的不懈追求,怎么强调也不过分。但如何构建更有效的质量控制机制,进而提供质量更可靠的产品,却是现实中必须时刻面对且需要通过实践切实解决的问题。有没有更有效的方法?有没有更清晰的理念?无数新华三人在苦苦求索。鉴于十多年测试领域的工作思考,尤其是近些年在CR核心路由器测试工作中的历次创新和实践,让笔者对于“方法论:边界”在质量控制活动中的作用感悟日深。这次抛砖引玉,希望能引起大家更多更深入的思考。
边界与质量的关系
“边界”简单的说就是界限,但又不局限于此。边界既有人为规定、可视可见、清晰明确的地理界限、时间范围、法律规范、社会领域、物种分类、流程交付等,也有模糊灰度、演变磨合、能够感知的人际边界、生态边界、能力边界、影响边界、宗教信仰、道德规范等。这些或清晰或模糊的边界,和人类的社会活动和文明发展相辅相生,存在并持续产生着影响,而质量自然也概莫能外。
要做好质量控制,就必然要搞清楚“什么是质量”这个问题,无论是传统的生产加工行业,还是飞速发展的通信互联网行业,这个问题都无法回避。虽然探究起来内容繁复,且不同的人和组织有不同的理解和做法,但万变不离其宗,必然需要符合两个基本的认知。其一,质量必须从客户的角度出发,任何脱离用户的质量评价都是自说自话而已;其二,质量必须在特定的边界内进行认定,脱离边界空谈质量,无异于儿戏。从个人的认知上讲,产品的质量,就是“特定边界内的产品应用性满足”,即产品在确定或限制范围内,能成功满足用户需要的程度。
既然说到质量必须在特定的边界内进行认定,是否就是说,质量的边界仅仅只是使用场景的限制或特性的明确?当然不止于此。边界除了“界定”以外,还有“传递”和“衍生”,具体可以分为边界的厘清、边界的建立、边界的守护、边界的突破、边界的重构、边界的贴合等各个环节,统称为边界的螺旋。其中厘清、建立、守护、突破和重构是边界的内部螺旋,贴合是边界间的外部螺旋。边界螺旋各环节依靠“差异化”的力量循环往复,持续改进,稳步提高。可以说,质量与边界息息相关,没有边界就没有质量。
质量控制过程出现问题,往往是因为产品研发过程中各环节边界不清,或边界进退失据导致的攻守失衡。在单一边界内,边界螺旋的完整过程实际上是夯实基础不断突破相互贴合的过程,质量控制的守和攻,则对应着边界螺旋的不同环节组合,其中“守”对应着边界的厘清、建立和守护,“攻”对应着边界的突破和重构。攻守兼备且平衡,则进退有据,质量有依;攻守失衡,攻大于守时边界疏漏会导致错误百出,损害用户利益和产品品牌。守大于攻时边界固化,质量活动僵化,逡巡不前。我们可以很清晰的看到,正是边界的螺旋,质量控制的攻与守,影响着我们的质量呈现,同时提供着质量不断前行的动力。
此外,在具体事务或流程之外,还有能力边界、责任边界、目标边界等众多质量影响因素,本文仅讨论具体事务,对于人相关的因素暂不展开详述。
产品研发环节边界的内生关系
在产品研发阶段的整个生命周期,产品质量依赖于如下众多研发环节的边界螺旋。具体如下:
用户边界:对数通行业而言,即行业或者运营商的实际应用场景代表着用户的实际使用需求。可通过用户访谈、典型应用分析、开局支持、网上问题处理、方案验证、行业经验、积累传承等方式获得。用户边界与所属行业和网络位置有关,有相对固定的传承脉络,且持续进行演化。用户边界可呈现、可牵引,也可被反压。用户边界是所有开发环节边界的基础,只有构建坚实的用户边界,之后的各边界才有存在的价值和意义,才不会成为无根之木,无源之水。用户边界在现实中无法一次建立完美,变化是常态,是否变更取决于用户需求的合理性及产品竞争力构建时的主动选择。
需求边界:即将用户需求进行分解、内化、重构和梳理,代表着研发对用户应用性满足度的认知。可通过对用户边界的充分理解和探讨完成,以产品包需求分析为主要表现形式。过程中需要系统工程师主持统合分析,通过磨堪、融合达成,并基于对用户需求必要性和迫切性的理解进行取舍和优先级定义。需求边界的完全建立,代表着一款产品质量基因的确定,是分析环节的重中之重。需求边界在现实中同样无法一次建立完美,必须应用边界内部螺旋的理论,伴随着对用户边界理解不断深入及规格边界细化分析后的纠正而不断重构;此外,还需要应用边界外部螺旋的理论,与用户边界和实现边界不断贴合。
规格边界:即对需求边界进行技术语言描述、细化分析和组织重构,包括硬件规格、软件规格等,代表着研发对产品实现的框架性定义和细节定义。此边界通过总体分析和细分特性的分析完成,以产品规格列表、概要设计和详细设计为主要表现形式。规格边界的建立和完善,代表着设计阶段的完成,之后方可应用不同的开发模式进行实现,如V模型、敏捷等。同样,规格边界在现实中也无法一次建立完美,也需要应用边界内部螺旋的理论。伴随着对需求边界理解不断深入及实现边界构建过程中无法实现部分的反压而不断重构;此外,还需要应用边界外部螺旋的理论,与需求边界和验证边界不断贴合。
实现边界:即针对规格设计进行Colding实现,也即渐增构建,以硬件交付件和软件版本为主要表现形式。实现边界的建立,代表着研发开发主体工作的完成,但由于开发过程中所涉及的能力、取舍、缺陷和问题,无法达到一次构建完美,就需要应用边界内部螺旋的理论,结合验证环节对问题的深入挖掘及规格边界的重定义不断突破和重构。在此过程中,应用边界外部螺旋的理论,同时完成与规格边界、验证边界和自动化边界的有效贴合。
验证边界:在实现边界建立后,研发测试团队开始介入进行系统验证,并通过缺陷拉动版本修复节奏,即渐增测试。验证阶段活动繁复,不仅包括项目开发过程中的系统测试和代码鉴定测试,还包括BBIT、SDV、SIT、SVT、BETA等各阶段测试活动。活动虽多,但主要可分为设计和执行两类,设计即测试策略、测试计划、测试方案、测试用例的设计和梳理,执行则包括各阶段和活动的测试覆盖。在验证阶段,研发测试人员通过黑盒、白盒、灰盒等不同的测试手法,梳理测试矩阵,细化测试方案,把握质量变化脉搏。同时需应用边界内部螺旋的理论,立足于实现边界建立设计和执行的良性循环,推动验证边界重构;需应用边界外部螺旋的理论,与规格边界建立限定/反压关系,与实现边界通过变更分析和MBT分析等工程方法全力贴合,并通过开发和运维实现对自动化边界的完全贴合,形成立体式的质量控制体系,完成产品质量的有效保障。验证边界CR核心路由器涉及的测试工具和机制较多,主要涉及硬件交付件变更分析、配套表维护、软件版本变更分析、测试规格/方案更新、自动化规格更新、多层次自动化平台构建、灰盒MBT分析设计、缺陷同步机制、重大问题同步机制、任务跟踪、物料资源监测等具体的边界维护。
自动化边界:自动化边界是基于能力和效率提升发起的,以快速发布支撑能力和跨版本防反复监测为目的存在的边界构建。自动化工作在规格边界建立阶段就开始启动,伴随实现边界构建而构建,在实现边界过程中配合应用,以规格为基准,最终形成高效、完备、快速、可靠的质量保障能力。应用边界内部螺旋的理论,自动化边界需建立自我更新、自我延展的自愈机制;应用边界外部螺旋的理论,自动化边界需要同时基于实现边界和验证边界构建,不断尝试边界贴合,从而形成对交付边界的坚实支撑。对自动化而言,边界的厘清和建立固然重要,但更重要的是通过机制赋予自动化边界自我守护、突破重构的能力。从实践上看,CR核心路由器产品的多层次自动化拦截体系,可以有效支撑产品的质量保障活动。除了构建物理上的自动化边界(覆盖所有设备和交付件,DUT物理环境划分)以外,自动化边界的建立还涉及流水线式的自动化边界形成机制、自动化测试套与运行环境的边界对应、自动化边界的守护机制建立、自动化所能支撑的版本发布能力边界及支撑机制、自动化能力边界建设等。
交付边界:即通过开发全流程质量控制手段,最终形成的交付给用户的基线。交付边界包括硬件交付物、软件版本、产品规格/资料等。交付边界是开发各环节边界相互作用,并最终演化的基线化成果。它立足于规格边界、实现边界和验证边界,通过自动化边界确保长期的质量监测和守护,并作为最终成果和用户边界对接。
从以上内容可以发现,产品质量的评判标准,取决于交付边界是否能与用户边界成功对接,以及“特定边界内的产品应用性满足”的效果。如果在明确应用范围内实现和用户使用场景的完美对接,则是质量控制成功的产品,否则,则是失败,需要重新进行各环节边界的厘清、重构和贴合。
结束语
显而易见,质量控制方法就是边界的方法论在产品上的具体实践。只有实现边界内部螺旋(厘清、建立、守护、突破、重构)和边界外部螺旋(贴合)的良性循环,在各个开发环节才能将边界的方法论落实到位,知行合一的质量控制才不再是一句空话,而是每个产品、每个团队、每个人都能触摸到的现实。