敏捷世界中的TMMi
目前全社会都在加速数字化转型,任何互联网产品都要求高质量快速生产,互联网产品质量的把控已经不是测试团队单纯根据传统测试方法能够完成的。对于如何应对数字化转型过程中软件测试的挑战,敏捷测试是一个很好的解决方案。敏捷测试即是不断修正质量指标,正确建立测试策略,确认客户的有效需求能得以圆满实现并确保整个生产的过程安全的、及时的发布最终产品[1]。
TMMi 框架是由 TMMi 基金会开发,作为测试过程改进的指导和框架。基于TMMi的 历史观点,即“良好实践”在实现时应该是什么样子,有一种错误观点认为,TMMi 与敏捷方法是不一致的。其实,两者不仅可以共融共生,而且TMMi 和敏捷成功整合将会相互促进。TMMi 可以应用敏捷的精益原则,来增强敏捷实践,并促进 TMMi 实践,带来实质性的收益[2]。
腾讯WeTest 敏捷测试实践
腾讯 WeTest 十余年深耕测试领域,从早期内部较低端、纯手工测试,再到做专项测试、关注兼容性、安全漏洞风险等,至今服务百余行业近百万开发者。敏捷早已成为 WeTest 内部研发文化的内核,深入研发测试人员的日常工作流程。
在不久前刚结束的 TMMi 3级评估过程中,腾讯WeTest以全部认证域“完全实现”的最高评价通过了 TMMi 3级认证。评估过程中,WeTest 敏捷能力获得了 TMMi 主任评估师商超博老师的高度认可。目前各行业对软件系统的功能要求也越来越高,客户和用户对软件产品质量的要求也越来越高。基于最终评估结果,本文总结了 WeTest 的多个敏捷测试实践,从工作流程、基础设施、人员职责与培养等多角度阐述了敏捷测试如何落地,希望对大家有所帮助。
一、明确需求级别的测试策略
在测试过程中,经常会有测试需求撞车和积压的现象,组织需将有限的测试人力投放到高风险、重点的需求/项目中,合理优化开发测试效率,分配测试资源。测试策略即指组织范围或项目群范围内的测试目标、通用测试需求和测试方法。测试策略是敏捷环境中的关键文档,它在高层定义了敏捷团队所要完成的测试:执行什么样的测试类型、测试级别、测试方式等。
腾讯 WeTest 将测试需求分为了 A、B、C、D 四个级别,并根据需求等级,定义不同应对的测试策略。 A 级别是质量要求较高的重点需求/项目,对于这类需求,要求测试团队进行比较严测的测试,测试工作范围从评审到上线检查各个环节;随着需求级别从 A 到 D 的变化,测试工作的深度和广度也会逐步减少。
图1
二、多重的质量保障过程
虽然敏捷方式和传统方式的项目基本目标(消除风险并测试软件)是相同的,但测试方法及流程通常是具有差异性的。其中,持续集成是敏捷测试项目的关键实践,测试是团队中完全集成的活动且并行,而非独立的活动或者单独的阶段,需要整个团队为之共同努力。
•开发对质量的保障——代码评审+自测+工具
1、开发人员在提交代码前,合入代码库前要有组长(Leader)进行代码评审、标注问题、评审通过后方可提交。且开发人员会根据测试提前给的测试要点,或用户故事的要点进行单元自测,并将单元自测报告完成的“证据”截图,作为转测报告必须的部分,以证明完成了开发自测。
2、使用 CODECC 代码扫描、自研工具等。
•产品/需求人员的验收测试先与系统测试
在由开发环境转到预发布环境进行系统测试时,需求人员会优先于测试人员对开发提交的产品进行验收测试。验收测试的重点在于站在用户的视角,测试新增feature与核心功能是否已经满足要求。如果不满足要求,则要开发重新修订。满足要求后提交“转测”单,由测试人员进行测试。
•测试的入口门槛——打回
1、设立提测打回场景及具体规则,若提测被打回,表示当前迭代由于客观原因,被测试团队拒绝测试。
2、打回动作会以邮件形式通知技术人员、产品 Leader 及总监。
3、当迭代提测被打回后,会优先支持其他产品的验证,被打回产品重新提测后需要重新排期。
图2
三、 有针对性的测试度量
测试度量在测试过程中起着非常重要的作用,在规范了测试过程后,通过收集测试过程、结果等数据,并进行分析,在测试进度显著偏离计划或产品质量显著偏离预期时及时采取相应措施。帮组企业进行决策。敏捷宣言和原则都提到“欢迎改变”,通过不断审视项目的测试进度和结果,并适当调整响应计划和方法以保持其实时最新,才是敏捷方法所推荐的。
•对价值的度量、以价值驱动改进
由 QA 和 PM 来度量产品的价值,包括全部的研发成本(人力、软硬件、资源)与上线后的收入,做 ROI 的计算(每周),有效利用数据挖掘有效信息,对软件产品进行决策支持和风险评估,若某款产品的特性上线后对于整体的营收有大幅提升的贡献,也可被及时分析出来,进一步提高了软件测试的交付质量和价值。
•度量开发的工作质量——低质BUG率
腾讯 WeTest 每周统计低质 BUG,即比较明显、表象的 BUG,应该在开发阶段就已经被修复。数据明确指出研发及测试负责人,主要是度量开发工作质量。
•具有可追溯性的上线BUG统计分析及根因分析
1、以周为单位统计上线问题,并做根因分析,是否是测试漏测等原因。
2、问题追溯到需求、研发负责人、测试负责人。
3、产品人员也会在上线后的系统中发现和提出问题。
•对测试度量工作-日报+周报
1、测试覆盖率:比如,100条测试用例。
2、漏测率:2%-3%。
3、测试进度
4、测试风险
四、测试职业路径和培训能力
TMMi 强调专业技术和人才的管理培养,这个实践也完全适用于敏捷环境。测试职业发展路径的建立使测试人员能够提高他们的知识、技能、地位和回报,使员工更有激情且更具凝聚力。在敏捷环境中,质量和测试都是整个团队的责任,培训体系致力于提升人员的知识与技能,并获得其他必要领域的相关知识,使测试人员及项目相关角色能够得到更有效、高效的执行,帮助软件质量从根本上获得改善。
在专业人才培养方面,腾讯 WeTest 设立导师制度、个人 OKR、明确的职级晋升标准及培训体系。伴随着测试人员技术能力的提升,从根源上保障了软件测试的质量。
五、稳定的工具平台固化员工研发环节
软件测试工具及平台可以有效地改善测试过程,提高测试效率和测试质量,是业界普遍认可的一个常识。在敏捷项目中,合适的工具平台亦是不可或缺的,因为产品迭代周期短,工具平台需要非常稳定且保持可用,工具平台的问题会在一定程度上影响迭代的进度和结果。
为满足快速迭代的内部需求,实现测试快速交付,腾讯WeTest使用腾讯敏捷开发平台 TAPD。以用户故事为需求的基本版本,开发和测试都对齐用户故事,进行全生命周期的管理。
1、新建测试计划,填写测试类型、开始和结束时间:
图3
2、规划与执行,选择用例范围,执行用例测试,查看结果:
图4
3、缺陷列表:
图5
图6
六、其它优秀实践:
1、按月度举办产品规划后,并在规划后放入需求池中,以便后续开展工作。
2、需求准出标准:重要性、适配性;开发、测试等人员对需求进行评审,多方评审达成一致。
3、需求文件标准:需求背景、要解决的问题、需求方案、需求原型图、需求美术设计图。
4、上线后进行针对核心功能的冒烟测试。
参考资料:
1. 三种敏捷开发方式技术. TechTarget中国
[2] 敏捷世界中的TMMi_V1.4. TMMi基金会
关注腾讯WeTest,了解更多热门测试产品:
WeTest腾讯质量开放平台-您的质量管理专家