接口功能测试
接口功能测试:
1.接口测试类型
目前主流的有webservice接口(soap协议、rest协议的接口),http/https协议接口
1. get是从服务器上获取数据,post是向服务器传送数据。
2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。
3. 对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。
4. get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。
5. get安全性非常低,post安全性较高。但是执行效率却比Post方法好。
建议:
1、get方式的安全性较Post方式要差些,包含机密信息的话,建议用Post数据提交方式;
2、在做数据查询时,建议用Get方式;而在做数据添加、修改或删除时,建议用Post方式;
2.接口测试请求方式
目前主要有:get、post,put、delete
主要了解下get和post区别,这里我就不解释了,问下度娘
3.接口测试地址
例如:http://ip:port/项目/访问路径
由3部分构成 http:协议+ip:你需要访问服务器+port:和服务器通讯端口号+项目:你发布在apache或者tomcat下的项目文件+访问路径:你数据传输到apache下项目里面的那个文件或者哪个类
4.接口测试请求协议
soap协议、rest协议,http/https协议
5.请求和返回的格式
这个主要是你发送到服务器的请求参数的格式类型,以及服务器返回的数据格式类型
目前主要的是xml、json格式
6.请求头:
一个接口需要包含以下几部分,请求头,请求体,请求行等,
B/S架构的:能够识别是哪个用户操作,是通过cookie和session跟踪的,来识别身份的
C/S架构:是通过tooken来识别不同客户身份的
请求头:客户端请求(Request)或服务器响应(Response)时传递的,位请求或响应的第一行,作用:说明我们发送给服务的请求体格式(Content-Type),客户端接受编码方式(Accept-Encoding),客户端所希望语言(Accept-Language), 客户端接受什么类型的响应(Accept),客户端类型(User-Agent)等,有很多类型,我们通过fiddler抓包后,看下header下的,都是请求头的内容
7.请求体
请求体就是我们的请求参数
例如微信订单查询接口就是xml格式的:
json格式的:
{"umid":"xxxx",
"password":"xxxxx",
"appid":"xxxxxx",
"deviceID":"xxxxxx",
}
8.接口工具:
jmeter postman soapui 都可以做接口自动化,接口功能,接口性能
9.接口功能测试jmeter需求组件
1.测试计划
2.线程组
3.http采样器
4.HTTP信息头管理器
5.HTTP Cookie 管理器
6.察看结果树
10.接口测试目的:
测试服务端,通过模拟客户端各种各样的场景,例如正确的请求,来验证服务是否正确处理,模拟错误的请求,服务端是否有容错机制,主要检查返回参数,例如返回码 code ,返回描述:msg,以及返回数据 data
11.接口需求分析
接口测试主要针对请求参数做需求分析,是每个参数一个一个去分析的,
例如:登录接口请求参数
先分析登录手机号码:
需要考虑两个,登录成功和失败,主要看用户表里面有没有存在这个用户名
1.系统存在用户名登录成功
2.系统不存在用户名登录失败
3.密码在表里面存在
4.密码在表里面不存在
但是这两个是组合测试的,那么你需要把这4种情况组合下测试就可以了
编写用例那就是
1.用户名正确,密码正确登录成功 预置条件:用户名和密码在用户表里面存在
2.用户名正确,密码错误登录失败 预置条,用户在表里面存在,密码在表里面不存在
3.用户名错误,密码正确,登录失败 预置条件:自己想去吧
在考虑,字段长度,数据类型,枚举值等
总体思考点如下:
12.结果检查
1.首先需要检查返回参数:
例如下面返回参数:
{"errno":0,"msg":"成功","errmsg":"成功","data":{"uid":"3ed6232f-609a-dffe-a8d6-88fbbe875f6c","token":"6200b46b9728e8c0abb2cd3ee89a2630"}}
返回码:errno 只有0代码成功
返回描述:msg
返回数据:data
这些都需要符合需求规格说明书
2.在检查其他
例如,你接口是上传图片,你需要检查服务器上,图片是否归档
例如,你注册用户,或者充值,你需要检查表里面数据是否插入正确,或者修改正确
例如,你订单查询接口:
你需要检查你返回订单数据,都需要从表里面通过sql语句展示出结果和jmeter的返回参数做对比的
13: 常有的接口:
一个项目经常有的接口
1.开户接口
2.充值接口
3.修改密码接口
4.登录接口
5.短信验证码接口
6.查询类的接口等
每个接口的参数自己百度一般哈
14.http常用的状态码
当浏览者访问一个网页时,浏览者的浏览器会向网页所在服务器发出请求。当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含HTTP状态码的信息头(server header)用以响应浏览器的请求
类分类描述
1**信息,服务器收到请求,需要请求者继续执行操作
2**成功,操作被成功接收并处理
3**重定向,需要进一步的操作以完成请求
4**客户端错误,请求包含语法错误或无法完成请求
5**服务器错误,服务器在处理请求的过程中发生了错误
常见状态码:200,302,404,500,408
网友评论