zoukankan      html  css  js  c++  java
  • 不测的秘密:精准测试之路----读书笔记(第十二章)

    十二、无招胜有招

    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(工程生产力)团队:依赖测试团队技术能力的提升,依赖开发团队承担质量责任的文化建设

     

  • 相关阅读:
    P4568 [JLOI2011]飞行路线 最短路+分层图
    虚树
    点分治
    P2157 [SDOI2009]学校食堂 状压DP
    P2767 树的数量 DP | 组合数学
    CF348D LGV引理
    LGV引理
    P3647 [APIO2014]连珠线 换根DP
    第3章 决策树
    USDT/BTC/ETC/HT的解释
  • 原文地址:https://www.cnblogs.com/testing2019/p/10289565.html
Copyright © 2011-2022 走看看