接口测试基础知识

1.什么是接口测试

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

2.接口测试目的:测试接口的正确性和稳定性;

原理:模拟客户端向服务器发送请求报文,服务器接收请求报文后对相应的报文做处理并向客户端返回应答,客户端接收应答的过程;
重点:检查数据的交换,传递和控制管理过程,还包括处理的次数;
核心:持续集成是接口测试的核心;
优点:为高复杂性的平台带来高效的缺陷监测和质量监督能力,平台越复杂,系统越庞大,接口测试的效果越明显(提高测试效率,提升用户体验,降低研发成本);
用例设计重点:通常情况下主要测试最外层的两类接口:数据进入系统接口(调用外部系统的参数为本系统使用)和数据流出系统接口(验证系统处理后的数据是否正常)

3.接口的分类:

接口一般分为两种:
1.系统对外的接口:比如你要从别的网站或服务器上获取资源或信息,别人肯定不会把数据库共享给你,他只能给你提供一个他们写好的方法来获取数据,你引用他提供的接口就能使用他写好的方法,从而达到数据共享的目的。
2.程序内部的接口:方法与方法之间,模块与模块之间的交互,程序内部抛出的接口

接口的类型:
1).webservice接口
webService接口是走soap协议通过http传输,请求报文和返回报文都是xml格式的,我们在测试的时候都用通过工具才能进行调用,测试。
2).http api接口
http api接口是走http协议,通过路径来区分调用的方法,请求报文都是key-value形式的,返回报文一般都是json串,有get和post等方法,这也是最常用的两种请求方式。

接口测试的分类:
web接口测试(BS架构)
服务器接口测试(测试自己公司实现的接口)内部接口
第三方接口测试(测试别的公司实现的接口)对外接口
模块接口测试(CS架构)内部接口

4.为什么要进行接口测试

1).越底层发现bug,它的修复成本是越低的。
2).前端随便变,接口测好了,后端不用变,前后端是两拨人开发的。
3).检查系统的安全性、稳定性,前端传参不可信,比如京东购物,前端价格不可能传入-1元,但是通过接口可以传入-1元。
4).如今的系统复杂度不断上升,传统的测试方法成本急剧增加且测试效率大幅下降,接口测试可以提供这种情况下的解决方案。
5).接口测试相对容易实现自动化持续集成,且相对UI自动化也比较稳定,可以减少人工回归测试人力成本与时间,缩短测试周期,支持后端快速发版需求。接口持续集成是为什么能低成本高收益的根源。
6).现在很多系统前后端架构是分离的,从安全层面来说:
a.只依赖前端进行限制已经完全不能满足系统的安全要求(绕过前面实在太容易), 需要后端同样进行控制,在这种情况下就需要从接口层面进行验证。
b.前后端传输、日志打印等信息是否加密传输也是需要验证的,特别是涉及到用户的隐私信息,如身份证,银行卡等。

5.接口测试的三要素

1.定位服务器资源(通过url实现,例如:http://ww.baidu.com)
2.模拟用户提交数据
3.查看响应的结果是否符合预期

6.接口测试工具

postman、jmeter等等

7.接口文档

接口文档一般由开发人员编写,有时需要测试人员编写。
接口文档的组成:
①错误代码说明:
例如:
图1
②请求错误返回参数说明
图2
③接口样例模板:
(a)登录接口
a.简要描述:
用户登录检查接口
b.请求url:
http://{url}/api/v1/user/login_check
c.请求方式:
POST
d.参数:

参数名必选类型说明
usernamestring用户名
passwordstring密码

e.请求示例:
postman请求这个接口的截图
f.返回参数说明:

参数名子数据类型说明
statusint状态码
messagestring返回信息
reasonstring状态原因
resultjson接口返回数据
tokenstring用户token
user_idstring用户id

j.备注:
注意事项等等

8.接口测试用例模板

用例编号、模块、接口名称、请求url、用例名称、前置条件、请求类型、请求参数类型、参数说明、请求参数、预期结果、测试结果、备注等等

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值