• 0
  • 0
分享
  • 测试理论与古代成语异曲同工之妙——软件测试圈
  • 曼倩诙谐 2021-05-17 09:42:10 字数 3553 阅读 1091 收藏 0

  开篇

  不知道大家有没有一个感觉,就是在做测试的过程中,某些方法、术语、理论总感觉并不陌生,并且有些理论我们好像早就知道了,只是没有系统化而已。

  那么,有这种感觉其实是正常的。因为很多知识其实古人早就总结出来了,并且通过典故形成了成语,然后现如今被现代人应用到各个领域。

  本文就结合我们熟知的成语来说一说测试过程过程中的一些知识点,我相信你一定会为感觉特别亲切。

  测试目的

  测试的目的之一,就是使自己确信产品是能够正常工作的。测试人员的基本素质之一就是具备怀疑一切的态度。

  那么,大家在日常生活中,对某个事物表示怀疑的时候,经常会说:耳听为虚,眼见为实。在汉·刘向《说苑·政理》中,也有类似的说法:“夫耳闻之,不如目见之;目见之,不如足践之。”,也就是说凡事讲究证据,道听途说不可信。

  还有一个词就是无征不信,出自《礼记·中庸》,意思是没有证据的话或事不可信,没有验证的事不可相信。

  在我之前的项目中,经常出现这样的情况:开发人员在发布版本转测试的时候,经常口头上说,他们做过了自测试,没有问题,满足提测条件。但是,往往一转过来,测试人员一测,就发现冒烟测试不通过,各种阻塞性问题,白白浪费了很多人力。

  究其根本,有的时候是开发人员测试方法不对,有的时候是开发人员自测不够充分,有的时候甚至是开发人员并没有真正的进行自测。所以,后来测试对开发提测质量进行了严格的要求:提测必须提供开发自测报告、静态代码扫描报告,缺一不可。没有这些证明材料,测试绝对不相信开发的一面之词,正所谓无征不信,耳听为虚眼见为实。

  测试方针和测试策略

  另外,在测试过程文档中,提到的测试方针和测试策略,在古语中也有类似的见地。

  测试方针

  测试方针:描述组织的测试目标和目的。方针一词,原指罗盘针,指引地理方向。 现常指指导工作或事业前进的方向和目标。

  说白了,测试方针就是测试活动的大方向。

  以我之前做软件维护测试的项目为例,由于维护测试项目的特点:改动小,主要是解决客户问题,所以,一般情况下测试方针都是:给客户解决的问题回归测试通过,修改点相关的模块无修改引入问题。这就是测试方针,至于如何实现这个方针,那就是通过制定测试策略来保证了。

  测试策略

  测试策略:描述组织中通用的、不按项目而变化的测试方法

  策略相关的成语:

  出谋划策,谋:谋略,画:筹划,即制定计谋策略,出处:明代冯梦龙《东周列国志》第六十九回。此处,策即指策略。

  一般在古代战争中,给将军出谋划策的叫做军师。军师制定的计谋和策略主要是指挥军队通过什么样的方法能够打胜仗。

  而在测试活动中,制定的测试策略也同样是指挥测试团队通过怎样的测试方法,实现测试目标(测试方针)的。制定测试策略的“军师”,在不同的组织中形式不太相同。有的组织是TSE(测试系统工程师)制定测试策略,有的组织是测试经理制定测试策略,有的组织是测试经理、测试分析师共同讨论完成测试策略的制定。

  继续以上一节中引用的项目为例,为了实现测试方针(给客户解决的问题回归测试通过,修改点相关的模块无修改引入问题),我们通过制定相应的测试策略来指挥测试人员开展测试活动:

  1、所有承诺解决的客户问题,使用手工测试的方式,进行充分的回归测试

  2、通过执行修改相关的模块的自动化用例来进行继承功能的回归测试

  3、其他的模块不需要测试

  还有一个成语叫有勇无谋:只有勇气,没有计谋。指做事或打仗只是猛打猛冲,缺乏计划,不讲策略,只会鲁莽的去做事,从不会投机取巧。出自唐·陆贽《论两河及淮西利害状》。这里边的谋,就对应着测试策略中的策略。

  这让我想到了一个活生生血淋淋的例子。一个测试团队成员,由于没有按照测试策略执行,导致了严重的后果。

  事情的经过是这样的。本来已经制定好的测试策略是,按照测试用例的优先级从高到低执行,目的是尽早发现重点功能的缺陷。但是,该测试人员自作主张,认为执行的先后顺序并没有太大影响,然后竟然先从容易执行的用例开始执行,执行难度大、场景较复杂的用例放在了最后执行,这其中就有优先级为高的测试用例。最后,悲剧出现了,有一条高优先级的用例测试出了缺陷。而这个时候,已经到了整个项目的中后期,代码的改动风险很大,但是又没有办法,存在问题的功能虽然不是十分核心的功能,但是也是客户提出来的需求,不得不改。所以,最后在修复这个缺陷的同时,增加了不少周边相关的用例进行加固测试,这才降低了修改的风险。

  该案例中的这位测试人员正是有勇无谋的代表。有好的策略没有严格的落地,和没有好的策略,在本质上没有区别,结果都是酿成恶果。

  测试工具的使用

  我们在测试过程中,为了提高测试效率会引入自动化工具进行测试执行和测试管理。

  那么在古代,人们早就总结出来了“善假于物”,出自《荀子·劝学》,君子生非异也,善假于物也。意为君子的资质与一般人没有什么区别,君子之所以高于一般人,是因为他能善于利用外物。善于利用已有的条件,是君子成功的一个重要途径。

  如果项目中多一些“君子”,多借助“物”,那么项目成功的概率就会大很多。试想一下,测试中如果少“物”或者无“物”,将是一个什么样的场景。

  如果没有缺陷管理系统,那么测试人员发现缺陷,通过文本工具记录和跟踪,可想而知,要浪费多少沟通成本,并且可继承性、可追溯性特别差;如果回归测试用例没有实现自动化,那么每个版本测试人员都通过手工测试的方式进行回归测试,如果用例数量达到了一定的规模,可想而知,花在回归测试工作上的人力成本将是怎样的;如果没有测试仪器仪表,想要模拟收发各种类型的报文几乎是不可能的。

  风险管理

  另外,测试管理和项目管理理论中都有提到风险管理。基于风险的测试基于风险的测试包含四个主要活动:风险识别、风险评估、风险缓解、风险管理。对于风险肯定是早预防早发现早处理为最优。

  预防风险

  关于预防风险,古人有云:未雨绸缪,防患于未然。意思是趁着天没下雨,先修缮房屋门窗。比喻事先做好准备工作,预防意外的事情发生。出自《诗经·豳风·鸱鸮》。

  人们现在做项目,预防风险的意识已经越来越强了。在开发生命周期中,测试经常左移,旨在提前发现需求和设计上的问题,起到良好的预防风险的作用。另外,再比如对于重要项目,提前充分做好人力储备,以备不时之需,未雨绸缪,也是预防风险的实例。

  减轻风险

  关于减轻风险,古人有云:亡羊补牢,为时未晚。羊逃跑了再去修补羊圈,还不算晚。比喻出了问题以后想办法补救,免得以后继续受损失。出自《战国策·楚策》。

  风险发生了,及时制定有效措施,减轻风险,是风险缓解常用的策略。

  比如,软件测试人员经常通过分析线上反馈的缺陷,以此作为依据形成新的测试用例,作为对现有用例库的补充,应用到后续的测试活动中。这正是“亡羊补牢”的一个过程,起到了很好的止血效果,防止再犯类似的错误。

  测试改进

  前面提到的通过线上问题,总结教训,进行测试用例优化,除了是亡羊补牢,同时也是在做测试过程改进。

  下面我们就说说测试过程改进。

  项目回顾(例如,经验教训),是过程改进活动的组成部分。测试结束过程一个重要的工作就是进行总结经验教训,通过总结来自测试项目和整个软件开发生命周期中的重要经验教训,来实现过程改进。

  成语前车之鉴,意思是吸取前面车子翻倒的教训。比喻先前的失败,可以作为以后的教训。

  做项目一多,“翻车”时有发生。但是,只要好好总结经验教训,吸取“翻车”的教训,引以为鉴,就一定不会再犯同样的错误了。反之,就很可能会重蹈覆辙。

  之前项目有个版本,由于低估了某一个需求的重要性及复杂性,将该需求交给一个新员工进行测试分析、测试设计和测试执行。由于新员工的经验不足,测试场景没有考虑全面。随着测试进程在一步一步向前推进,发现越来越多的缺陷都和该需求相关,并且这些缺陷的改动特别大,甚至涉及到代码重构。所以,最终决策该需求当前版本不上线,不得不遗留到下个版本继续优化。

  测试结束时,通过对这次“翻车”事件的分析,发现在测试团队与产品经理、开发人员的沟通方面比较欠缺。后续需要针对每个需求的重要性、复杂性进行详细评估,并且测试需要针对重要需求,与产品、开发进行测试方案的讨论。这样就可以很好的避免类似的情况再次发生。

  所以,只要我们牢记“前事不忘后事之师”,吸取以前的经验教训,作为今后行事的借鉴,将会把项目做得越来越出色。

  结语

  通过本文将测试过程与成语联系起来,你是否体会到测试理论更加有趣了呢?你是否也更加佩服古人的智慧了呢?你也可以扩展联想一下,其他测试术语与成语的联系呀,还是蛮有趣的。


作者:快乐至上   

来源:51Testing软件测试网原创

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   对很多没有如何经验或者面试次数不多的小伙伴来说感觉每次跳槽或者首次面试的时候都会感觉特别紧张,然后不知道自己该准备些什么,或者不知道面试的流程是什么样子,那么就给大家分享一下我个人面试的经验。  1、穿着问题  很多人认为我们it人员去面试就应该这样穿正装,但是其实那只存在于微信头像上,我们面试的时候其实穿平常的衣服就可以了,那什么是平常的衣服?男生就是格子衬衫或者T恤、牛仔裤、运动鞋、双肩背包,女生也是化个淡妆然后平时休闲的衣服就可以了,所以第一印象是比较重要的。  2、简历  一份好的简历是非常重要的(这里不是讲简历的制作所以不过多概述),面试的时候一般面试官都会拿着笔记本直接看电子档...
            0 0 848
            分享
          •   “上知天文、下知地理”成为现实,一款叫做“ChatGPT”的人工智能聊天机器人(10.010,0.00,0.00%)于近期横空出世,不仅迅速火爆美国科技和创投界,也在中国引起不小热度。  目前在美国硅谷工作的庞琳勇是斯坦福大学博士、连续创业者,日常工作涉及大量英语交流,他告诉第一财经记者,ChatGPT在书写邮件、校对文书方面表现出色,已经成为他的日常使用工具。“经ChatGPT润色的文章更加地道、优雅,美国人看不出是外国人写的。你要是找专人帮你校对,需要支付高额报酬,ChatGPT不仅能够做到,而且目前是免费的。”  当然,ChatGPT的能力远不止于此。除了聊天、翻译、写作等功能,脑洞...
            0 0 985
            分享
          • Web应用有时候需要测试,但开发人员没有做负载测试,或者更糟糕的是,他们花了时间来做负载测试,但是没有做好充分的准备。没有充足的预备工作,负载测试不可能发现它应该发现的所有问题。那么,Web开发如何进行负载测试呢?下面优就业IT培训机构的老师告诉大家。1.确定用户数量如果要加载测试,你会模拟多少虚拟用户呢?要回答这个问题,你要估计大概多少并发用户可能访问你的网站,这取决于一天中的时间。很多测试者只是猜测,相反,你需要跟你的设计师和营销人员谈谈并看看性能说明。你甚至可能要问他们设计的应用程序支持多少并发用户,然后设计这么多用户及比这更多用户的测试。2.研究你的分析不要假装知道客户如何用你的应用程...
            0 0 955
            分享
          • 原文地址(手机阅读体验更佳):https://mp.weixin.qq.com/s/cMqkkZhBF0DWEyxG745nWg送走最后一车货,最后三个工人,老王吃力的关上大铁门。左手从口袋摸出一盒烟,轻轻一颠,滑落一根,右手娴熟的夹住。掏出打火机,点燃,一丝青烟腾起,萦绕在指头。夕阳穿过玻璃,照射在伤痕累累的旧机器上,空旷而寂静。面对空无一人的厂房,老王想起父亲带他来厂房的那个清晨:阳光明媚,厂房异常热闹,忙忙碌碌的嘈杂声格外喜庆。转眼几十年过去了,厂子从织布到纺丝,从生产手套到加工衣服,终究还是走到了关闭的地步。他听说这是低端制造,利润少、污染大。老王不懂这些,但是他心里清楚东西不好卖了,...
            1 1 1334
            分享
          •   前言  写本篇的原因很简单,2023年还有3个月就结束了,要给自己及其他小伙伴做下总结;  以前呢,都是自己做总结,围绕的无非就是对团队的贡献,个人成长;  但是现在不一样,需要帮小伙伴做总结,也需要为测试团队做总结,突然觉得压力山大,而且也要给优秀同学提名奖项;  因此,就有了本篇的内容,目的很简单,测试岗在评绩效时,到底有哪些维度?  业务测试  测试岗位的分工,粗略分为业务测试跟测试开发,两者因岗位的不同,而要求自然也会有区别,这里就先聊聊业务测试;  从结论而言,业务测试肯定是第一位的,是产品的基础,因此围绕业务会有很多衍生品,比如性能、兼容性、稳定性、安全等等,尽管如此,业务测试...
            0 0 1262
            分享
      • 51testing软件测试圈微信