zoukankan      html  css  js  c++  java
  • 接口自动化测试(该文章属于各方面整理所得,非原创)

    1、什么是接口测试

    接口测试是对系统或组件之间的接口的测试。主要用于检测外部系统与系统间以及内部各个子系统间的交互点。测试重点是检查数据交换、传递和控制管理过程,以及系统间的相互逻辑依赖关系等。

    2、接口测试的目的

    1> 尽早介入软件测试流程,降低修复成本。分层进行多轮测试可以过滤出更多问题。

    2> 接口测试的核心是持续集成。对接口进行自动化便于服务监控、回归测试及冒烟测试,保持平台稳定,提升用户体验。

    3、接口测试所需条件

    满足一下几点:1>  业务流:了解系统及内部各个组件之间的业务逻辑交互。

                              2> 数据流:了解接口的I/O(input/output:输入/输出)。

                              3> 协议:包括HTTP协议、TCP/IP协议。

                              4> 常用工具:jmeter、soapUI、postman、YApi等。

                              5> 数据库:增删改查(接口GET、POST、PUT等都是对数据的增删改查)。

                              6> 接口文档:一般是开发提供。

    4、接口测试的流程图

        

    5、接口自动化测试

    5.1、如何开展

    1> 调试单个接口,保证单个接口的正确和通畅。

    2> 明确数据流,业务流。

    3> 将N个接口测试脚本串起来,执行即可。

    注意,别想太多太复杂,先把最基础最简单的做起来,就成功一大半了。定时任务、自动化测试报告、自动发邮件钉钉等功能,这些都是不断累积优化的过程。接口自动化测试落地,才是我们首先需要考虑的!

    5.2、开展之前需要知道

    1> 被测对象包含几个页面?

    2> 每个页面涉及几个接口?

    3> 分别在哪一步调用?

    4> 每个接口包含哪些字段?

    5> 各个字段对应数据库哪张表?

    6> 每个表中各个字段是什么意思?

    7> 各个接口对表产生了怎样的操作?

     5.3、接口测试用例编写

    通常情况下主要测试最外层的两类接口:数据进入系统接口(调用外部系统的参数为本系统使用)和数据流出系统接口(验证系统处理后的数据是否正常)。
    接口用例分为单接口用例和场景用例两种。单接口用例从单个接口的功能和参数出发,每个参数都是一个交互点,结合业务,通过不同的参数组合来编写用例。场景用例以用户实际场景,通过多个接口的连续调用来模拟业务流程。一般来说,由于接口的主要使用对象为前端或其他模块的开发人员,接口测试应以业务场景为主。
    接口测用例一般应包括编号、模块、用例标题、预置条件(数据准备)、步骤(请求方法、接口地址、请求数据、期望响应)等。以下为一种接口测用例模板。

    接口测试用例模板
    编号 模块 用例标题 请求方法 接口地址 请求数据 数据准备SQL 期望响应
    001 用户模块 新用户注册 POST /api/user/reg/

    {
    "name": "张三",
    "password": "123456"
    }

    DELETE FROM user WHERE name="张三";

    {
      "code": "100000",
      "msg": "成功",
      "data": {
        "name": "张三",
        "password": "e10adc3949ba59abbe56e057f20f883e"
      }
    }

    002 用户模块 新用户注册并登录 POST /api/user/reg/ {
    "name": "张三",
    "password": "123456"
    }
    DELETE FROM user WHERE name="张三"; {
      "code": "100000",
      "msg": "成功",
      "data": {
        "name": "张三",
        "password": "e10adc3949ba59abbe56e057f20f883e"
      }
    }
    POST

    /api/user/login/

    name=张三&password=123456

     

    <h1>登录成功</h1>

    001和002分别展示了一条单接口用例和接口常用用例,这里使用了不同的书写格式来表达JSON和传统表单URL编码格式,也可以单独增加一列来声明接口数据类型。也可以添加用例优先级、数据清理SQL、实际响应、用例执行状态等信息。

    5.4、接口用例设计

    接口用例设计应确保对变动代码达到一定的覆盖率(比如分支覆盖率100%),对于专职的服务端测试人员来说,接口测试是介于白盒和黑盒之间的灰盒测试。在服务端提测后,通过在Git上Changes和Review代码来明确代码的业务逻辑,对相应代码逻辑设计响应的用例以达到指定覆盖率。
    对服务端提测前或纯黑盒的接口用例来说,可以参考以下几点。
    1> 首先应核对接口功能是否覆盖了需求中所有的功能点和场景。
    2> 由于请求接口必须使用指定的参数和规定的格式,接口文档是接口测试的必要条件,如果没有,需要跟相应的开发沟通了解接口请求方式,参数,格式,鉴权方式等必要信息。
    3> 接口测试用例应至少覆盖所有的响应结果。
    4> 注意接口的字段,返回值类型是否与前端约定的一致。
    5> 注意边界值及负数的验证。
    6> 注意接口重复请求、并发请求及数据量较多的请求。
    7> 注意用户场景(多接口联动)的验证。

     

     

     

    说明:本文用于对龙腾培训所学总结,用于自己记录回顾使用。

    参考文档1:https://www.zhihu.com/question/384727359

     

  • 相关阅读:
    Qt共享内存实现进程间通信(QSharedMemory)
    Qt5.5制作简单的屏幕截图程序
    006--C++动态内存(简介)
    005--C++字符
    004--C++11的初始化方式
    003--sizeof的使用
    002--C++程序的创建
    001--基础知识准备
    Qt5.5连接MySQL
    vue-cli中如何创建并引入自定义组件
  • 原文地址:https://www.cnblogs.com/guobaozhu/p/14151602.html
Copyright © 2011-2022 走看看