-
接口的定义
- 接口(API,Application Programming Interface)是软件系统中不同组件之间进行通信的一种约定。它定义了如何请求服务、期望的输入和输出格式,以及数据传输的方式。接口可以是本地的(如库函数),也可以是远程的(如Web API)。
- 端点:接口中的一个具体路径或URL,用于执行特定的操作。
- 方法:HTTP方法(如GET, POST, PUT, DELETE等),用于指定对资源的操作类型。
- 请求:客户端发送给服务器的数据,包括请求头、请求体等。
- 响应:服务器返回给客户端的数据,包括状态码、响应头、响应体等。
-
接口的作用
- 解耦:接口使得不同的系统或模块可以独立开发和维护。
- 标准化:通过统一的接口规范,确保不同系统之间的互操作性。
- 简化开发:开发者可以通过调用现成的接口来实现复杂的功能,而无需从头开始编写代码。
-
Http/Https协议
- Http协议:(HyperText Transfer Protocol:超文本传输协议)是一种用于分布式、协作式和超媒体信息系统的应用层协议。 简单来说就是一种发布和接收 HTML 页面的方法,被用于在 Web 浏览器和网站服务器之间传递信息。
- Https协议:(Hypertext Transfer Protocol Secure:超文本传输安全协议)是一种透过计算机网络进行安全通信的传输协议。HTTPS 经由 HTTP 进行通信,但利用 SSL/TLS 来加密数据包。HTTPS 开发的主要目的,是提供对网站服务器的身份认证,保护交换数据的隐私与完整性。
- http和https的区别:
| 数据传输 | 端口 | 性能 | 证书 | |
|---|---|---|---|---|
| Http | 明文 | 80 | 快 | 无需证书 |
| Https | 密文(使用SSL/TLS协议对数据加密) | 443 | 稍慢 | SSL/TLS证书 |
- 请求的组成:请求行、请求头、请求体
(一)请求行:方法、URL、协议版本。
方法(Method):表示请求的类型,如GET、POST、PUT、DELETE等。
(1)Get:从服务器上获取资源 。
(2)Post:在服务器上新建一个资源。
(3)Put:在服务器上更新资源。
(4)Delete:从服务器上删除资源。
URL(Uniform Resource Locator):请求的资源路径。
协议版本(HTTP Version):使用的HTTP协议版本,如HTTP/1.1或HTTP/2.0。
(二)请求头:由键值对组成,用于通知服务器有关于客户端请求的信息。
(三)请求体(json格式):不在GET方法中使用,经常在POST、PUT方法中使用 。
- 响应的组成:状态行、响应头、响应体
(一)状态行:由 协议版本号、状态码、状态消息 三部分组成,状态码 由三位数字组成,第一个数字定义了响应的类别:
1xx:指示信息--表示请求已接收,继续处理。
2xx:成功--表示请求已被成功接收、理解、接受 。
3xx:重定向--要完成请求必须进行更进一步的操作 。
4xx:客户端错误--请求有语法错误或请求无法实现 。
5xx:服务器端错误--服务器未能实现合法的请求。(二)响应头:包含多个键值对,提供了关于响应的附加信息。
(三)响应体:响应体包含实际的数据,通常是一个HTML文档、JSON对象、图片等。响应体的格式由
Content-Type头指定。
-
什么是接口测试?
接口测试:是对系统或组件之间的接口进行测试,主要是校验数据的交换、传递和控制管理过程,以及相互逻辑依赖关系。
-
什么是接口文档?
接口文档:描述应用程序编程接口(API)的详细信息的技术文档。它为开发者提供了使用 API 所需的所有信息,包括请求和响应的格式、参数说明、认证方式、错误代码等。
-
为什么要有接口文档?
1、能够让前后端开发人员更好的配合,提高工作效率。(有一个统一参考的文件)
2、项目迭代或者项目人员更迭时,方便后期人员查看和维护。
3. 方便测试人员进行接口测试。
-
如何解析接口文档?
-
接口测试用例设计
- 单接口:
- 正向(正常场景):
- 仅必填参数。
- 全部参数。
- 参数组合。
- 反向(异常场景):
- 参数异常:无参、多参、少参、错误参数。
- 数据异常:数据为空、长度不符、类型不符、错误数据。
- 业务异常:结合业务功能场景考虑输出各种异常返回情况。
- 正向(正常场景):
- 多接口:业务场景功能测试(站在用户角度考虑常用的使用场景
- 接口之间数据依赖
- 项目实践测试用例编写(以登录接口为例)
- 单接口:
| 编号 | 模块 | 用例名称 | 接口名称 | 请求URL | 请求类型 | 请求头 | 请求参数类型 | 请求参数 | 预期结果 | 测试结果 |
| 1 | 登录 | 登录成功 | 登录 | /api/user/login |
post |
{ "Content-Type": "application/json" } | json | { "username":"zhangsan", "password":"Aa123456" } |
登录成功,状态码:200, 返回数据:{ | |
| 2 | 登录 | 用户名不存在 | 登录 | /api/user/login | post |
{ "Content-Type": "application/json" } | json | { "username":"bucunzai", "password":"Aa123456" } |
登录失败,状态码:200, 返回数据:{ | |
| 3 | 登录 | 密码错误 | 登录 | /api/user/login | post |
{ "Content-Type": "application/json" } | json | { "username":"zhangsan", "password":"Aa1" } |
登录失败,状态码:200, 返回数据:{ | |
| 4 | 登录 | 请求参数为空 | 登录 | /api/user/login | post |
{ "Content-Type": "application/json" } | json |
登录失败,状态码:200, 返回数据:{ | ||
| 5 | 登录 | 用户名为空 | 登录 | /api/user/login | post |
{ "Content-Type": "application/json" } | json | { "username":"", "password":"Aa123456" } |
登录失败,状态码:200, 返回数据:{ | |
| 6 | 登录 | 密码为空 | 登录 | /api/user/login | post |
{ "Content-Type": "application/json" } | json | { "username":"zhangsan", "password":"" } |
登录失败,状态码:200, 返回数据:{ |
505

被折叠的 条评论
为什么被折叠?



