接口测试基础知识

接口测试

1. 为什么要学习接口测试

1.1 项目开发中为什么要采用接口?

1. 开发效率和质量

2. 方便与第三方交互

3. 维护便捷(后台代码修改,接口无需改变)

1.2 什么是软件接口?

说明:一个数据访问地址,一个规范交互标准,对指定数据进行(增删改查)

1.3 总结:

软件项目开发模式大多数都采用接口了,那我们作为软件测试人员要学接口吗?

接口与接口测试

软件接口

http://www.sojson.com/open/api/weather/json.shtml?city=北京

http://www.weather.com.cn/data/sk/101010100.html

http://www.weather.com.cn/data/cityinfo/101010100.html

2 、接口测试

2.1 概念

接口测试就是代替前端或者第三方验证后台响应数据是否正确

2.2 接口测试原理

模拟客户端向服务器发送请求报文,服务器接收请求报文后对相应的报文做处理并向客户端返 回应答,客户端接收响应数据后并进行判断的一个过程。

请求:

是否正确,默认请求成功是200GET),如果请求错误也能返回404500等。

检查:

返回数据的正确性与完整性。

安全性:

接口一般不会暴露在网上任意被调用,需要做一些限制,比如次数限制。

2.3 接口测试分类

web接口测试

模块接口测试

1). web接口测试

服务器接口测试

外部接口测试

  • 服务器接口测试
  • 是测试浏览器与服务器的接口。
  • 外部接口测试
  • 就是第三方接口测试
  • 举例:支付接口测试/天气预报接口测试

2.4 接口测试-优点

  • 能为项目平台带来高效的缺陷监测和质量监督能力;
  • 平台越复杂,系统越庞大,接口测试的效果越明显(提高测试效率,提升用户体验,降低研发成本)

常用接口测试插件工具

接口测试工具:

Postman

RestClient

Jmeter

1. Postman

google开发的一款功能强大的网页调试与发送网页HTTP请求,并能运行测试用例的的Chrome 插件

具体使用方法,这里不过多概述。

1.1 安装环境

  • 安装-谷歌浏览器(65.0.3311.4_chrome)
  • 安装-Postman插件(Postman_v4.1.3.zip)
  • 安装方式(离线/在线)

1.2 Postman安装步骤

1). 安装谷歌浏览器

2). 打开浏览器扩展页面

  • chrome://extensions/
  • 自定义及控制->更多工具->程序扩展

3). 勾选开发者模式

4). 加载已解压的扩展程序

1.3 Postman演示

请求方法(GET:详情请见接口架构风格讲解

请求URLhttp://www.sojson.com/open/api/weather/json.shtml?city=北京

1.4 结果

查看响应状态码

查看响应数据

2. RESTClient

: FirefoxRESTClient的插件,这款插件由国人开发,功能上支持于返回的数据高亮显示

2.1安装环境

  • 浏览器(火狐35.0)
  • 接口插件工具(RESTClient 2.0.5)
  • 安装方式(在线)

2.2 RESTClient安装步骤

1). 安装火狐浏览器

2). 打开浏览about:Ctrl+S工具菜

3). 搜索RE

4). 安装

2.3 RESTClient演示

请求方法(GET

请求URLhttp://www.weather.com.cn/data/sk/101010100.html

2.4 结果

查看响应状态码

查看响应数据

2.5 JSON科普

概念:是一种轻量级的数据交换格式。

语法 : JSON由已键/值对组合方式,

{
 "name":"张三",
 "age":18,
 }
 {
 "brand":"奔驰",
 "price":"50万"
 }

总结

接口

接口测试

Postman插件

RESTClient插件

思考-接口的组成?

http://www.weather.com.cn/data/sk/101010100.html

http://127.0.0.1:8000/api/departments/

http://127.0.0.1:8000/api/departments/T02/

http://127.0.0.1:8000/api/departments/?$dep_id_list=T01,T02,T03

接口架构规范

1. 定义

RESTful架构是一种接口设计架构风格,而不是标准,只是提供了一组设计原则。

2. 风格

http://服务器地址:端口号[/项目名称/版本]/**资源**集合[/单个资源]

- http://:为我们HTTP协议的访问头标准

- 服务器地址:为我们项目服务器IP地址

- 端口号:为我们服务器内项目访问的指定编号

- [/项目名称/版本]:可选

- 资源:互联网-图片、音乐、视频、文本、数据

3. RESTful相关知识(科普)

3.3 HTTP请求方法

GETSELECT):从服务器取出资源(一项或多项)。

POSTCREATE):在服务器新建一个资源。

PUTUPDATE):在服务器更新资源(客户端提供改变后的完整资源)。

DELETEDELETE):从服务器删除资源。

3.4 响应状态

客户端请求服务求后,服务器响应给客户端的状态码。

3.5 状态码集合汇总

序号

状态码 动词 说明
     

服务器成功返回用户请求的数据,该操作是幂等的(

Idempotent)幂等:无论执行操作多少次,结果都会执行1次结果相同

02

201 CREATED

[POST/PUT/PATCH] 用户新建或修改数据成功
03 02 Accepted [*]

表示一个请求已经进入后台排队(异步

任务)

04

204 NO CONTENT

[DELETE] 用户删除数据成功
05

400 INVALID REQUEST

[POST/PUT/PATCH]

用户发出的请求有错误,服务器没有进

行新建或修改数据的操作,该操作是幂

等的

06

401 Unauthorized

[*]

表示用户没有权限(令牌、用户名、密

码错误)

07

403 Forbidden

[*]

表示用户得到授权(与401错误相对),但是访问是被禁止的

08

404 NOT FOUND

[*]

用户发出的请求针对的是不存在的记

录,服务器没有进行操作,该操作是幂等的

09

406 Not Acceptable

[GET] 用户请求的格式不可得(比如用户请求

JSON格式,但是只有XML格式)

10 410 Gone [GET] 用户请求的资源被永久删除,且不会再得到
11

422 Unprocesable entity

[POST|PUT|PATCH] 当创建一个对象时,发生一个验证错误
**12

500 INTERNAL SERVER ERROR

[*]

服务器发生错误,用户将无法判断发出

的请求是否成功

**

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3.6 对结果进行判断

序号 方法 预期结果
01 GET collection:代码:200;数据:返回资源对象的列表(数组)
02 GET

collection/resource:代码:200;数据:返回单个资源对象

03 POST

collection:代码:200/201;数据:返回新生成的资源对象

04 PUT

collection/resource:代码:200/201;数据:返回完整的资源对象

05 DELETE

collection/resource:代码:204;数据:返回为空

 

 

 

 

 

 

 

4. 总结(RESTful)

序号 名称
01 定义 种软件架构风格、设计风格,而不是标准
02

RESTful风格

http://服务器地址:端口号/[服务名]/[版本]/资源集合/单个资源

03

请求方法

GET(获取资源);POST(新增资源);PUT(更新资源);DELETE(删除资源)

04 状态码

GET:200;POST:200/201;PUT:200/201;DELETE:20

05 [JSON]

是一种轻量级的数据交换格;JSON是以键/值对组合方式,键名写在前面并用双引号""包裹,使用冒号:分隔,然后紧接着值:1 {"name": "张三","age":18}

 

 

 

 

 

 

 

 

展开阅读全文

没有更多推荐了,返回首页