其他分享
首页 > 其他分享> > 从0到1学习接口自动化测试必备知识!

从0到1学习接口自动化测试必备知识!

作者:互联网

导读:在所有的开发测试中,接口测试是必不可少的一项。有效且覆盖完整的接口测试,不仅能保障新功能的开发质量,还能让开发在修改功能逻辑的时候有回归的能力,同时也是能优雅地进行重构的前提。编写接口测试要遵守哪些原则?测试代码的结构应该是什么样的?接口测试有哪些实践技巧?本文分享作者在接口测试上的实践总结。

测试工程师是一个高技术含量的岗位,但现在不少人误以为测试工程师就是“点工”,拿到软件“点点点”,就可以完成测试了,没啥技术含量,而一些测试工程师错误的工作方法也滋长了这种误解。

1、什么是接口测试

接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。

2、为什么要做接口测试

  1. 互联网的快速发展,公司内部系统或与外部系统的关联越来越多,一个业务流程关联多个后端系统,它们的关联都是基于接口来实现,接口测试可以将复杂的系统关联进行简化,只要做好每个接口的测试就能够较好的保证系统质量。
  2. 单个系统的变更,是否会影响到关联业务系统,比较难用常规的测试方面来覆盖相关的应用系统(例如使用此接口的外部 系统有N个,不可能每个做功能兼容性测试),但可以通过对接口功能的覆盖来验证是否影响它人对接口的调用。
  3. 接口功能比较单一,能够比较好的进行测试覆盖,也相对容易实现自动化持续集成,,可以减少人工回归成本与时间,缩短测试周期。
  4. 接口相对于界面功能,会更底层一些,测试覆盖会更容易(如业务在调用接口时做了判断,当不满足条件时链接就不显示,此时从界面无法测试相关功能是否做好判断,通过接口就比较容易)

3、接口测试的范围

4、接口测试的重点

5. 测试原则

基础原则:

  1. 自动化:接口测试是非交互式的自动化执行,不需要人参与。
  2. 独立性:接口测试之间不应该相互依赖。
  3. 可重复:接口测试可重复执行,不受环境影响。
  4. 接口测试遵守BCDE原则,保障接口交付质量。
  1. 数据准备:数据准备通过系统服务进行,不能通过直接插入db方式。
  2. 可测性:对于不可测的代码需要进行重构成合理的结构。
  3. 覆盖性:接口测试需要覆盖所有UC,同时代码覆盖率和分支覆盖率应达到一定标准,新增代码必须被覆盖。
  4. 持续性:如果代码修改导致已有接口测试执行失败,必须修复代码问题或者测试代码逻辑。
  5. 时间要求:接口测试应该在项目发布之前完成,不应放到项目发布之后补充。

以上的基本原则应适用于所有层的自动化测试用例,在编写接口测试时,除了上面这些原则,还有其他原则需要遵守,先看一张图:

从系统角度来分析入口调用,以HSF服务为例:

有效接口测试的关键原则是要覆盖所有入口,mock所有依赖,校验执行过程中所留下的痕迹,总结如下:

HSF接口返回值校验:按照场景和接口约定进行HSF返回参数校验。

6、接口测试常用工具

1、JMeter

JMeter是Apache组织开发的基于Java的压力测试工具,能够将请求转换为脚本来实现,并允许使用正则表达式创建断言来对请求返回结果进行判断,具备接口测试功能和性能的能力。

2、Robot Framework

Robot Framework是一款Python编写的功能自动化测试框架。具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端或者接口,可以进行分布式测试执行。常用于轮次很多的验收测试和验收测试驱动开发(ATDD)。

3、SOAPUI

SoapUI是一个完整的自动化测试解决方案。支持SOAP和REST的Web服务,JMS企业消息层,数据库,丰富的互联网应用,等等。而在SoapUI,你从它的直观和强大的用户界面这一切。对于自动化程度较高,SoapUI还提供了命令行工具,让您运行的功能/负载测试和几乎所有的任务调度程序,或作为您的构建过程中的一个组成部分MockServices集。

4、PostMan

Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件,具备Fiddler、httpwatch之类的工具调试请求的功能,同时具备接口管理功能,官网提升脚本保存同步功能,支持接口导入导出。

如果你觉得文章对你有用,欢迎 点赞、转发、关注、留言

标签:HSF,必备,系统,校验,接口,测试,自动化,mock
来源: https://blog.csdn.net/sdoa0806/article/details/118539673