接口测试
1. 什么是接口测试
接口测试是验证系统组件间接口数据交互的测试。重点是检查数据的交换,传递和控制管理过程,
以及系统间的相互逻辑依赖关系等。
2.接口测试的必要性
a.可以发现页面操作无法发现的缺陷(Bug)
b.项目前期可先进行接口测试,达到冒烟测试的目的,一旦发现不通过,及时反馈给开发,减少风险
b.检查系统的异常处理能力
c.检查系统的安全险、稳定性
d.前段发生变化,接口测试好了,后端无需再做改动
3.接口测试的主要流程
需求评审大会-->测试计划-->开发提供接口API-->编写接口测试用例-->用例评审-->执行测试用例-->Bug提至缺陷管理工具-->提交测试报告
4.接口文档主要内容
a.接口说明
b.调用url
c.请求参数
d.请求方式
e.请求参数、参数类型、请求参数说明
f.返回参数说明
5.接口请求报文拼接方式
Url拼接:
url拼接规则为:Url?param1=value1¶m2=value2
问号前面是请求url,后面是请求参数和参数值,多个参数用&连接
如:https://api.douban.com/v2/book/search?q=朝花夕拾
Json串:
需要测试工具完成,如postman、jmeter等。其传参方式符合json的组合规则
6.接口类型
Http api接口:
Http api 接口是走http协议,通过路径来区分调用的方法,请求报文都是key-value形式,
返回报文一般都是json串,请求方式有get、post等方式,这两种是最常见的请求方式。
webservice接口:
Webservice接口走的soap协议通过http传输,请求报文和返回报文都是xml格式,需要通过工具才能进行测试。
数据库访问接口:
数据库访问接口是走jdbc方式连接数据,对数据库进行增删改查操作,需要协助工具进行测试
补充: Get、Post区别
get使用url或cookie传参,post将数据存放在body中
get的url在长度上有限制,post数据可以很大
post比get更安全,因为数据在地址栏上不可见
一般get用于获取数据,post用于发送数据
7.Http状态码
200 2开头表示请求发送成功
300 3开头表示重定向
400 4开头表示客户端发送请求有语法错误
401 访问页面未授权
403 无权访问
404 无此页面
500 5开头表示服务器异常
500 服务器内部异常
504 服务器端超时,未返回结果
8. 接口测试用例设计
8.1 接口测试用例设计规则
通过性验证(按照接口规范)
参数组合(多参数时)
安全验证
绕过验证(卖家传个普通用户id)
绕过身份授权(修改商品价格)
关键参数未加密
密码安全规则
异常数据(不按接口文档要求)
根据业务逻辑
8.2 接口测试用例模板(Word、Excel都可行)
9.Fiddler抓包工具
工具介绍:
Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler
的数据(指cookie,html,js,css等文件,这些都可以让你胡乱修改的意思)。 Fiddler 要比其他的网络调试器要更加简单,因为它不仅仅暴
露http通讯还提供了一个用户友好的格式
若测试的是手机App,而且此时开发给的接口文档又不全面的话,可以用Fiddler在手机上设置代理进行抓包处理
1. 下载安装Fiddler启动Fiddler,打开菜单栏中的 Tools > Fiddler Options,打开“Fiddler Options”对话框。
2. 在Fiddler Options”对话框切换到“Connections”选项卡,然后勾选“Allow romote computers to connect”后面的复选框,
然后点击“OK”按钮
3.在本机命令行输入:ipconfig,找到本机的ip地址
4.打开android设备的“设置”->“WLAN”,找到你要连接的网络,在上面长按,然后选择“修改网络”,弹出网络设置对话框,
然后勾选“显示高级选项”或"修改网络",代理选择手动,填入自己本机的IP地址,Fiddler代理端口默认8888,代理设置
就完毕了!
5.现在可以开始抓包了,小伙伴们快行动吧!
关于Fiddler工具的具体功能的使用,尽情期待!
原创不易,转载请说明出处http://www.cnblogs.com/yyym 谢谢!