• 接口测试基础


    1. 什么是接口测试

      接口测试是验证系统组件间接口数据交互的测试。重点是检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。接口测试属于功能测试,

           是通过接口文档上的调用地址、请求参数、拼接报文,然后发送请求,检查返回结果。

    2. 接口测试必要性

      可以发现页面操作发现不了的bug

      检查系统的异常处理能力

      检查系统的安全性、稳定性

      前端发生变化,接口测试好了,后端无需再做改动

    3. 接口测试流程  

      a 需求评审,熟悉业务和需求

      b 开发提供接口文档

      c 编写接口测试用例

      d 用例评审

      e 执行测试

      f 提交测试报告

      3.1 接口文档必备要素

        接口说明

        调用url

        请求参数

        请求方式

        请求参数、参数类型、请求参数说明

        返回参数说明

      3.2 接口请求报文拼接方式

          url拼接

            url拼接规则为:Url?param1=value1&param2=value2

            问号前面是请求url,后面是请求参数和参数值,多个参数用&连接

            如:https://api.douban.com/v2/book/search?q=邹伟伟

          json串

            需要测试工具完成,如postman、jmeter等。其传参方式符合json的组合规则。

      3.3 接口类型

            http api接口 :     Http api 接口是走http协议,通过路径来区分调用的方法,请求报文都是key-value形式,返回报文一般都是json串,请求方式有get、post等方式,这两种为最常用的请求方式。

                 webservice接口:   Webservice 接口是走soap协议通过http传输,请求报文和返回报文都是xml格式,需要通过工具才能进行测试。

                 数据库访问接口:   数据库访问接口是走jdbc方式连接数据,对数据库进行增删改查操作,需要使用工具进行测试。

        3.3.1 get、post区别

            get使用url或cookie传参,post将数据存放在body中

            get的url在长度上有限制,post数据可以很大

            post比get更安全,因为数据在地址栏上不可见

            一般get用于获取数据,post用于发送数据

        3.3.2 http状态码

            200   2开头表示请求发送成功

            300   3开头表示重定向

            400   4开头表示客户端发送请求有语法错误

                401  访问页面未授权

                403  无权访问

                404  无此页面

            500   5开头表示服务器异常

                500  服务器内部异常

                504  服务器端超时,未返回结果

    4. 接口测试用例设计

      4.1 接口测试用例设计规则

        通过性验证(按照接口规范)

        参数组合(多参数时)

        安全验证

          绕过验证(卖家传个普通用户id)

          绕过身份授权(修改商品价格)

          关键参数未加密

          密码安全规则

        异常数据(不按接口文档要求)

        根据业务逻辑

      4.2 接口测试用例模板要素

        要至少要包含项目、模块、用例id、用例描述、请求url、请求方式、请求数据、预期结果、请求报文、返回报文、测试结果、测试人员等。如下图示:

        

  • 相关阅读:
    synchronized底层实现学习
    [Alink漫谈之三] AllReduce通信模型
    Alink漫谈(二) : 从源码看机器学习平台Alink设计和架构
    Alink漫谈(一) : 从KMeans算法实现不同看Alink设计思想
    [源码分析]从"UDF不应有状态" 切入来剖析Flink SQL代码生成 (修订版)
    从"UDF不应有状态" 切入来剖析Flink SQL代码生成
    [源码分析] 带你梳理 Flink SQL / Table API内部执行流程
    [白话解析] 通俗解析集成学习之bagging,boosting & 随机森林
    [源码分析] 从FlatMap用法到Flink的内部实现
    Ceph 14.2.5-K8S 使用Ceph存储实战 -- <6>
  • 原文地址:https://www.cnblogs.com/jiulanjiu520/p/7716901.html
Copyright © 2020-2023  润新知