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 POSTGET:提交的数据显示在地址栏,不安全,提交的数据量有限制,不重要的数据使用
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,错误码(自定义错误码)码值+描述信息