27 | 利用Mock与回放技术助力自动化回归
王潇俊
该思维导图由 AI 生成,仅供参考
你好,我是王潇俊。今天我和你分享的主题是:利用 Mock 与回放技术助力自动化回归。
在《代码静态检查实践》和《越来越重要的破坏性测试 》这次的分享中,我介绍了对持续交付有重大影响的两个测试类型,即静态代码检查和破坏性测试。
你可能已经发现,这两种测试正好适用于持续集成和测试管理的一头、一尾:
静态代码检查,适合在所有其他测试类型开始之前优先进行,把住第一关;
破坏性测试,则适用于集成或验收测试之后,甚至是对系统进行持续长久的测试。
那么,我们现在再一起来看看,持续交付过程中还有哪些测试方法,以及还有哪些问题和难点吧。
持续交付中的测试难点
其实,对于持续交付中的测试来说,自动化回归测试是不可或缺的,占了很大的测试比重。而进行自动化回归测试,就始终会有“三座大山”横在你面前。
“第一座大山”:测试数据的准备和清理。
通常情况下,回归测试的用例是可以复用的,所以比较固定,结果校验也比较确定。而如果要实现回归测试的自动化,就需要保证每次测试时的初始数据尽量一致,以确保测试脚本可复用。
如果每次的数据都不同,那么每次的测试结果也会受到影响。为了做到测试结果的可信赖,就有两种方法:
一种是,每次全新的测试都使用全新初始化数据;
另一种是,在测试完成后,清除变更数据,将数据还原。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
本文介绍了自动化回归测试中的三大难点:测试数据的准备和清理、分布式系统的依赖、以及测试用例的高度仿真。针对这些难点,作者提出了利用Mock与回放技术的解决方案。Mock技术通过模拟外部依赖,使得测试用例更独立、提升执行速度、以及提高测试用例准备的效率。文章还介绍了基于对象和类的Mock框架,以及基于微服务的Mock框架的应用场景和实践经验。作者还分享了携程的Mock Service实践,通过构建一套Mock Service来代理所有服务的请求和返回,解决了大规模服务依赖的Mock需求。通过介绍Mock与回放技术的应用,为读者提供了解决自动化回归测试难点的实用方案,为持续交付流程的效率提升提供了有力支持。文章还分享了“回放”技术,即通过虚拟交换机记录生产用户的实际请求,在测试时“回放”这些真实操作,以达到更逼真地模拟用户行为的目的,从而解决了自动化回归测试遇到的第三个问题。通过Mock和“回放”技术,能够提高自动化回归测试的效率和准确度,使整个持续交付过程更顺滑,自动化程度更高。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《持续交付 36 讲》,新⼈⾸单¥59
《持续交付 36 讲》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(9)
- 最新
- 精选
- debugtalk很多流量是具有时效性,或者不可重复性的,对于这类流量你们是怎么复制回放的呢?
作者回复: 流量请求本身不会具有问题,只是对数据产生影响,对数据加以处理,或者利用影子库来处理,就可以了
2018-11-015 - zhf_sy第二种方案是,在集群中扩容一台服务器,在该服务器上启动一个软交换,由该软交换负责复制和转发用户请求,而真正的用户请求,仍旧由该服务器进行处理。 请问这个技术上怎么实现?复杂吗?
作者回复: 一般类似ovs这样的软交换都有分流功能,技术上,熟悉网络及设备的话,也不是很复杂
2018-09-191 - 疯癫回放是对请求的记录和复制,主要是接口层面,那么app端的功能回归测试,有没有方法获得用户操作的真实场景呢?
作者回复: 触发某些行为才能记录,用户行为可以靠埋点,但批量模拟还是比较麻烦的
2018-12-24 - 孙瑜针对回过测试流程,公司项目中的接口和UI先不论,比较痛苦的是公司数据处理有大量存储过程,然后近半年用帆软reports开发了大量的报表 软件升级时人工回归测试工作量巨大。2020-03-211
- zhongjia19900829生产和测试的环境的数据 怎么保持一致?2019-01-291
- 王毅流量拷贝算不算回放的一种?2019-01-081
- lyonger老师,[通过虚拟交换机,复制和记录生产用户的实际请求],这个相当于用户所有请求的入口都要经过这个虚拟交换机,不会有单点或者性能瓶颈么?2021-03-12
- 楚耳回放这块,如果都是写的接口也进行回放吗,这样不会对生产环境数据产生影响吗2020-05-18
- 王凡”mock可以解决数据的准备和清理的工作”请问怎么做到的?我目前理解的mock只是对第依赖部分不产生真实数据,但mock的上下游服务如果有数据产生,则依旧会产生,还是需要额外去做数据准备和清理,不知道理解是否有偏差?2019-06-16
收起评论