• 如何进行接口测试?


    一、接口组成

    接口说明、请求地址、请求方法(get/post)、请求参数(参数类型、参数说明)、返回参数说明

    服务器是先接受header信息进行判断该请求是否有权限请求,判断有权限后,才会接受请求地址和入参。

    二、为什么要做接口测试

    1、可以发现很多在页面上操作发现不了的问题

    2、检查系统的异常处理能力

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

    4、前后端分离,接口测好了,后端就不用再调整了,前端随便调整

    三、如何进行接口测试

    根据接口文档,提取测试点,设计接口测试用例:

    分别从「业务功能、业务规则、参数验证、异常验证、性能、安全性及幂等性」等方面提取测试点:

    业务功能:通过性验证、参数组合对应不同的业务

    业务规则、安全性、兼容性、参数验证:

    1、绕过参数验证:比如订单金额不可以修改传参生效

    2、绕过身份授权:比如一些功能需要对应的身份、角色才可操作

    3、参数是否加密

    4、密码是否安全

    5、兼容性:比如只在指定端开放接口

    6、是否符合业务条件

    ...

    异常验证:不按照接口要求输入参数,来验证接口对异常情况的校验,主要有三种:「必传非必传、参数类型、入参长度」

    性能:响应时间、出错率

    幂等性:接口幂等性就是用户对同一接口发起了一次或多次请求之后,对数据的影响是不变的,不会因为多次请求而产生不同的结果。

    1、前端重复提交:例如订单接口,用户连续多次点击下单操作,导致后端收到多条请求,同一个订单可能会多次创建。

    2、接口超时重试:例如支付接口,当调第三方接口时,可能由于网络等原因导致调用失败而多次调用,出现多次扣款的情况。

    3、消息重复消费:例如MQ消息中间件在生产端和消费端都有重试机制,也就是说同一消息可能被重复消费的问题。

    四、接口用例覆盖率

    1、业务功能覆盖是否完整

    2、业务规则覆盖是否完全

    3、参数验证是否达到要求(边界、业务规则、安全性)

    4、异常场景覆盖是否完整

  • 相关阅读:
    QGIS编译(跨平台编译)之四十一:Protobuf编译(Windows、Linux、MacOS环境下编译)
    RK3568-buildroot添加用户应用程序
    深度思考线程池面经之四:使用线程池的各种特性
    ceres 库引用错误处理
    人工智能学习:载入MNIST数据集(1)
    Python动态建模(2)
    2024信息系统、信号处理与通信技术国际会议(ICISPCT2024)
    如何 dump JVM 堆快照 用来分析
    Springboot文件管理 -- 实现上传下载显示删除等接口详细解析 附代码(全)
    Vue3响应系统的实现(二)
  • 原文地址:https://blog.csdn.net/qq_26409411/article/details/139023744