接口自动化测试工程化——了解接口测试

Posted 测试萌萌

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了接口自动化测试工程化——了解接口测试相关的知识,希望对你有一定的参考价值。

什么是接口测试

接口测试也是一种功能测试

我理解的接口测试,其实也是一种功能测试,只是平时大家说的功能测试更多代指 UI 层面的功能测试,而接口测试更偏向于服务端层面的功能测试。

接口测试的目的

测试左移,尽早介入测试,尽早发现系统更深层的问题,降低问题修复成本。

接口测试测什么

接口测试是为了验证服务端接口内部逻辑的正确性,而这个正确性也分两方面:

  • 接口能否正确处理正常数据,并返回正确的响应,响应可能包括数据结构、数据内容等;

  • 接口能否正确处理异常数据,并返回特定响应,主要是验证接口的健壮性。

总结一下

  • 接口正确接受合法请求数据

  • 接口正确拒绝非法请求数据

这都属于正向测试。

接口测试的场景

我认为接口测试主要分两种测试场景:

  • 单接口健壮性测试

  • 多接口场景测试

单接口测试

  • 针对单个接口做健壮性测试,会覆盖正常场景以及异常场景,保证接口的正确性和健壮性;

  • 单接口测试不关注用户层面的业务逻辑,只关注接口的内部逻辑,所以它更接近于单元测试。

总结:保证接口能正确处理各种正常、异常场景。

多接口场景测试

  • 为了验证用户主流程、主功能的业务逻辑的正确性,不需要太多异常场景的验证;

  • 多接口场景测试会更加关注用户层面的业务逻辑,所以它更接近于 UI 层面的功能测试;

  • 比如需要验证一个电商付费流程,可能就包含以下接口:获取商品列表-获取商品细则-加入购物车-提交订单-订单付费,只需要关注正常场景即可。

总结:保证多个接口在正常数据流下能跑通。

单接口测试设计测试用例

什么是接口自动化测试

首先,要知道的是,只说接口测试,也是一种手工功能测试,只是测接口而已,所以接口自动化测试其实就是将接口测试从手工变成自动化。

常见的接口自动化测试方式

这一知识库主要讲解的是工具实现接口自动化测试。

什么是工程化

这其实也是最近才接触的东西,感觉有点高端啊!

谷歌搜了下什么是工程化,结果出来的都是前端工程化,只能看完,然后按照自己的理解来描述一下了,只代表自己的看法:工程化其实是一种思想。

为什么要工程化

  • 提高效率,包括但不限于开发效率、测试效率、维护效率、管理效率;

  • 从流程混乱、耦合严重、依赖人工到规范化、模块化、自动化。

规范化

提高整个项目的可维护性:

  • 版本管理规范:使用 git 来管理代码仓库;

  • 开发流程规范:团队统一研测流程,比如:code review 流程、提测流程、复盘流程等;

  • 编写代码规范:团队统一编写规范,比如:项目结构、项目代码、自动化测试脚本等。

模块化

  • 提高整个项目的可读性;

  • 将一些相关逻辑的内容放在同一个文件夹中。

自动化

能自动化完成的事情绝不让人来做,是工程化的核心:

  • 自动初始化:比如一键安装本地环境,安装依赖项等;

  • 自动执行测试:比如一键测试、一键生成测试报告等;

  • 自动部署:比如使用 Jenkins,流水线的形式管理项目运行的声明周期。

最后: 下方这份完整的软件测试视频学习教程已经整理上传完成,朋友们如果需要可以自行免费领取【保证100%免费】

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

以上是关于接口自动化测试工程化——了解接口测试的主要内容,如果未能解决你的问题,请参考以下文章

APP接口自动化测试JAVA+TestNG之HTTP接口测试实例

APP接口自动化测试JAVA+TestNG之HTTP接口测试实例

Python接口自动化之unittest单元测试

接口测试框架接入性能测试实践分享

转单元测试接口测试功能测试的区别

实践分享接口测试框架接入性能测试