自动化测试:诗和远方

        如果说“生活不只有眼前的苟且,还有诗和远方”的话,那么自动化测试可以说是很多测试人员心中的“诗和远方”。

        “诗和远方”OR“禁果”

        测试自动化,需要持续改进。但由于其本身是一种过于激动人心的想法:用程序去测试程序——解放了测试人员的生产力,节省大量的人力成本,这就有点“禁果”的意思了。

        一个常见的行动模式是:在实施自动化测试时,设定一些量化指标,例如根据业务、接口、模块设置的覆盖率。技术团队在完成指标的过程中,以完成指标为中心而忘记了为什么要进行自动化测试。其结果是各项指标都完成了,但是没人能说清自动化测试的效果和价值,而技术人员也没有热情再继续下去。最终,自动化测试只能“被完成”了。

        那如何避免自动化测试的诱惑,或者降低诱惑的影响呢?

        三观,你的三观要正

        自动化测试,有开发的过程,有测试的过程,说到底,依然是测试的过程。所以自动化测试,依然遵循测试活动的基本内涵:反馈信息——它是帮助技术团队获得关于软件产品质量信息的反馈手段,这是实施自动化测试的中心。评判自动化测试是否有效的标准,就是自动化是否能够帮助技术团队获取质量信息,其关键就在于自动化测试的测试分析与设计。

        没错,自动化测试的测试分析与设计

        什么?自动化测试也需要进行测试分析与设计吗?不是就把手动执行的用例自动化就可以了吗?

        确实,自动化测试实施的一个常见的活动模式是:选择工具或者脚本语言、确定哪些手工执行的用例需要执行,录制或编写执行的脚本,配置测试数据,执行测试。这个模式中就没有自动化的测试分析和设计。而对工具的研究学习通常是开展自动化测试的第一步,特别是对于以往做功能测试的同学而言,掌握工具比测试分析和设计是更显而易见的技能加分项。但工具却不是自动化测试的能否有效的关键。

        测试分析与设计是测试活动能否有效的关键,自动化测试也不例外。例如,在数据库表结构变更的场景中,我们需要分析如何确认需要进行验证的数据特征?如何构造这些测试数据?如何验证数据结构变更前后,程序对数据新老数据的处理是符合需求的?这些都可以使用自动化的达到手工测试不同的效果。

        但这好像和我们认为的自动化测试不太一样呀。是的,自动化测试并非是将手动执行的用例自动化,它有自己的测试领域,像生成大量的测试数据、多组合的测试数据、发起大量的请求、触发资源竞争、执行严格的结果检查、快速报告结果等等,它在帮助你完成手工难以完成的事,而不是帮你完成手工可以完成的事。你的每一次测试活动,如果有手工无法完成的事,那么你就应该考虑自动化测试,并对自动化进行测试分析和设计。而如果没有手工无法完成的事,我们则需要考虑是不是遗漏了什么。

        那把手动执行的用例自动化作为回归测试不可行吗?

        “啪啪啪”,有可能是打脸

        看情况。自动化是否用于回归测试?用例是否自动化?等等,选择一个合适的自动化测试策略,需要关注:测试需求、软件系统结构、人员能力。对于需要从业务的角度进行的回归测试而言,更需要关注产品的迭代节奏或者生命周期。毕竟复杂的业务逻辑、修改已失效的测试的时间成本,通常都会给认为自动化测试能够节省人力成本的人狠狠的一记耳光。

        但这并非说业务测试的回归就不能自动化,其关键在于划定业务范围。一个经验是使用“业务逻辑-失效风险”的分析,将业务逻辑按照功能失效后带来的风险进行分析后,圈定高风险业务逻辑进行自动化,严格保证高风险业务的可靠性。另一种方法则可以使用幂律分布,我们常说的2/8原则就是其一个体现:根据生产业务的使用情况,将常用业务逻辑进行自动化,保证其可靠性。

        这里我们依然坚持的理念是让自动化帮助我们完成我们手工做不了的,而不是替代手工测试。

       “没有两片相同的叶子”,也没有两次相同的手工测试

        测试,给人的一个错觉就是重复性,包括有些公司在招测试人员的时候会有一条叫“能够胜任重复性工作”。但试问,谁会手工运行N次相同的测试呢?一个测试人员,他在执行什么测试不重要,他为什么要执行这个测试——背后的分析思考才重要。自动化的测试,能够替代的是相同的执行,却无法替代人的分析与思考。而软件产品在研发迭代的过程,是团队不断地把新的分析思考注入其中的过程。测试工作面对的是始终在不断变化的测试需求。所以测试的分析思考,包括手工和自动化的测试也需要不断地迭代改善。

        “只有改善,没有成功与失败”

        对于有专门自动化测试的小组而言,通常会以项目的形式开展自动化,制定任务的行动计划表或者里程碑等进行跟踪管理。而个人实施自动化,则相对自由宽松。但无论小组还是个人,为了能够保持持续改善的动力,最重要的一点是让每一步工作是有效的,实施团队或个人能够从自动化测试的过程中及时得到正向反馈。对于小组的负责人而言,这是让团队保持动力的关键。一个经验是,任务拆解细化,参考OODA环,周期性进行回顾调整。另一个负责人必须关心的事是,需要周期告知自动化测试的利益相关方目前的情况,例如技术团队、领导层、上下游合作方等。让大家看到一个持续改进的过程,树立对自动化测试的信心。

        “生活不只有眼前的苟且,还有远方的苟且”       

        聊到这,很多人已经感到自动化测试并非是“诗和远方”,更像是“远方的苟且”——没有美感、没有情怀。对,我们所面临的都是一个一个具体的问题,拆开看很挫,很细碎,需要有勇气去面对。    

        参禅打坐3分钟

        无论发生什么都要认真对待,这就是工作的真谛。[1]


[1]摘自《零售的哲学》

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,558评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,002评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,036评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,024评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,144评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,255评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,295评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,068评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,478评论 1 305
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,789评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,965评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,649评论 4 336
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,267评论 3 318
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,982评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,223评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,800评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,847评论 2 351

推荐阅读更多精彩内容