简述 Mock 接口测试

在开发过程中经常会有前后端开发进度不统一的时候,为了避免前后端开发进度相互影响,这时候就需要用到 Mock 来协助我们进行对接。

那么什么是 Mock 接口测试?它对我们的开发工作有什么帮助?今天我们就来浅谈一下 Mock 接口测试的优势以及使用场景。

什么是 Mock 接口测试?

Mock 接口测试 就是在测试过程中,对于某些不容易构造(如 HttpServletRequest 必须在 Servlet 容器中才能构造出来)或者不容易获取的比较复杂的对象(如 JDBC 中的 ResultSet 对象),用一个虚拟的对象(Mock 对象)来创建以便测试的测试方法。

Mock 接口测试的作用?

Mock 是为了解决不同的单元之间由于相互关联而难于开发、测试的问题。所以,Mock 既能出现在 单元测试 中,也出现在 集成测试系统测试 中。

Mock 可以帮助我们 把单元测试的耦合分解开,如果你的代码对另一个类或者接口有依赖,它能够 帮你模拟这些依赖,并帮你验证所调用的依赖的行为。

简述 Mock 接口测试_第1张图片

Mock 有哪些优势?

  • 实现团队并行工作

拥有 Mock,前端人员 只需要定义好接口文档即可并行工作,不受后端开发进度影响,实现团队并行工作,提高团队工作效率。

后端与后端之间如果有接口耦合,也同样能被Mock解决。

测试过程中如果遇到依赖接口没有准备好,同样可以借助Mock,可以 尽早完成自测,及时查缺补漏,有利于保证整个产品质量以及开发进度的完成。

  • 能开启 TDD 模式,实现测试驱动开发

当 TDD 遇到协同模块还没开发完成的时候,Mock 就能派上用场。当接口定义好后,测试人员就能通过创建一个 Mock,把接口添加到自动化测试环境中,提前创建测试。

简述 Mock 接口测试_第2张图片

  • 模拟无法访问的资源

当我们需要调用一个外面的资源,却无法获取时我们可以自己 Mock 一个来方便自己调试。

  • 隔离系统

当我们需要调用一个 Post 请求,而为了获取某个响应时,可以通过看当前系统是否能正确处理返回 “响应” 。当这个 Post 请求污染了数据库中的数据时,就可以 利用 Mock 来构造一个虚拟的 Post 请求来隔离数据库

  • 演示

当我们需要创建一个演示程序,并做了简单的 UI 时,在开发后端服务还没创建的情况下,使用 Mock 也可以进行演示。

  • 测试覆盖度

使用 Mock 能帮助我们模拟想要返回的结果,从而大大提高了测试覆盖度。

Mock 测试的应用场景

  • 模拟异常数据返回,如需要返回特殊字符、不同长度、类型格式内容等等。

简述 Mock 接口测试_第3张图片

  • 前后端开发并行工作调试,后端接口尚未完成,前端可调用 Mock 数据进行调试。

  • 需要隔离环境,保证数据安全和正确性,对于 POST、PUT、DELETE 等请求进行隔离,防止其修改数据出现其他错误。

  • 接口测试需要依赖第三方接口返回值来进行逻辑处理,如银行的支付接口等等。

Mock的不足

Mock 的 模拟行为与真实行为可能存在差异(返回结果是自己构造的),其结果就是虽然基于 Mock 的测试通过了,但是基于真实对象的测试可能会存在失败。


本文通过介绍 Mock 接口测试的性质、优势以及不足等多角度阐述了 Mock 接口测试在开发工作中的使用场景。

简述 Mock 接口测试_第4张图片


绵薄之力

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走

面试资料

我们学习软件测试必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作

​这些资料,对于想进阶【自动化测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助…….

你可能感兴趣的:(软件测试,技术分享,自动化测试,自动化测试,测试工程师,软件测试,接口测试)