2018-06-06

接口功能测试

接口功能测试:


2018-06-06_第1张图片

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来识别不同客户身份的


2018-06-06_第2张图片

请求头:客户端请求(Request)或服务器响应(Response)时传递的,位请求或响应的第一行,作用:说明我们发送给服务的请求体格式(Content-Type),客户端接受编码方式(Accept-Encoding),客户端所希望语言(Accept-Language), 客户端接受什么类型的响应(Accept),客户端类型(User-Agent)等,有很多类型,我们通过fiddler抓包后,看下header下的,都是请求头的内容

7.请求体

请求体就是我们的请求参数

例如微信订单查询接口就是xml格式的:


2018-06-06_第3张图片

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.接口需求分析

接口测试主要针对请求参数做需求分析,是每个参数一个一个去分析的,

例如:登录接口请求参数

2018-06-06_第4张图片

先分析登录手机号码:

需要考虑两个,登录成功和失败,主要看用户表里面有没有存在这个用户名

1.系统存在用户名登录成功

2.系统不存在用户名登录失败

3.密码在表里面存在

4.密码在表里面不存在

但是这两个是组合测试的,那么你需要把这4种情况组合下测试就可以了

编写用例那就是

1.用户名正确,密码正确登录成功  预置条件:用户名和密码在用户表里面存在

2.用户名正确,密码错误登录失败  预置条,用户在表里面存在,密码在表里面不存在

3.用户名错误,密码正确,登录失败  预置条件:自己想去吧

在考虑,字段长度,数据类型,枚举值等

总体思考点如下:


2018-06-06_第5张图片

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

你可能感兴趣的:(2018-06-06)