小程聊微服务-增艺眼中的自己主动化測试
假设说“生活不仅仅有眼前的苟且,还有诗和远方”的话,那么自己主动化測试可以说是非常多測试人员心中的“诗和远方”。
“诗和远方”OR“禁果”
測试自己主动化,须要持续改进。但因为其本身是一种过于激动人心的想法:用程序去測试程序——解放了測试人员的生产力。节省大量的人力成本。这就有点“禁果”的意思了。
一个常见的行动模式是:在实施自己主动化測试时,设定一些量化指标,比如依据业务、接口、模块设置的覆盖率。
技术团队在完毕指标的过程中,以完毕指标为中心而忘记了为什么要进行自己主动化測试。其结果是各项指标都完毕了,可是没人能说清自己主动化測试的效果和价值,而技术人员也没有热情再继续下去。终于,自己主动化測试仅仅能“被完毕”了。
那怎样避免自己主动化測试的诱惑,或者减少诱惑的影响呢?
三观,你的三观要正
自己主动化測试,有开发的过程,有測试的过程,说究竟,依旧是測试的过程。所以自己主动化測试。依旧遵循測试活动的基本内涵:反馈信息——它是帮助技术团队获得关于软件产品质量信息的反馈手段,这是实施自己主动化測试的中心。
评判自己主动化測试是否有效的标准,就是自己主动化是否可以帮助技术团队获取质量信息,其关键就在于自己主动化測试的測试分析与设计。
没错。自己主动化測试的測试分析与设计
什么?自己主动化測试也须要进行測试分析与设计吗?不是就把手动运行的用例自己主动化就行了吗?
确实,自己主动化測试实施的一个常见的活动模式是:选择工具或者脚本语言、确定哪些手工运行的用例须要运行,录制或编写运行的脚本。配置測试数据。运行測试。
这个模式中就没有自己主动化的測试分析和设计。而对工具的研究学习一般是开展自己主动化測试的第一步。特别是对于以往做功能測试的同学而言,掌握工具比測试分析和设计是更显而易见的技能加分项。
但工具却不是自己主动化測试的是否能有效的关键。
測试分析与设计是測试活动是否能有效的关键,自己主动化測试也不例外。比如,在数据库表结构变更的场景中,我们须要分析怎样确认须要进行验证的数据特征?怎样构造这些測试数据?怎样验证数据结构变更前后,程序对数据新老数据的处理是符合需求的?这些都可以使用自己主动化的达到手工測试不同的效果。
但这好像和我们觉得的自己主动化測试不太一样呀。是的,自己主动化測试并不是是将手动运行的用例自己主动化,它有自己的測试领域,像生成大量的測试数据、多组合的測试数据、发起大量的请求、触发资源竞争、运行严格的结果检查、高速报告结果等等,它在帮助你完毕手工难以完毕的事,而不是帮你完毕手工可以完毕的事。你的每一次測试活动。假设有手工无法完毕的事。那么你就应该考虑自己主动化測试,并对自己主动化进行測试分析和设计。而假设没有手工无法完毕的事,我们则须要考虑是不是遗漏了什么。
那把手动运行的用例自己主动化作为回归測试不可行吗?
“啪啪啪”,有可能是打脸
看情况。
自己主动化是否用于回归測试?用例是否自己主动化?等等,选择一个合适的自己主动化測试策略,须要关注:測试需求、软件系统结构、人员能力。
对于须要从业务的角度进行的回归測试而言,更须要关注产品的迭代节奏或者生命周期。毕竟复杂的业务逻辑、改动已失效的測试的时间成本。通常都会给觉得自己主动化測试可以节省人力成本的人狠狠的一记耳光。
但这并不是说业务測试的回归就不能自己主动化。其关键在于划定业务范围。一个经验是使用“业务逻辑-失效风险”的分析。将业务逻辑依照功能失效后带来的风险进行分析后,圈定高风险业务逻辑进行自己主动化。严格保证高风险业务的可靠性。
还有一种方法则可以使用幂律分布,我们常说的2/8原则就是其一个体现:依据生产业务的使用情况,将经常使用业务逻辑进行自己主动化,保证其可靠性。
这里我们依旧坚持的理念是让自己主动化帮助我们完毕我们手工做不了的,而不是替代手工測试。
“没有两片同样的叶子”,也没有两次同样的手工測试
測试,给人的一个错觉就是反复性,包含有些公司在招測试人员的时候会有一条叫“可以胜任反复性工作”。但试问,谁会手工运行N次同样的測试呢?一个測试人员,他在运行什么測试不重要,他为什么要运行这个測试——背后的分析思考才重要。
自己主动化的測试,可以替代的是同样的运行。却无法替代人的分析与思考。而软件产品在研发迭代的过程。是团队不断地把新的分析思考注入当中的过程。測试工作面对的是始终在不断变化的測试需求。所以測试的分析思考,包含手工和自己主动化的測试也须要不断地迭代改善。
“仅仅有改善,没有成功与失败”
对于有专门自己主动化測试的小组而言,一般会以项目的形式开展自己主动化,制定任务的行动计划表或者里程碑等进行跟踪管理。而个人实施自己主动化,则相对自由宽松。
但不管小组还是个人,为了可以保持持续改善的动力。最重要的一点是让每一步工作是有效的,实施团队或个人可以从自己主动化測试的过程中及时得到正向反馈。对于小组的负责人而言。这是让团队保持动力的关键。一个经验是,任务拆解细化。參考OODA环。周期性进行回想调整。还有一个负责人必须关心的事是。须要周期告知自己主动化測试的利益相关方眼下的情况。比如技术团队、领导层、上下游合作方等。让大家看到一个持续改进的过程,树立对自己主动化測试的信心。
“生活不仅仅有眼前的苟且,还有远方的苟且”
聊到这。非常多人已经感到自己主动化測试并不是是“诗和远方”,更像是“远方的苟且”——没有美感、没有情怀。对,我们所面临的都是一个一个详细的问题,拆开看非常挫。非常细碎,须要有勇气去面对。
參禅打坐3分钟
不管发生什么都要认真对待,这就是工作的真谛。[1]
[1]摘自《零售的哲学》