基于TMMi模型的品质保证研究与分析
2024-10-29李志涛崔光宇耿伟峰
【摘 要】随着汽车智能化、电动化、网联化、共享化的快速发展,汽车软件的规模和复杂性急剧增加,软件系统中潜藏的风险愈发增高,软件缺陷引发的后果也日益严重,与此同时,提高软件测试品质的需求愈发迫切。面对这一日益紧迫的形势,如何达成高质高效的测试变得越发关键。文章主要介绍一种先进的测试成熟度模型集成,对模型框架予以剖析,依据模型理念与测试工作实践搭建品质保证过程,并对品质保证的项目应用及效果等展开阐述,期望能为测试同仁提供一些参考。
【关键词】TMMi模型;品质保证;审核;过程;成熟度
中图分类号:U463.6 文献标识码:A 文章编号:1003-8639( 2024 )10-0062-04
Research and Analysis of Quality Assurance Based on TMMi Model
LI Zhitao,CUI Guangyu,GENG Weifeng
(Baoding Technology R&D Branch,Great Wall Motor Co.,Ltd.,Baoding 071000,China)
【Abstract】With the rapid development of automotive intelligence,electrification,networking and sharing,the scale and complexity of automotive software have incre5PRXTcdLka17hLEambyfigudIyglREcocqc1A3njO+o=ased dramatically,the hidden risks in software systems have become increasingly high,and the consequences caused by software defects have become increasingly serious. At the same time,the need to improve the quality of software testing has become more and more urgent. In the face of this increasingly urgent situation,how to achieve high quality and efficient testing becomes more and more critical. This paper mainly introduces an advanced test maturity model integration,analyzes the model framework,builds the quality assurance process according to the model concept and testing practice,and expounds the project application and effect of quality assurance,hoping to provide some references for test colleagues.
【Key words】TMMi model;quality assurance;review;process;ripeness
作者简介
李志涛(1983—),男,高级工程师,主要工作方向为汽车车载总线测试与电器功能测试。
Boehm统计表明,软件研发企业在测试阶段的投入应当达到开发整体成本的30%~50%左右[1]。在国外,许多公司已将测试发展成一门独立的科学,由专门的部门履职,而在国内,随着软件产品的规模不断扩大,测试团队也逐渐形成规模。软件测试在重视程度、实施程度、测试人员的发展等方面都有了较为显著的进步。然而,与国外成熟的测试体系相比,不少国内组织认为测试仅仅是简单的执行,停留于测试是控制产品品质的一种手段,对于测试的管控只是管理测试计划、测试用例和测试缺陷,对于测试过程及其活动本身的品质缺乏详细的关注和研究。鉴于如何保证项目进度,减少开发测试的返工量并节省成本,提高测试品质,一种先进的测试成熟度模型被引入到汽车测试行业中,在测试组织及工作中导入TMMi模型,通过实施基于TMMi的测试过程,构建一套符合汽车行业特点的品质保证流程,实现测试品质和测试效率的提高。
1 TMMi概述
随着软件规模和软件复杂度的持续提高,软件高品质的快速交付成为一项极具挑战性的工作。如何提高测试效能,保证品质,是很多测试部门面临的棘手问题[2]。为此,TMMi基金会创建了测试成熟度模型集成(Test Maturity Model Integration,TMMi),该模型作为国际权威的测试组织能力成熟度评价模型,也是国际上最为权威的测试组织成熟度认证,构建了一个测试组织的治理框架,涵盖了已被广泛证实有效的可行测试过程和丰富的测试实践,为测试过程改进提供了指南和参考框架,能够助力组织有效地达成自身目标。
TMMi的基本理念在于使软件测试从一种混乱、无序、缺乏组织、资源不足、管控缺失、边界不清晰、过程不明确的测试过程行为,逐步转变为“以缺陷预防与持续改进为主要目标”的成熟可控的过程,从而帮助组织运用行业的最佳实践标准来管控风险,执行标准的流程,开展标准的过程活动,推动和促进测试组织、测试标准、测试环境、测试效率、测试品质的全面优化,降低测试成本等。
2 TMMi模型框架
TMMi呈现的是一个过程改进的阶段型架构,其中涵盖了5个成熟度级别以及相应的组件架构,规定了成熟度级别和测试过程改进的路径。每个级别均设有一组过程域,组织需要落实这些过程域,以达到相应的成熟度级别。
2.1 成熟度级别
在TMMi的5个成熟度级别中,规定了特定的过程域,并通过丰富的测试实践来支撑测试过程,这些过程以增量的方式来进行改进,组织需要实现每个阶段的过程域来达到相应的成熟度级别,使之成为下一阶段的基础。成熟度级别和过程域见表1。
2.1.1 初始级
测试通常被认为是调试的一部分,处于一种混沌、不明确的过程。测试主要在编码完成后才进行,测试和调试相互交错,没有明确的界限和区分,重点在于消除系统中的缺陷,目的是表明软件运行时没有重大故障,但对品质和风险缺乏足够的可见度。组织一般不提供一个稳定的测试环境,测试成功的关键依赖于人员的能力,而非经过验证的过程。总之,初始级的测试管理杂乱无序,没有明确的过程域,缺少资源、工具和经过专业培训的测试人员,产品不能按时发布,也难以达到预期的交付品质。
2.1.2 管理级
在管理级,测试成为一个受到管理的过程,其过程域包含测试方针与策略、测试计划、测试监督与控制、测试设计与执行、测试环境。测试的主要目的是验证产品满足特定需求,并且与调试有明确的区分。在项目的测试策略中,测试是多级别的,每个确定的测试级别都定义了特定的测试目标,测试工作中建立了项目的测试策略,制定了测试计划,定义了测试途径,但测试仍然在开发生命周期中相对较晚的阶段开始。
2.1.3 定义级
定义级的过程域有测试组织、测试培训方案、测试生命周期与集成、非功能测试、同行评审。该级别测试不再局限于开发后期,而是完全集成到了开发生命周期,并且拥有独立的测试团队和特定的培训方案。测试过程改进已成为标准的过程实践,同时在整个生命周期中实施了正式的评审,形成了标准的过程描述和规程的范围。测试项目在裁剪规则的允许范围内对标准过程进行裁剪,具有更高的一致性。
2.1.4 测量级
测量级的过程域包含测试测量、产品品质评估、高级评审。组织范围内的测试测量方案得以实施,用于评估测试过程品质、测试效率,预测测试性能和成本并监督改进,测量数据纳入到组织的测量库,支持基于事实的决策。该级别测试已是一个完全定义、基础良好的可测量过程,测试被认为是一种评估,通过定义品质需求、品质属性和品质度量来实现产品品质评价过程。评审和审查被定义为测试过程的一部分,用来在生命周期早期测量产品品质,并作为正式控制品质的阶段点,成为和动态测试之间协作的测试途径,使测试更具效率和效果。
2.1.5 优化级
优化级的过程域包含缺陷预防、品质控制和测试过程优化。这3个过程域高度关联、相辅相成,最终为持续过程改进提供支持。该级别建立了缺陷预防过程域,通过识别和分析在开发生命周期中出现的缺陷原因并制定措施,防止类似缺陷再次发生。测试过程通过品质控制过程域进行统计管理,包括统计抽样、测量置信水平、可信度和可靠性驱动测试过程,同时在测试过程优化过程域不断改进测试,通过既定的规程、选择和评价新的测试技术来识别差距不足,对测试方法和技术进行不断优化,并持续关注细微调整和过程改进。
综上所述,TMMi的每个成熟度级别包括若干个过程域,体现了一个组织的测试过程改进关注点。过程域确定了要达到一个成熟度级别必须解决的问题,每个过程域确定了一系列测试相关的活动。必须满足某个成熟度级别及其低成熟度级别的所有过程域,才能认定达到了该成熟度级别。
2.2 组件架构
TMMi组件分为3类,分别是必需组件、期望组件和信息组件。必需组件描述了一个组织为满足一个过程域所必须达成的事项,必需组件涵盖特殊目标和通用目标。期望组件描述了一个组织通常为实践一个必需组件将会实施的内容,期望组件引导过程改进和评估,期望组件包括特殊实践和通用实践。信息组件提供了一些详细信息,以帮助组织开始思考如何实现必需组件和期望组件,诸如子实践、典型工作产品、说明、例子和参考信息都属于信息组件。TMMi组件架构示意图,见图1。
TMMi的成熟度级别被视为组织测试过程品质的一种程度体现。组织所实现的成熟度级别越高,其测试过程就越成熟。为了达到特定的成熟度级别,必须满足该成熟度级别以及低于该成熟度级别的过程域的所有适用的特殊目标和通用目标。
3 品质保证过程
品质保证(Quality Assurance,QA)指为了确保开发过程和结果符合预期要求而建立的一系列规程,以及依照规程和计划开展的一系列活动及其结果评价。品质保证为组织管理者提供项目所使用的开发过程和所开发产品的可视性,其过程活动主要分为6个阶段,分别为组织建立、计划制定、检查表编制、品质审核、审核报告与过程改进,见图2。
3.1 组织建立
品质保证组织团队,需独立于研发部门、工程过程组、被审核的对象组织。组织中的成员应熟悉公司的业务流程、质量体系,具有产品开发经验,善于学习交流等。作为品质保证人员,承担着对项目与过程的监督职能,负责策划并开展相应的品质保证工作,独立且客观地评估项目与组织执行过程、工作产品及服务,并提出过程改进建议。
3.2 计划制定
品质保证人员负责品质保证计划的编制,确保工作按既定的内容和计划有序推进,项目立项后,项目QA人员依据项目总体计划、项目过程裁剪表、项目进度计划,编制项目品质保证计划。该计划主要涵盖总体目标、审核类型、审核频率、审核依据、审核方法等。总体目标定义项目的符合度指标。审核类型分为过程审核和产品审核,确保项目按照过程要求执行相关活动和项目的工作产品符合要求。审计频率结合项目的类型定义项目的审核频次和审核的详细程度。审核依据需明确审核所参照的标准,如体系文件、项目过程裁剪表、检查表等。审核方法通常规定了审核所应用的方式、方法,如检查资产库、访谈、参与项目活动等。
3.3 检查表编制
检查表是品质保证工作中的重要文件,也是开展审核的关键依据,其编制品质的优劣和使用是否合理,直接影响品质审核结果的有效性。通常依据体系文件、标准规范及其相关准则编制检查表,主要围绕过程、职责、要求、结果4方面进行编写,重点关注对产品品质有重要影响的过程和相互作用的接口等。对于每次审核活动,检查表基本上是适用的,但也要结合项目审核需求,适当修改,突出审核的重点,确保审核目的明确、检查方法实用等。编制原则见表2。
编制检查表不能脱离审核准则,同时需结合工作实际情况,将审核准则的相关规定转化为检查表中的审核内容,因此检查表的使用也有一定的灵活性。审核前,无需向受审核方展示,现场审核时按所编制的检查表实施审核,不要轻易偏离检查表,以保证审核工作按计划有序进行,但同时要注意灵活应用,不要过多地受检查表的束缚,必要时要调整检查表。
3.4 品质审核
审核人员依据检查表及相应的依据,开展项目品质审核工作。审核过程中,发现的问题记录至不符合项问题跟踪表中,用于问题的跟踪、整改确认。审核前,在规定的审核时限内选取代表性的项目与适当的审核策略。审核策略类型主要有宽而广、关键路径、共性问题3种,相关审核策略类型见表3。
依据计划中定义的审核方法进行审核,开展过程审核和产品审核。在过程审核中,对项目所开展过程活动进行符合性的检查与评价,确保过程符合规定要求;产品审核对项目输出的产品进行检查,确定输出物符合规范的要求且内容完整正确。审核时对相关的输出物文件、记录和证明材料进行审查,实地现场观察、审h8buYSH7JQ4/HaViDqpSuV1O+j8adybJhb1JgXFkcdk=核,与相关人员进行沟通与访谈等,主要关注规范和标准符合情况、工作执行的流程和方法、体系运行的有效性、相关控制措施的执行情况等。
3.5 审核报告
审核完成后编写审核报告,对被审核的项目、产品或服务的品质情况进行全面评估和总结,通过对项目工作过程和产品的检查,旨在发现并纠正任何品质问题,以确保最终交付的成果符合预期标准和客户要求。因此,在各阶段审核工作完成后,需对审核工作情况进行总结分析后编制审核报告,反馈给干系人。审核报告以精简、明确、可视化的方式向相关干系人准确地呈现所审核项目的品质情况及表达所关注的信息。报告内容主要涵盖审核概况、审核工作、不一致问题及对策、上一期问题解决情况、不一致问题趋势、经验总结等内容。
总之,在撰写审核报告时,需要综合考虑多个方面的因素,可以根据具体情况进行适当的调整和补充。要留意审核报告结构和内容的要求,同时还应注重语言的表达和数据的支持,以严谨、科学的态度进行撰写,确保信息的准确性和客观性,避免过于主观的表述。
3.6 过程改进
经过品质审核识别项目的问题和风险,找出体系运行中存在的问题点和风险项,如不符合项、体系的薄弱环节、潜在的风险等。针对这些问题点和风险项进行深入分析后,提出相应的纠正措施和预防措施,然后进行过程改进工作。参照TMMi过程改进域要求,进行差距分析及设定目标,明确改进的方向,从测试流程、测试技术和测试人员能力提升方面制定测试改进实施计划进行测试过程改进;其次根据测试管理需求以及存在的问题,设计测试管理流程架构,迭代构建符合组织实际需要的业务流程。对已定义、已测量的内容予以固定,对未测量的内容展开测试,从而不断优化软件程序[3]。
综上所述,品质保证是一种有计划的、贯穿于整个产品生命周期的方法,用于评价项目开发过程是否按照计划和规范实施,开发结果是否包括完整的软件和文档,同时符合可预期的目标和检验标准。品质保证工作的开展,需保证合规性、有效性、及时性、缺陷修复最小代价等。
4 项目应用及效果
将品质保证过程活动应用到实际项目中,在项目的实施过程中,记录该项目2次审核所发现的不符合项数量,并评价每次审核后各个过程满足TMMi要求的程度。审核结果与差距打分见表4。
在该项目的测试生命周期中进行了2次品质保证审核,并结合审核问题实施了过程改进与优化。首次审核发现不符合项的数量为16个,针对发现的不符合项进行原因分析并提出对策加以解决,进而开展过程改进优化。第2次审核时,发现不符合项数量为6个,不符合项数量递减63%,体系过程差距与TMMi体系要求进一步缩小,迭代形成了一套更适合本测试团队业务、符合行业标准要求的测试管理流程。实践表明,品质保证过程的应用有力地推动了组织的测试过程改进,使项目测试过程更加规范、可控,测试方法保持一致,测试用例覆盖率和执行效率均相应提高,确保了测试品质的稳定。同时,实现了项目进展监控、缺陷严重度、缺陷状态分布的可视化,细化了测试过程流程,促进了过程文件、指导文件、模版文件的完善,组织资产复用率进一步提升,管理成本有效降低。
5 结束语
随着汽车智能化发展,汽车功能增多,电子控制单元的数量也日益增加[4],测试验证变得愈发重要。TMMi品质保证过程域的建立与应用,可以帮助测试组织改进或建立更加高效的测试过程,不断将测试的重点由缺陷检测逐步转移到缺陷预防上。在项目中,品质保证贯穿整个测试生命周期,是测试需求得以满足,测试结果有效的重要保证。同时,以客户需求为导向,以量化数据为决策基础,持续改进优化,全员参与,从而产生更好的测试流程、业务流程等,带来更高的品质保证水平和用户满意度。
参考文献:
[1] Elfried Dustin. 有效软件测试[M]. 北京:清华大学出版社,2004.
[2] 王映红. TMMi如何促进软件测试过程的改进[J]. 金融科技时代,2017(9):76-77.
[3] 赵慧娟. 基于TMM模型的软件测试成熟度研究[J]. 信息与电脑,2021(23):119-121.
[4] 李志涛,耿伟峰. CAN总线时间同步协议测试的研究与分析[J]. 汽车电器,2023(1):89-91.
(编辑 凌 波)