接口测试主要用于外部系统与系统之间以及内部各个子系统之间的交互点,定义特定的交互点,而后经过这些交互点来,经过一些特殊的规则也就是协议,来进行数据之间的交互。php
一、webService接口:是走soap协议经过http传输,请求报文和返回报文都是xml格式的,咱们在测试的时候都用经过工具才能进行调用,测试。能够使用的工具备apipost、jmeter、loadrunner等;css
二、http api接口:是走http协议,经过路径来区分调用的方法,请求报文都是key-value形式的,返回报文通常都是json串,有get和html
post等方法,这也是最经常使用的两种请求方式。能够使用的工具备apipost、jmeter、loadrunner等;前端
前端:网站前端是对网页静态页面的设计,通俗的来讲,就是咱们肉眼能看的到的东西,当咱们浏览网站的时候所看到的页面上的内容几乎都是属于前端,前端的工做就是网站页面,静态的页面是没有后端成分的,前端主要包括html和css外加js等一些样式和布局。web
后端: 网站的后端就是动态网站的技术,好比网站上的一些注册登陆和一些弹窗,这些都是后端的逻辑,经常使用的后端语言有php,jsp等,后端的数据库也包含myspl等,都是对后端进行存储数据。sql
接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等(通俗来讲就是,检查业务逻辑是否知足业务需求,校验字段是否正常你实际结果是否知足预期)数据库
a、接口说明apache
b、调用urljson
c、请求方法(getpostput等)后端
d、请求参数、参数类型、请求参数说明
e、返回参数说明
接口其实app和前端交互用的,因此好多人问,为啥作功能测试还要测接口,目标是啥不是画蛇添足吗?首先我告诉你们,这种想法是错误的
那么举一个例子:
例如一个登录接口,例如产品上规定用户名6-10个字符数字下划线,但后端没作判断。但咱们业务人员测试确定验证,但只是前端作了校验,后端压根就忘了这个小需求.那么后果来了若是一个懂的直接抓包去篡改你的接口,而后绕过校验,经过sql注入直接随意登陆。若是你这是一个下单业务,是否是给公司形成了很大损失
因此此时此刻接口测试目标来了:
1.可能发现客户端没有发现的bug(那么也叫隐藏bug)
2.及早爆出风险(保证质量正常上线)
3.接口稳定了,前端随便改
4.最重要检查系统安全性,稳定性
1.使用接口测试工具进行测试,接口测试和接口文档生成工具apipost,接口测试和性能测试工具jmeter
2.接口状态码表示含义
例如:200(成功)/300(重定向别的地方)/400(请求语法错误)/500(服务器异常)
测试点:
A. 用例设计(根据业务逻辑来设计用例,登陆5次,须要2分钟后再登陆 删除关注的车,列表少一条数据)
B. 参数组合(传入不一样值)
C. 接口安全(绕过验证/绕过身份验证/参数是否加密等)
D. 异常验证(输入异常参数边界值)
工具下载地址:
apipost: https://www.apipost.cn
jmeter: https://jmeter.apache.org/