现在有不少职位招聘接口测试工程师,接口测试已经差不多被提升到了和网页测试、手机测试同样的高度。
什么是接口
接口就是API, 来自于英语Application Programming Interface。常见接口可以分为两类:
- 内部使用的接口:代码级别的接口,定义一个接口,接口里包含多个方法,这些方法可以被其他代码(类/方法/接口)调用
- 外部使用的接口:系统各个模块之间的接口,比如微服务中的后台接口;或者是系统和外部系统之间的接口,比如常见的SDK
我们这里只要指外部使用的接口
什么是接口测试
百度百科对接口测试的定义:接口测试一般会用于多系统间交互开发,或者拥有多个子系统的应用系统开发的测试。接口测试适用于为其他系统提供服务的底层框架系统和中心服务系统,主要测试这些系统对外部提供的接口,验证其正确性和稳定性。接口测试同样适用于一个上层系统中的服务层接口,越往上层,其测试的难度越大。
常见的接口测试场景是后台提供接口给前端网页或者APP, 需要对后台提供的接口进行测试。在接口层面进行一次测试,在完成系统集成之后在前端网页再进行一次测试,做到双保险。当然了,如果人力有限,也可以不做接口测试,只是在前端网页或者手机界面做一次完整的测试。
接口测试工具
- Postman: 只能用来测试RESTful API, 免费
- JMeter:可以测试SOAP API, 也可以测试RESTful API,免费
- SoupUI: 可以测试SOAP API, 也可以测试RESTful API,免费
常见接口分类
现在流行的是微服务框架,所以我们讲接口测试的时候,更多是指测试web service:
- SOAP API: 传输方式是http+xml, 现在用的较少
- RESTful API:传输方式是http+json, 现在市面上是主流
这里讲的接口测试主要基于RESTful API
RESTful API示例
参考免费的可以练习接口测试的RESTful API,其中的一个POST请求示例如下:
image.png测试方法和策略:
- 先整体后局部:先尝试调通接口,再验证接口的每个参数
- 先单个后场景:先对接口进行单独测试,再对多个接口在场景中进行测试。比如买一件商品,从选商品,放到购物车,支付,查看订单会有很多接口,单独对这些接口测试完成之后,再把接口放进不同的支付场景(正常场景、异常场景等等)进行测试
- 因为接口相对稳定,优先考虑自动化测试
测试点: image.png
接口自动化测试
因为接口相对稳定,所以接口测试如果有能力,优先考虑自动化测试。接口的自动化测试可以单独在接口层面进行,也可以根据分层自动化的测试策略把接口自动化往下压放到单元测试里进行,这样就不需要测试人员参与就能完成接口的测试啦,但测试人员要一起评审接口测试的用例,开发人员把这些用例加到单元测试代码里即可。
如果测试人员自己完成接口自动化测试,建议不要依赖于外部框架,自己实现一个简单的小框架即可:
- python: 可以使用requests库+unittest库来实现
- java: 可以使用httpclient库+ testng来实现
网友评论