十二、无招胜有招

1、回顾之要义整理

第一式:差异化

目的:破全面回归。保证质量的前提下,少测提效。

要旨:需求差异要明了,技术实现差异更要明了

第二式:技术治理

目的:破耦合。耦合影响内容不能漏测,也不能多测。能够快速准确的分析出耦合影响,人工精准就基本达成了。

要旨:快速准确的分析耦合影响。

第三式:度量及分析闭环

目的:破差异化后的度量。代码覆盖率不仅仅可作为质量的一个度量维度,更可以作为测试分析精准与否的一个度量手段。

要旨:代码覆盖率分析结果,是精准测试质量的重要依据。

第四式:知识库

目的:破函数和用例映射。精准测分核心是分析变更函数及影响到的用例(含新增),如有一库在手,任何变更来了,都可以分析的又快又准。

要旨:函数和用例关系库建设。

第五式:用例预分析

目的:破人工分析变更影响用例。变更函数有了,知识库也有了,自动分析影响用例还远吗?

要旨:函数变更自动分析出影响用例。

第六式:知识库优化

目的:破函数用例关联冗余。同一个函数内覆盖相同分支路径的用例去重。

要旨:函数和用例关联,细化到函数内分支级别。

第七式:用例预分析消振

目的:破推荐影响用例冗余。变更分析也细化到分支级别。

要旨:差异化分析细化到函数分支级别。

第八式:精准测试执行手段

目的:破系统应用。精准测分系统完成之后,人工和自动化的配合。

要旨:人工和自动的取舍。

第九式:质量评估

目的:破精准之后的质量评估。从“你来决策发不发“角度,来全面阐述质量评估维度。

要旨:决策侧重

2、无招胜有招

  完美的情况是,每一个需求来,都用精准测分的流程走一遍,质量和效率都没的说。但实际情况是纷繁复杂的,不同的需求、不同的时间要求、不同的测试参与阶段,都极有可能发生。如果非要在每一种情况面前都走全套的精准测分,很可能客观条件不允许。那如何灵活应对呢?最高境界:无招胜有招!

一:单个需求测分的破解思路:前提质量标准不降低,整体思路以下4步

1、什么类型的需求?      --      为了得到需要精准测分的力度要多大。

从质量保障分层部署的角度:

从其他维度:

  新需求:

    可能技术方案难易程度

    需求变更风险大小

  增量需求:

    技术变更影响大小

    可供快速测分参考的工具或资料是否完善

2、项目对测试时长的期望?

测试敏捷的突破重点,就是测试角色在整个项目周期中独占的一段时间(测试独占时长)

具体到标记性的动作上:

  测试独占时长的开始标志;最后一个需求提测时间

  测试独占时长的结束标志:测试报告发出时间

*   测试独占时长 = 单人黑盒测试时长 / 黑盒测试总人数 = (CaseNum * 回归次数 * 每个用例执行时长 + BugNum * Bug回归验证时长)/ PersonNu

降低独占时长,可多渠道入手:

 * 降低CaseNum (黑盒测试用例数),可通过精准测分缩减测试内容,从而降低测试用例数;可通过分批今早测试,在开发阶段测试掉一部分用例

 * 降低回归次数,可通过精准测分降低回归次数,如通过分析是否环境无关来降低,也可通过设计稳定可靠的自动化来降低

 * 降低BugNum(未解决的bug),可通过白盒测试手段达到在开发阶段发现问题,从而减少测试独占时长内的bug数;更可通过测试早起参与,给团队各角色的质量风险把关,从而降低后期bug数

 * 降低bug回归验证时长

3、谁来负责这个需求的测分?

--  深入分析什么人合适,主要考察的是人的精准测分成熟程度,可从以下3个维度剖析

  1)人的精准测分成熟程度

  模块级 --》文件级 --》代码级 --》函数级 --》架构级    

  模块级意指:人在进行技术实现分析的时候,只能分析到模块级别,还不能分析出这个实现由哪些文件、哪些代码、哪些函数,函数的逻辑又是怎样的。后面级别以此类推。

  特提架构级,为什么架构级在函数级之后呢?因为现实测分通过分析代码实现来发现架构级别的问题,难度是较大的。当然架构级别的问题,应该在技术方案评审阶段就分析发现出来,也是对测分人代码能力的较高考察点。

  2)人的业务熟悉程度

  面对熟悉业务,接手同类业务时,上手速度更快。

  面对全新的业务,要考察这个人对业务的快速分析建模能力。这个能力考察的核心可以白哦先在黑盒测试设计的速度和质量上。

  3)人的整体质量效率把控程度

  人的整体质量把控能力,在精准测分团队中,体现以下维度:

    1)质量指标的落地程度(版本质量外发指标、发布前过程质量监控指标、发布后质量监控指标)

    2)需求技术评审能力

    3)代码线控制能力、风险评估能力

    4)版本变更控制能力、风险把控能力

    5)测试策略能力,主要体现在不同阶段部署不同的测试手段能力,比如在开发阶段进行框架代码测分、静态代码检查、持续集成和自动化分层验证部署、测试用例全面有效。

    6)发布策略等闲把控能力

    7)外发后质量监控

  人的整体质量把控能力,在流程控制上,体现以下维度:

    1)迭代节奏把控能力,单周、双周,或者单需求的节奏把控

    2)文件升级流程把控

    3)大版本全流程节奏把控,体现下面完整流程的质量和效率节奏影响力:onepage需求评审 --》需求评审 --》技术评审 --》开发实现阶段 --》提测阶段 --》测试阶段 --》外发阶段

4、如何把控质量和进度风险?

   风险把控的主要途径是实时的质量看板(产品质量指标值、过程质量监控值、发布后质量监控值),从这个看板里,审核人可以一目了然看到某个项目的产品质量现状、项目进度风险。

二:团队测分能力提升建设的破解思路

从正式员工经理投入角度破局:

(1)现状

  正式员工100%精力进行业务测试。固定人员负责固定的业务测试,双人交叉备份。

(2)人工精准测分阶段

  正式员工80%精力进行日常的业务测试,另外20%精力进行测试分析建设和提升上。

  正式员工20%的测试分析工作,可从以下阶段产出成果:

    1)拿到代码权限,可以开展代码测分

    2)分析出整个团队所有代码编译出来的所有模块全景图

    3)根据业务变更优先级,来排这些模块的优先级,对模块进行代码层次的梳理,得=--、该模块的整体架构、分功能的代码实现、核心逻辑实现等。

    4)增量需求的变更代码测分

(3)精准测分平台建设阶段

  正式员工60%精力跟进日常的业务测试工作,领30%进行测试分析,还有10%进行平台的建设工作。(平台建设思路和实现可参照四五六七式,也可根据自己项目的实际代码实现特点,实际测分痛点,来建设自己的平台)

(4)高效团队阶段

  正式员工40%精力跟进日常业务测试,并督促各角色承担起质量保证工作,另40%进行测试分析,20%进行平台和工具建设

从无到有建设测试团队思路:

  1)找到合适的人

  2)寻找业务痛点,重点突破

  3)精准测分流程走起来,平台建设起来

  4)建立行业影响力(及时感知行业需求变化,做出反应和改变)

3、后记

  1)一夜回到解放前:较高的质量风险和解决用户的燃眉之急相比,有些风险是可以接受的。

  2)探索,永无止境

    测试左移(bug左移和测试内容左移):测试从研发流程的后端,走入前端,要承担生产力建设的责任,不再单纯做对质量兜底的工作

    EP(工程生产力)团队:依赖测试团队技术能力的提升,依赖开发团队承担质量责任的文化建设