什么是接口测试
接口测试也是一种功能测试
我理解的接口测试,其实也是一种功能测试,只是平时大家说的功能测试更多代指 UI 层面的功能测试,而接口测试更偏向于服务端层面的功能测试。
接口测试的目的
测试左移,尽早介入测试,尽早发现系统更深层的问题,降低问题修复成本。
接口测试测什么
接口测试是为了验证服务端接口内部逻辑的正确性,而这个正确性也分两方面:
接口能否正确处理正常数据,并返回正确的响应,响应可能包括数据结构、数据内容等;
接口能否正确处理异常数据,并返回特定响应,主要是验证接口的健壮性。
总结一下
接口正确接受合法请求数据
接口正确拒绝非法请求数据
这都属于正向测试。
接口测试的场景
我认为接口测试主要分两种测试场景:
单接口健壮性测试
多接口场景测试
单接口测试
针对单个接口做健壮性测试,会覆盖正常场景以及异常场景,保证接口的正确性和健壮性;
单接口测试不关注用户层面的业务逻辑,只关注接口的内部逻辑,所以它更接近于单元测试。
总结:保证接口能正确处理各种正常、异常场景。
多接口场景测试
为了验证用户主流程、主功能的业务逻辑的正确性,不需要太多异常场景的验证;
多接口场景测试会更加关注用户层面的业务逻辑,所以它更接近于 UI 层面的功能测试;
比如需要验证一个电商付费流程,可能就包含以下接口:获取商品列表-获取商品细则-加入购物车-提交订单-订单付费,只需要关注正常场景即可。
总结:保证多个接口在正常数据流下能跑通。
单接口测试设计测试用例
什么是接口自动化测试
首先,要知道的是,只说接口测试,也是一种手工功能测试,只是测接口而已,所以接口自动化测试其实就是将接口测试从手工变成自动化。
常见的接口自动化测试方式
这一知识库主要讲解的是工具实现接口自动化测试。
什么是工程化
这其实也是最近才接触的东西,感觉有点高端啊!
谷歌搜了下什么是工程化,结果出来的都是前端工程化,只能看完,然后按照自己的理解来描述一下了,只代表自己的看法:工程化其实是一种思想。
为什么要工程化
提高效率,包括但不限于开发效率、测试效率、维护效率、管理效率;
从流程混乱、耦合严重、依赖人工到规范化、模块化、自动化。
规范化
提高整个项目的可维护性:
版本管理规范:使用 git 来管理代码仓库;
开发流程规范:团队统一研测流程,比如:code review 流程、提测流程、复盘流程等;
编写代码规范:团队统一编写规范,比如:项目结构、项目代码、自动化测试脚本等。
模块化
提高整个项目的可读性;
将一些相关逻辑的内容放在同一个文件夹中。
自动化
能自动化完成的事情绝不让人来做,是工程化的核心:
自动初始化:比如一键安装本地环境,安装依赖项等;
自动执行测试:比如一键测试、一键生成测试报告等;
自动部署:比如使用 Jenkins,流水线的形式管理项目运行的声明周期。
感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取