软件测试之接口测试知识点

1.什么是接口测试?
接口测试就是针对软件对外提供服务的接口的输入输出进行测试,以及接口间相互逻辑的测试,验证接口功能与接口描述文档的一致性。
2.为什么要进行接口描述?
接口测试通常能够对系统测试得更为彻底,更好地保障产品质量,同时越早越底层的发现问题,修改和维护的代价也越小。
3.如何做接口测试?
根据接口文档设计测试用例,调用接口,验证结果。
4.接口测试流程:
1.接口的功能测试(先保证接口是正确的)
2.测试接口的数据(传递一些特殊的数据,保证接口没用问题)
3.自动化测试脚本的编辑
4.接口的性能,压力测试
5.接口返回数据的三种格式:
1)json格式 (包含三组数据)
{error_code:0,msg:“提现成功”,data[]}
错误码,对错误码的中文说明,真正的返回数据
2)html格式

<html>
   <title></title>
   <body>
       <error_code>0</error_code>
        ...
    </body>
<html>

3)xml格式

<?xml?version="1.0" encoding="utf-8">
     <error_code>0</error_code>
</xml>

6.接口测试协议
1)webservice协议
2)dobbo协议
3)http协议

  1. 什么是http协议?
    http是超文本传输协议,主要用于浏览器和服务器之间交互数据,交互有两个部分:请求和响应
    请求:get,post ,put,delete,options、trace、connect、head
    在这里插入图片描述
    响应:1xx信息,2xx成功,3xx重定向(跳转不传值),4xx客户端错误,5xx服务端错误
  2. 请求包含4部分:
    1)请求行:请求方式,请求地址,协议
    例如:POST https://api.bilibili.com/x/click-interface/web/heartbeat HTTP/1.1
    2)请求头:用来说明服务器要使用的附加信息
    Host: 127.0.0.1(请求的主机地址)
    Connection: keep-alive(保持活跃)
    Content-Length: 263(内容长度)
    Accept: application/json, text/javascript, /; q=0.01(客户端可以接受的数据格式)
    X-Request-With: XMLHttpRequest(异步请求)
    User-Agent:(客户端的用户)
    Accept-Encoding: gzip, deflate, br(压缩方式)
    Cookie: (请求的cookie)
    3)空行:请求头部后面的空行是必须的,即使第四部分的请求数据为空,也必须有空行
    4)请求的数据(正文)
  3. 响应包含4部分:
    1)响应行:协议,响应码,响应信息
    例如:HTTP/1.1 200 OK
    2)响应头:用来说明客户端要使用的一些附加信息
    Date: Mon, 15 Mar 2021 10:14:46 GMT(生成响应的日期和时间)
    Content-Type: application/json; charset=utf-8(将内容指定为json格式,以UTF-8字符编码进行编码)
    3)空行:响应头后面的空行是必须的
    4)响应的内容(正文):服务器返回给客户端的文本信息
  4. 状态码:
    200 OK 当您的操作将在响应正文中返回数据时,出现此结果。
    204 No Content 当您的操作成功,但不在响应正文中返回数据时,出现此结果。
    304 Not Modified(重定向) 当测试实体自上次检索以来是否被修改时,出现此结果。
    403 Forbidden 客户端错误
    401 Unauthorized 客户端错误
    413 Payload Too Large(客户端错误) 当请求长度过长时,出现此结果。
    400 BadRequest(客户端错误) 当参数无效时,出现此结果。
    404 Not Found(客户端错误) 当资源不存在时,出现此结果。
    405 Method Not Allowed(客户端错误)由于方法和资源组合不正确而出现此错误。 例如,您不能对一个实体集合使用 DELETE 或 PATCH。
    412 Precondition Failed 客户端错误
    501 Not Implemented(服务器错误) 当未实施某个请求的操作时,出现此结果。
    503 Service Unavailable(服务器错误) 当 Web API 服务不可用时,出现此结果。
  5. get请求和post请求的区别:
    1)get在浏览器回退时是无害的,而post会再次提交请求。
    2)get产生的url地址可以被Bookmark,而post不可以。
    3)get请求会被浏览器主动cache,而post不会,除非手动设置。
    4)get请求只能进行url编码,而post支持多种编码方式。
    5)get请求参数会被完整保留在浏览器历史记录里,而post中的参数不会被保留。
    6)get请求在url中传送的参数是有长度限制的,而post没有。
    7)对参数的数据类型,get请求只接受ASCII字符,而post没有限制。
    8)get比post更不安全,因为参数直接暴露在url上,所以不能用来传递敏感信息。
    9)get参数通过url传递,post放在Request body中
  6. http和https的区别:
    超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息。HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此HTTP协议不适合传输一些敏感信息,比如信用卡号、密码等。
    为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS。为了数据传输的安全,HTTPS在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。
    HTTPS和HTTP的区别主要为以下四点:
    1.https协议需要到ca申请证书,一般免费证书很少,需要交费。
    2.http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议。
    3.http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
    4.http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络,比http协议安全。

(放草稿箱太久了…后面有时间再补充趴)

  • 25
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值