文章转载于:乐字节


文章内容:了解自动化测试之接口测试

简单的接口测试初识

一:接口测试(接口概念)

1.1 什么是接口?

接口是一种规范,方便我们在编写应用程序是需要注意的事项。是一套约定俗称的规则,主要可以方便宏观上整体把控整个项目。

PS:比如,当我们要对一个注册操作进行持久化操作的时候,我们需要规定整个模块的参数以及返回值的定义,方便程序员编写时按照既定约定进行开发,避免开发 的随意性。

1.2 接口的优势

1:统一设计标准
2:前后端的开发相对独立
3:对于今后的扩展性和维护性进行提高
4:前后端可以使用自己相对于较为熟悉的技术

1.3 如何定义接口?

1:接口是由架构师或者是项目Leader定义的
2:前后端在编写的时候进行统一约束和规范,作为开发人员的开发依据

二: 接口测试(接口测试概念)

2.1 什么是接口测试?

接口测试就是按照约定的规范,测试后端的实现是否符合规范。

了解自动化测试之接口测试(POSTMan)_编程

2.2 为什么需要进行接口测试?

1:让程序更加安全
2:让程序更加高效
3:提高软件产品的质量

2.3 如何做接口测试?

模拟用户 客户向服务器发送请求,然后查看响应结果。

要素内容
资源定位符定位服务器资源,通过URL实现(统一资源定位符)
https://www.baidu.com | http://localhost:8080
请求参数模拟用户提交数据。比如通过get发送数据:uname=zhangsan&pwd=123
对比结果查看响应结果和预期结果是否相同。

2.4 接口测试分类

类型1:Web接口测试(B/S架构项目)

            |----服务器接口测试:自定义的接口测试

            |----第三方接口测试:其它公司实现的接口测试

类型2:模块接口测试(C/S架构项目)

三:接口测试准备工作

3.1 插件安装

3.1.1 为什么需要安装插件?

是测试接口的一些测试工具,有一些测试工具直接跑在浏览器上,比如FireFox中的RESTClient,或者是Google的POSTman,还有一些直接比如Java开发的测试工具:JMeter。

测试工具功能比较强大,方便测试人员进行测试。

3.1.2 如何安装插件?

环境:采用的浏览器是Google浏览器,在Google浏览器下可以通过两种方式进行插件的安装:

    |-----  在线下载拓展程序

    |----- 下载好插件直接拖拽

常见的插件:拦截广告的插件,网盘下载不限速插件。

格式化JSON数据的插件,网页调试插件

3.2 RESTFul风格

3.2.1 什么是RESTFul风格?

RESTFul 风格:在开发和测试过程中遵守一定的规范,RESTFul就是若干了约束中的一种。

3.2.2 为什么需要RESTFul风格?

Restful就是一个资源定位及资源操作的风格。不是标准也不是协议,只是一种风格。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。

当下常见的三种B/S架构的交互方案:

  • SOAP (Simple Object Access Protocol) 简单对象访问协议

  • XML-RPC  基于XML的远端程序调用

  • RESTFul (Representational State Transfer) 指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是 RESTFul。

3.2.3 如何基于RESTFul进行测试?

针对于整个项目来说,就是基于数据的增删改查。RESTFul中定义个对于每项操作的3要素的要求:

    • 访问资源:

      • post请求 url:http://localhost:8000/XXX/XXXX/

    • 请求参数:

      • 健=值&健=值。。。

      • JSON

    • 结果对比:200|201(标准)+  已添加数据

    • 访问资源:

      • get|delete(标准)

      • 请求  url:http://localhost:8000/XXX/XXX/XXX

    • 请求参数:健=值&健=值。。。

    • 结果对比:200|204(标准)

    • 访问资源:

      • post|put(标准)

      • 请求 url:http://localhost:8000/XXX/XXX/XXX

    • 请求参数:

      • 健=值&健=值。。。

      • JSON

    • 结果对比:200|201(标准)+  已修改数据

    • 访问资源:

      • get

      • 请求  url:http://localhost:8000/XXX/XXX/XXX

    • 请求参数:

      • 健=值&健=值。。。

      • JSON

    • 结果对比:

      • 状态码200 + 描述OK + 查询到的结果信息(一条或多条信息)

3.3 :JSON

3.3.1  什么是JSON?

JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。

其实和XML是并列的两种互联网传递数据的重要载体中的一种。

需要编程资料可:关注【乐字节】公众号,输入233,领取!

3.3.2 XML数据格式

<person>
    <uname>
        <first-name>三丰</first-name>
        <last-name></last-name>
    </uname>
    <age>18</age>
</person>

3.3.3 JSON数据格式

{
    "person": {
        "name": {
            "first-name""三丰",
            "last-name""张"
        },
        "age""18"
    }
}

1: JSON要比XML更加的简单

2: JSON的数据量要小于XML

3:XML数据的语义要比JSON更加的明确

4: 某些场景下JSON可以代替XML(Ajax),某些事无法代替的(数据量大)。

3.3.4 普通定义(JSON对象)

{
   ##"健1""值1","健2""值2"...
   "name":"zhangsan"
   "pwd":"123"
}

3.3.5 数组定义(JSON数组)

[
    ##"值1","值2"...
    "张三","李四"
]

3.3.6 复合定义(重点)

[
    {
        "uname": {
            "first-name""三丰",
            "last-name""张"
        },
        "age""18"
    },
    {
        "uname": {
            "first-name""无忌",
            "last-name""张"
        },
        "age""18"
    }
]

四:使用POSTMan

要保证按照接口测试规范进行测试,抽离接口API,然后开始测试

了解自动化测试之接口测试(POSTMan)_程序员_02


注意,如果你发送的请求参数包含json数据或者中,需要在headers中进行请求头设置

了解自动化测试之接口测试(POSTMan)_编程_03

如果包含请求参数,通过post发送时,在body中的raw中编写json数据即可发送。

了解自动化测试之接口测试(POSTMan)_程序员_04

最后查看测试数据,主要看返回结果以及应答码