接口测试 要资料的进
什么是接口测试?
接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程, 以及系统间的相互逻辑依赖关系等。
接口测试场景
-
手机APP
-
客户端软件
-
web网站API:微信接口、新浪微博接口等等
-
公司内部系统API:订单接口需要调用用户资金接口查询余额。
接口测试分类
-
模块之间的接口:如订单模块下单时,需要去用户资金模块查询余额等
-
系统对外部系统提供的接口
-
内部子系统的服务之间的接口
常见协议
-
tcp/ip协议
-
http/https、websocket、json、xml
-
webservice(soap/wsdl)、restservice、xmpp、自定义协议
-
hession、dubbo
网络传输
-
文本:http、https、webservice、json、
-
二进制:thrift、protobuf、hession
接口测试与自动化测试
-
自动化测试如app自动化测试、web自动化测试:都是模拟人类的行为去测试,底层都是通过接口去和服务器进行交互
-
接口测试可以在底层模拟人类的行为去进行测试
接口测试与功能测试
-
功能测试用于测试系统功能是否满足业务逻辑
-
功能测试包含一个或多个接口测试
-
接口测试能涵盖一定的功能测试
接口测试与性能测试
-
自动化测试的模拟行为,测试效率较慢
-
接口测试可以直接和服务器进行快速交互,对接口进行性能、压力测试
接口测试与安全测试
- 功能测试能一定程度上测试安全性,接口测试能大范围测试系统安全性,类似于模拟黑客攻击的行为
- 方便测试非正常输入值
- Sql注入
- Xss
- Csrf
接口测试的意义
- 保证系统的稳定性
一个系统的服务端越接近底层,对系统的影响就越大,甚至有可能牵一发而动全身,服务端的一个缺陷可能会引起客户端的几个甚至十几个缺陷,更可怕的是服务端的缺陷有可能引起系统的崩溃,这对整个系统来说,损失将是不可估量的,因此服务端接口的质量将直接影响到系统的正确和稳定。然而,在实际的开发过程中,开发人员并没有充足的时间编写单元测试,并且他们往往对自己编写的代码有足够的信心,不愿意将时间“浪费”在编写单元测试身上。这个时候接口测试就肩负着重要的作用。
- 将bug控制在项目前期
就笔者所做的微信活动而言,后端系统比较成熟,对于前端开发来说,每个活动都有很大不同。这就导致后端接口开发只需要一天就可完成,而前端开发的工作量至少需要两、三天。而在这个空当期就可以充分的对接口进行测试,从而尽早的发现系统bug;减少功能测试的工作量,缩短产品的发布周期。
- 检查服务器的异常处理能力
我们通常把前端的验证称为弱验证,因为它很容易被绕过,这个时候如果只站在功能的层面时行测试,就很难发现一些安全的问题。不以前功能为入口的接口测试就会发挥出它的作用。
接口测试工具
-
jmeter:ws、rs、http
-
soapui:ws、rs、http、安全测试
-
其他:loadrunner
-
可以通过java编写代码进行测试:httpclient、其他协议的客户端工具
接口测试与加密算法
-
RSA
-
AES
-
DES
-
MD5
-
SHA1
-
SHA256
-
SHA512
重点来了!!
JMeter是Apache组织开发的基于Java的压力测试工具。具有开源免费、框架灵活、多平台支持等优势。除了压力测试外,JMeter在接口测试方面也有广泛的应用~ 此处分享一套学习视频,觉得有帮助的下载,公众号内回复【接口】获取
点链接进
https://mp.weixin.qq.com/s/bHfCBBuSz-CYK6bnvxYwyw