接口测试基础学习

接口测试

是什么? 

  后端实现是否符合接口规范

为什么?

  程序安全、效率

怎么用?

 模拟客户向服务器发送数据,然后查看响应

  要素1:定位服务器资源(url)

  要素2:模拟用户提交数据

  要素3:查看响应是否符合预期

接口测试分类:

  web接口测试(B/S架构项目)

    服务器接口测试:测试自己公司的实现的接口

    第三方接口测试:测试别的公司的实现的接口

  模块接口测试(C/S架构项目)

接口测试:环境搭建

是什么?

  搭建接口测试的环境,运行程序

怎么用?

  运维或开发部署程序,正常运行

  自己搭建

    安装 python

    安装依赖

    启动项目

接口测试:插件

是什么?

  测试接口的测试工具

  火狐--RESTClient

  谷歌--Postman

  java 实现的测试工具:jmeter

为什么?

  工具功能强大,使测试更快捷方便

RESTful风格(重点):

是什么?

  开发测试时,遵守一些默认的规范,是约定成俗的,非强制的,RESTful风格是这些习惯中的一种

  规范了url的实现方式,提交数据的实现方式,响应数据的实现方式。。。

为什么?

  为了程序的易读性和易维护性

怎么用?

  约束接口操作的四种操作(增删改查)及三要素(url,提交数据,响应数据)

  增:

    要素1:url + post

    要素2:多个数据

      方式1:键=值&键=值

      方式2:json格式

    要素3:200 | 201 + 添加的数据

  删:

    要素1:url + delete

    要素2:方式1:键=值&键=值

    要素3:200 | 204 + 无

  改:

    要素1:url + put(更合适) | post

    要素2:

      方式1:键=值&键=值

      方式2:json格式

    要素3:200 | 201 + 修改后的数据

  查:

    要素1:url + get

    要素2:常用方式1:url?键=值&键=值...

    要素3:200  +  一条记录或多条记录

  状态码:

    404--------资源路径错误

    505--------服务器异常

  

接口测试:JSON

是什么?

  *  JSON是一种数据载体

  *  互联网本质就是数据传输,数据传输需要数据载体,比如:页面信息存储在HTML这种数据载体中

  *  HTML 格式:

    <html>

      <head>

        <title>hello</title>

      </head>

      <body>

        <font color='red'>hello world</font>

      </body>

    </html>

    XML 格式:

    <person>

      <name>huluwa</name>

      <age>8</age>

    </person>

    缺点:

      标签标记语言:有效占有率低

  *  JSON优化数据传输

    {"title":"hello","font":"hello world"}

    {"name":"huluwa","age":"8"}

为什么?

  JSON传输数据效率更高,所以部分场景下使用JSON替换html和xml

  但是JSON预发描述性不及标签语言,所以部分场景还得使用html和xml

  如果传输少量数据,可能使用JSON

怎么用?

预发:

  格式1(JSON对象):{"键1":"值1" , "键2":"值2" , ....}

  格式2(JSON数组):[值1 , 值2 , 值3]

  格式复合:{"name":"huluwa" , "age":"8" , "aihao":["救爷爷","吐火","吐水"]}

       [{"name":"huluwa1" , "age":"8"},{"name":"huluwa2" , "age":"10"} , ...]

接口测试:实战

1、安装运行系统

2、获取读懂接口规范

  从前期文档(API文档:应用程序编程接口)中提取接口清单

  读懂接口清单

    要素1:url + 请求方法

    要素2:提交的数据

    要素3:响应的结果

3、逐一进行接口测试

总结:

1、新增数据时,数据时JSON格式的,必须设置浏览器的http请求头,不然会当成普通文本处理

  content-type  application/json;charset=utf-8

原文地址:https://www.cnblogs.com/testing2019/p/10724719.html