接口基本知识

  • 接口的定义

    • 接口(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,

返回数据:{
  "success": "true",
 "code":"10000",
 "message":"操作成功",
  "data":"xxx"
}

2登录用户名不存在登录/api/user/loginpost

{

"Content-Type": "application/json"

}

json{
 "username":"bucunzai",
 "password":"Aa123456"
}

登录失败,状态码:200,

返回数据:{
  "success": "false",
 "code":"20001",
 "message":"用户名或密码错误",
  "data":null
}

3登录密码错误登录/api/user/loginpost

{

"Content-Type": "application/json"

}

json{
 "username":"zhangsan",
 "password":"Aa1"
}

登录失败,状态码:200,

返回数据:{
  "success": "false",
 "code":"20001",
 "message":"用户名或密码错误",
  "data":null
}

4登录请求参数为空登录/api/user/loginpost

{

"Content-Type": "application/json"

}

json

登录失败,状态码:200,

返回数据:{
  "success": "false",
 "code":"99999",
 "message":"操作频繁,请稍后再试",
  "data":null
}

5登录用户名为空登录/api/user/loginpost

{

"Content-Type": "application/json"

}

json{
 "username":"",
 "password":"Aa123456"
}

登录失败,状态码:200,

返回数据:{
  "success": "false",
 "code":"20001",
 "message":"用户名或密码错误",
  "data":null
}

6登录密码为空登录/api/user/loginpost

{

"Content-Type": "application/json"

}

json{
 "username":"zhangsan",
 "password":""
}

登录失败,状态码:200,

返回数据:{
  "success": "false",
 "code":"20001",
 "message":"用户名或密码错误",
  "data":null
}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值