一、什么是接口测试?
什么是接口测试?
接口测试是测试系统组件间接口的一种测试,接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点,测试的重点要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。
接口测试场景:
手机app
客户端软件
web网站API:微信接口、新浪微博接口等等
公司内部系统API:订单接口需要调用用户资金接口查询余额。
软件架构模型:
服务器-客户端:
1:b/s:浏览器服务器模型,通过http协议、websocket协议等进行通讯。
2:c/s:客户端服务器模型。客户端:app、桌面软件
服务器内部:
服务器之间互相调用。
接口测试分类:
1:模块之间的接口:如订单模块下单时,需要去用户资金模块查询余额
2:系统对外部系统提供的接口
3:内部子系统的服务之间的接口
登录:
1:username=lixx&pwd=123456
2:json:
{username:‘lixx‘,pwd:‘123456‘}
3:xml:
<root>
<username value=‘lixx‘>
<pwd value=‘123456‘>
</root>
4:自定义:
定长:lixx 123456
不定长:lixx123456
tcp/ip协议:
http、https、websocket、json、xml
webservice(soap/wsdll)、restservice、xmpp、自定义协议
网络传输:
http、webservice
文本:json、xml
二进制:thrift、protobuf、hession
接口测试与自动化测试:
自动化测试如app自动化测试、web自动化测试;都是模拟人类的行为去测试
底层都是通过接口去和服务器进行交互,接口测试的可以在底层模拟人类的行为去进行测试
接口测试与功能测试:
功能测试用于测试系统功能是否满足业务逻辑
功能测试包含一个或多个接口测试
接口测试能涵盖一定的功能测试
接口测试与性能测试:
自动化测试的模拟行为,测试效率较慢
接口测试可以直接和服务器进行快速交互,对接口进行性能、压力测试。
接口测试与安全测试:
功能测试能一定程度行测试安全性,接口测试能大范围测试系统安全性,类似于模拟黑客攻击的行为。
接口测试能带来什么:
提升测试效率,底层一个bug能引发上层8个左右bug,而且底层的bug很容易引起全网的宕机,接口测试能够提供系统复杂度上升情况下的低成本高效率的解决方案
能快速定位bug
安全缺陷
性能缺陷
接口测试工具:
jmeter:ws、rs、http
soapui:ws、rs、http、安全测试
其他:loadrunner
工具很多,没必要掌握那么多,你掌握不了
编写代码:
httpclient、cxt、dubbo、thrift等的客户端
接口的认证: