1、接口的定义

系统与系统之间、组件与组件之间、数据传递交换的通道

2、接口的类型

按协议:http、tcp、ip

按语言:C++、java、php

按范围:系统与系统、内部系统与内部系统、外部系统与外部系统之间

程序划分:多个内部程序、内部系统与外部系统、模块与模块

3、接口的优点

责任划分清晰、缩短研发周期、可拓性强

4、接口测试的特点

1、接口测试可提前接入,提早发现bug,符合质量控制前移的理念

2、可以发现一些页面操作发现不了的问题

3、接口测试低成本高收益

4、不同于传统的单元测试,接口测试是从用户角度对系统进行全面的检测

5、接口测试的实现方式

1、使用接口测试工具来实现(比如:JMeter、postman、fiddler)

2、通过编写代码来实现(比如:python+request)

6、自动化接口测试的定义

让程序或工具代替人工自动完成对接口进行测试的一种过程,借助工具、代码、模拟客户端发送请求给服务器,借助断言自动判断预期结果和实际结果是否一致。

7、网络编程基本概念

客户端(Client):移动应用(iOS、Android、Web等应用)

服务器(Server):为客户端提供服务、提供数据、提供资源等机器

请求(Request):客户端向服务器索取数据的一种行为

响应(Response):服务器对客户端发出请求做出的影响,一般指返回数据给客户端

8、HTTP协议

计算机网络中两台计算机之前进行通信所必须遵守的规则或规定。

HTTP协议:(Hyper Text Transfer Protocol)超文本传输协议,是一种规定了浏览器和服务器之前通信的规则。是一个基于请求与响应模式的、应用层协议、也是互联网上应用最为广泛的一种协议。

9、HTTP协议的特点

1、支持客户端服务器端模式

2、支持快速简单

3、灵活

4、无连接

5、无状态

10、URL(统一资源定位符)

是互联网标准的资源地址,HTTP使用URL建立连接和传输数据。

概念:互联网上资源的地址,位置。唯一的定义一个数据资源。

格式:协议:主机地址/路径

11、URL语法格式组成

https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzkxMzI4ODgyOA==&action=getalbum&album_id=2068674408138768385#wechat_redirect

协议 域名IP 资源路径 查询参数

端口范围 0到65535、http默认80、https默认443

12、协议http规定数据传输的方式

域名ip:在网络环境中找到主机

端口(port):在网络主机上,标识一个进程(应用程序)

资源路径:标识网络资源(文件、图片、音视频、变量等等)

查询参数:传递给资源路径对应的数据,查询参数内部用&隔分多个键值对

13、请求分为两种:GET POST

GET:提交的数据显示在地址栏,不安全,提交的数据量有限制,不重要的数据使用

POST:隐式提交数据,更安全,没有数据量大小的限制,重要数据使用

14、数据传递的格式

1、纯文本的和简单的名称值对

2、ML格式:适用于标记文档,提供了对大规模数据的逐步解析方案

3、JSON格式:轻量级的数据交换格式,因为简单灵活适用于数据分析

15、HTTP请求

请求行:请求方法+URL+协议版本

请求头:请求体的数据类型User-Agent描述请求发送端的浏览器类型

请求体:post(添加,常用于登录) put(修改) 有请求体get(查询) delete(删除)没有请求体

16、HTTP响应

1XX:指示信息,表示请求已接受,继续处理

2XX:成功,表示请求已被成功接收、理解、接受,200 201

3XX:重定向,要完成请求必须进行进一步的操作

4XX:客户端错误,请求由语法错误或请求无法实现,404 403

5XX:服务器端错误

17、传统风格接口

查询某个用户:get和post

查询所有用户:get和post

添加用户:post

修改用户:post

删除用户:get和post

特点:

1、请求方法:只使用get和post即可

2、URL不唯一,同一个操作可以对应不同的URL

3、状态码的使用比较单一,200比较常见

18、RESTful接口

定义:一种软件架构设计风格而不是标准,只是提供了一组设计原则和约束条件

RESTful架构特点:

1、统一的接口:http(s)/服务器地址:端口号【项目名称/版本-可选】资源

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

服务器地址:为我们项目服务器ip地址

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

项目名称/版本:可选

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

2、http请求方法

get:从服务器取出资源 一个或者多个

post:在服务器新建一个资源 单个或者多个

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

delete:从服务器删除资源

19、接口测试流程

1、需求分析,主要依据需求文档

2、接口文档解析,一般是由开发人员编写接口文档(API文档)

3、设计测试用例

4、执行测试,使用接口测试工具实现或通过编写代码实现

5、接口缺陷管理与跟踪

6、生成测试报告

7、接口自动化集成(可选)

开发:概要设计书、详细设计书、代码

测试:测试计划、测试方案、测试用例、执行测试用例、提交跟踪缺陷、编写测试报告

20、接口文档定义

又称为API文档,一般是由开发人员所编写的,用来描述系统所提供接口信息的文档。大家都根据这个文档进行开发,并需要一直维护和遵守。

21、为什么要写接口文档

1、能够让前端开发与后端开发人员更好的配合,提高工作效率(有一个统一参考的文件)

2、项目迭代或者项目人员更迭时,方便后期人员查看和维护

3、方便测试人员进行接口测试

22、接口文档内容

一个规范的接口文档要包含以下信息

资源路径:协议、域名、请求方法、接口描述

请求参数:请求头Content-Type描述请求体的数据类型

请求体:实现该接口使用的数据及对应类型

返回数据:状态码200,错误码(自定义错误码)码值+描述信息

现在我邀请你进入我们的软件测试学习交流群:746506216】,备注“入群”, 大家可以一起探讨交流软件测试,共同学习软件测试技术、面试等软件测试方方面面,还会有免费直播课,收获更多测试技巧,我们一起进阶Python自动化测试/测试开发,走向高薪之路。

喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一 键三连哦!