• 1
  • 2
分享
  • 【原创】一块抹布引发的关于测试策略的思考
  • sylan215 2019-04-01 17:03:23 字数 1525 阅读 1816 收藏 2

其实,这篇文章最开始的标题是《如何用一个抹布一次清理完一个落满灰尘的工位》,读来读去觉得有点绕,写到最后也发现,哇,这个抹布好惨呀,就把标题改为《一块抹布引发的惨案》,又感觉有标题党的嫌疑,最终就确定了目前这个标题。


言归正传,不知道读到这的同学里面有没有杠精,做测试的话,我相信肯定有,不管怎样,我先解释一下,本次主要是讨论测试策略的话题,比如如何尽早发现严重程度比较高的 Bug,有人会说,这和抹布有什么关系?别着急,继续看。

我一直觉得,测试不只是单纯的技术输出型工种,有时候发挥好软技能,会起到事半功倍的效果。


就本次「如何用一个抹布一次清理完一个落满灰尘的工位」这个问题,我们可以想象下,落满灰尘的工位,肯定比较脏,除了桌面,还有电脑显示器、主机、柜子等需要清理。


如果一块抹布,我们拿来就上手,会发现桌子还没擦完,抹布就得洗洗啦,那么要想一次清理完,我们需要这个抹布可以多擦几次,那我们要如何才能让一个抹布可以尽量多擦几次呢?


经常做家务的(男)同学,这时候就比较有经验了,我可以正面擦一次,反面再擦一次呀!

对,所以前提是,不能拿来抹布随手就开始擦,而是先要平展开,规则的使用单面,这样至少可以用两次啦,但是两次也不一定够呀,怎么办?如何让只有两面的抹布出来多个有规则的面?

可能已经有人想到了,把抹布对折一下呗。


你看,折一次之后就是四个面,折两次就是八个面啦,一个抹布擦八次和擦一次,这反差效果还是挺大的吧。


咳咳,又有杠精来了:「理论上可以八次,实际上已经很脏了,越到后面效果越差呀。」


嗯,这是当然,所以除了折叠,我们还需要规划好擦拭的优先顺序,比如显示器这种不好擦又贵重的物品,可以优先擦,桌面就留到最后啦,这样虽然后面效果会差,但也是可以接受的啦。


好了,一个抹布我们说了这么多,感觉到惨了没?其实我主要想表达的还是,合理调整测试策略,可以让测试执行事半功倍。

看,抹布终于和测试扯上关系了哈,不过我们还是举个测试的例子再详细说明下吧。


比如有个项目,写了 100 条用例,现在大家要帮忙做第一轮覆盖的测试执行,常规来说只需要把用例从上到下、从前到后执行就行啦,但是呢,有可能出现跑到第 80 条用例时,突然发现一个 P1 的 Bug,然后一通捣鼓和定位,发现是技术架构的问题,如果修改,前面的所有付出全部白费,囧吧。


那基于前面抹布的惨案,我们可以想象一下,如果执行人员中有一个对测试策略有一定了解的人,那么他拿来用例的第一反应并不是立刻执行,而是先看看需求涉及的关键修改点,然后看看用例和需求的对应关系,并按照需求关键点的顺序把所有 P1 + P0 的用例重新做个排序,并按照这个顺序优先执行 P1 + P0 的重点用例,这样,或许就能第一时间发现这个潜在的 P1 级别 Bug 了。


当然这样的话,对执行人员的要求就比较高了,那我们再想象一下,如果主导该项目的项目负责人,在分配任务的时候,告知了哪部分功能的重要程度比较高,并且把所有用例按优先级顺序标注好,具体执行时也明确要求先执行优先级高的用例,只要执行人员能听明白,也同样可以尽早发现这个 P1 的 Bug。


那有同学说了,P1 级的用例,我们肯定都是优先执行的,这个例子不恰当呀,好吧,那 P2 的也可以这么来呀,当然,P2 的用例一般都比较多,那么策略还可以继续优化下,比如两个人执行的话,一个从上往下执行,一个从下往上执行,如果多个人的话,每个人可以划分出自己优先执行的范围,自己负责部分执行完了再去覆盖其他的部分。


总的原则就是,重要性高的用例优先覆盖,尽可能早的完成第一次的完整覆盖。

好了,这就是我早上清理工位时突然想到的,哈哈,脑洞是不是有点大?你觉得有道理不?欢迎留言讨论。

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   线上流量  什么是录制线上流量回放  为什么需要录制线上流量回放  项目大迭代更新,容易漏测,或者有很多没用评估到的地方。  如果用线上流量做一次回归测试,可以进一步减少 bug 的风险。  大大节省构造测试数据,或者构造测试数据脚本的时间,提高效率。  线上流量回放的限制是什么  · 只回放 GET 请求  因为其他请求的回放,会对用户数据进行操作,有风险,需要排除。  除非构建多套备份数据库,但成本太高,不是很有必要。  · 需要对比回放前后的流量  不然回放就没有意义了,你都不知道回放前后对比的差异是什么。  · 需要去噪音  对比完了,对于一些类似时间戳的值,其实就是噪音,这些不一...
            11 11 701
            分享
          • Vim是Linux系统上最常用的文本编辑器,本文将介绍一些vim常用的命令。插入命令a 在光标后插入A 在光标所在行的行尾后插入i 在光标前插入I 在光标所在行的行首前插入o 在光标下插入新行O 在光标上插入新行gi 进入到上一次插入模式的位置<ESC> 退出插入模式定位命令:set number 设置显示行号:set nonumber 取消行号gg 到第一行G 到最后一行nG 跳到第n行:n 跳到第n行$ 移至行尾0 移至行首删除命令x 删除光标所在处的字符nx 删除光标所在处后n个字符dd 删除光标所在行ndd 删除光标在内的n行dG 删除光标所在行到文件末尾的内容D 删除光标...
            0 0 926
            分享
          •   在JMeter脚本设计中,搭配使用各类测试元设计接近实际场景的步骤是整个脚本设计环节的关键。各元件组合搭配,在完整的测试交互周期中,发挥了数据抽取转换、分支逻辑控制、响应解析判断等多种功能,将标准交互请求进行包裹、扩充、衔接、串联形成触达不同数据、激活不同逻辑的树形执行结构。  因此了解JMeter各测试元件在执行线程生命周期内的执行顺序,对复杂场景脚本设计有重要帮助。  取样器(Sampler)。作为支持JMeter实现协议交互的核心元件,也是线程执行的主体部分,在实现请求交互的前后阶段为其他元件发挥增强功能提供基础。环绕在取样器元件之外,有“切入式”的增强元件,也有具备全局性质的功能元...
            12 12 1563
            分享
          • 从测试leader的角度如何保障质量交付?聊的第一个话题就是测试leader如何保障团队的质量交付,这个话题最近在很多地方,听很多人聊过。我会尝试从以下几点来做阐述说明,观点仅代表个人看法。流程管理问:流程是什么?为什么要有流程?流程能解决什么问题?流程能带来什么保障?流程是什么?流程是保障团队目标达成的最佳实践,因人/团队/业务类型/迭代速度/资源紧张程度而异。为什么要有流程?没有流程会导致团队中的个体各自为战,目标不统一,进度不协调,资源配给失衡而导致交付质量下降。流程能解决什么问题?流程能保障团队或者群体在大方向上保持协调一致,尽可能降低由于团队人员能力、认知水平、资源不足、意外情况导致...
            0 0 783
            分享
          • 今天给大家介绍下软件测试行业的职业发展路径,很多同学不清楚这个行业的职业发展,工作职责,特别是刚入行的从业者。接下来我带大家一起了解下我们的软件测试行业。从测试从业者的发展路径来看,测试行业分为:技术方向  & 管理方向 。(本篇先介绍技术方向)技术方向大致分为三个:测试工程师、自动化测试工程师、测试开发。每个职位又分为:初、中、高、资深。下面先给大家介绍每个技术方向对人员的要求和需要掌握的大致技能。测试工程师,这个职位是我们一般招聘网站看着最普遍的职位,但现在这个职位又被划分的很细,测试工程师是统称,随着前几年移动互联网到来,大部分公司从PC端转向了移动,特别是大公司,对这...
            1 1 2532
            分享
      • 51testing软件测试圈微信